Hướng dẫn cài đặt CSF Firewall trên DirectAdmin

Thứ Bảy, 7/8/2023, 10:13:44 PM
Tìm hiểu cách cài đặt CSF Firewall, một công cụ bảo mật phổ biến, trên máy chủ Linux và DirectAdmin để tăng cường bảo mật và bảo vệ chống truy cập trái phép.

CSF (ConfigServer Security & Firewall) là một công cụ tường lửa và bảo mật phổ biến được sử dụng trên các máy chủ Linux. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt CSF Firewall trên DirectAdmin để bảo vệ máy chủ của bạn. Hãy làm theo các bước sau:

Lưu ý: Vui lòng đảm bảo rằng bạn đã đăng nhập vào máy chủ DirectAdmin với quyền root hoặc quyền sudo.

Xem bài viết hướng dẫn đăng nhập VPS bằng SSH.

Bước 1: Stop và vô hiệu hóa tường lửa FirewallD

FirewallD là một công cụ tường lửa dòng lệnh nhẹ và phổ biến trên hệ điều hành Linux. Nó được thiết kế để quản lý các quy tắc tường lửa và cấu hình một cách dễ dàng và linh hoạt. FirewallD cung cấp các tính năng như quản lý các khu vực (zones), mở cổng (ports), quản lý dịch vụ (services) và nhiều cấu hình tường lửa nâng cao khác.

Trước khi cài đặt CSF, chúng ta sẽ tắt và vô hiệu hóa vĩnh viễn dịch vụ tường lửa FirewallD hiện có trên máy chủ Linux để tránh xung đột khi cài đặt CSF firewall.

Tắt FirewallD cho phiên (session) hiện tại:

systemctl stop firewalld

Vô hiệu hóa FirewallD:

systemctl disable firewalld

Xác nhận FirewallD đã được vô hiệu hóa:

systemctl status firewalld

Bước này đảm bảo rằng tường lửa mặc định (trong trường hợp này là  FirewallD) đã được tắt và vô hiệu hóa.

Bước 2: Cài đặt CSF

Trong phần này, chúng ta sẽ tìm hiểu cách cài đặt CSF Firewall theo hai cách: cài đặt tự động và cài đặt thủ công.

Cách 1: Cài đặt tự động CSF/LFD

Nếu bạn muốn sử dụng kịch bản tự động để cài đặt CSF/LFD trên DirectAdmin, hãy làm theo các bước sau:

cd ~
wget -O csf-bfm-install.sh https://raw.githubusercontent.com/poralix/directadmin-bfm-csf/master/install.sh
chmod 700 csf-bfm-install.sh
./csf-bfm-install.sh

Kịch bản này sẽ tự động cài đặt CSF và thiết lập tích hợp giữa BFM và CSF/LFD trên máy chủ DirectAdmin của bạn. Tuy nhiên, kịch bản cài đặt CSF firewall thủ công sau đây là mới cách được nhà phát hành CSF firewall là Way to the Web Limited khuyến cáo sử dụng và được đưa vào file hướng dẫn cài đặt gốc (Tiếng Anh) của CSF.

https://download.configserver.com/csf/install.txt

Cách 2: Cài đặt thủ công CSF/LFD

Để cài đặt CSF/LFD và BFM thủ công khá đơn giản, bạn chỉ cần lần lượt chạy các lệnh bên dưới theo thứ tự.

Di chuyển đến thư mục /usr/src:

cd /usr/src

Xóa file csf.tgz nếu tồn tại:

rm -fv csf.tgz

Tải xuống gói cài đặt CSF:

wget https://download.configserver.com/csf.tgz

Giải nén gói cài đặt:

tar -xzf csf.tgz

Di chuyển vào thư mục csf:

cd csf

Chạy script cài đặt:

sh install.sh

Quá trình này sẽ tải xuống gói cài đặt CSF, giải nén nó và chạy script cài đặt.

Cài đặt CSF Firewall trên DirectAdmin
Cài đặt CSF Firewall trên DirectAdmin

Bước 3: Kiểm tra CSF

Sau khi cài đặt CSF, chúng ta sẽ kiểm tra xem tất cả các tính năng của CSF có hoạt động đúng không, bao gồm cả việc kiểm tra tính khả dụng của module iptables. Sử dụng lệnh sau:

perl /usr/local/csf/bin/csftest.pl

Kết quả kiểm tra sẽ được hiển thị và nó sẽ cho biết CSF có hoạt động chính xác trên máy chủ của bạn hay không. Đừng lo lắng nếu bạn không thể chạy tất cả các tính năng, miễn là script không báo lỗi FATAL.

kiểm tra tính khả dụng của module iptables
kiểm tra tính khả dụng của module iptables

Bạn không nên chạy bất kỳ script cấu hình tường lửa iptables nào khác. Ví dụ, nếu bạn đã sử dụng APF+BFD trước đó, bạn có thể gỡ bỏ sự kết hợp đó (bạn cần làm điều này nếu đã cài đặt chúng, nếu không chúng sẽ xung đột):

sh /usr/local/csf/bin/remove_apf_bfd.sh

Cài đặt CSF cho DirectAdmin đã được thiết lập sẵn để hoạt động trên các máy chủ đó với tất cả các cổng tiêu chuẩn mở. CSF tự động cấu hình cổng SSH của bạn khi nó đang chạy trên một cổng không tiêu chuẩn. Ngoài ra, CSF tự động thêm địa chỉ IP đã kết nối của bạn vào danh sách trắng (white list) trong cài đặt.

Đến đây đã gần như hoàn tất phần cài đặt CSF firewall cho DirectAdmin. Bạn có thể cấu hình CSF và LFD bằng cách đọc tài liệu và tệp cấu hình trong /etc/csf/csf.conf/etc/csf/readme.txt trực tiếp hoặc thông qua Giao diện người dùng CSF. Xem phần hướng dẫn này ở bước tiếp theo bên dưới.

**Lưu ý: Bạn nên đảm bảo rằng dịch vụ ghi nhật ký kernel (klogd) đã được kích hoạt. Thông thường, các máy chủ VPS chạy RedHat/CentOS v5 có dịch vụ này đã bị tắt và bạn nên kiểm tra tệp /etc/init.d/syslog và đảm bảo rằng các dòng klogd không bị chú thích. Nếu bạn thay đổi tệp, hãy nhớ khởi động lại syslog. Xem tệp csf.conf và readme.txt để biết thêm thông tin.

/etc/csf/csf.conf

/etc/csf/readme.txt

Bước 4: Cấu hình CSF

CSF sử dụng tệp cấu hình `/etc/csf/csf.conf` để quản lý các tùy chọn tường lửa. Bạn có thể sử dụng trình soạn thảo văn bản để chỉnh sửa tệp cấu hình này theo nhu cầu của bạn:

nano /etc/csf/csf.conf

Hãy đảm bảo bạn đã xem xét và cấu hình các tùy chọn tường lửa như TCP_IN, TCP_OUT, UDP_IN và UDP_OUT để phù hợp với yêu cầu bảo mật của máy chủ.

Tắt TESTING Mode

Mặc định sau khi cài đặt CSF, nó được thiết lập để chạy ở chế độ Testing Mode (chế độ kiểm tra). Trong chế độ này, CSF không chặn thực tế bất kỳ kết nối nào, mà chỉ ghi lại các quyết định mà nó sẽ thực hiện dựa trên cấu hình của bạn. Điều này cho phép bạn kiểm tra các quy tắc tường lửa mới mà không lo lắng về việc bị chặn truy cập.

Tuy nhiên, khi bạn đã kiểm tra và chắc chắn rằng cấu hình của CSF hoạt động đúng, bạn có thể tắt chế độ Testing Mode để CSF thực hiện thực tế các quyết định tường lửa.

Bằng cách sửa đổi tệp cấu hình csf.conf và đổi giá trị của TESTING từ "1" (chế độ Testing) thành "0" (chế độ thực tế), bạn cho phép CSF chặn và cho phép kết nối dựa trên cấu hình đã thiết lập. Sau khi thay đổi và lưu tệp cấu hình, bạn cần khởi động lại CSF để áp dụng các thay đổi mới.

Lưu ý rằng việc tắt chế độ Testing Mode đồng nghĩa với việc CSF sẽ chặn và cho phép kết nối dựa trên cấu hình, vì vậy hãy đảm bảo rằng bạn đã kiểm tra và cấu hình đúng các quy tắc tường lửa trước khi tắt chế độ Testing Mode.

Mở tệp cấu hình csf.conf bằng trình chỉnh sửa văn bản, ví dụ:

vi /etc/csf/csf.conf

Tìm đến dòng TESTING = "1" và thay "1" bằng "0". Bạn có thể sử dụng các phím mũi tên để di chuyển trong trình chỉnh sửa và nhấn phím "i" để chuyển sang chế độ chỉnh sửa.

Sau khi chỉnh sửa, nhấn phím "Esc" để thoát chế độ chỉnh sửa và sau đó nhập ":wq" để lưu tệp và thoát khỏi trình chỉnh sửa.

Khởi động lại CSF để áp dụng cấu hình mới:

service csf restart

Các file cầu hình cơ bản của CSF firewall

Các file cấu hình và quản lý CSF đều được đặt trong thư mục /etc/csf/. Nếu có chỉnh sửa gì trong các file này thì cần reload lại CSF để áp dụng.

  • csf.conf: file cấu hình chính để quản lý CSF.
  • csf.allow: Danh sách các địa chỉ IP cho phép đi qua Firewall.
  • csf.deny: Danh sách các địa chỉ IP bị chặn không cho đi qua Firewall.
  • csf.ignore: Danh sách các địa chỉ IP cho phép qua firewall và không bị block nếu có vấn đề.
  • csf.*ignore: Danh sách user, IP được ignore.

Bước 5: Khởi động lại CSF

Sau khi đã cấu hình xong, khởi động lại CSF để áp dụng các thay đổi bằng lệnh sau:

csf -ra

Hoàn tất cài đặt

Khi quá trình khởi động lại CSF hoàn tất, CSF Firewall sẽ được cài đặt và sẵn sàng bảo vệ máy chủ của bạn. Bạn có thể sử dụng giao diện DirectAdmin để quản lý và cấu hình CSF theo nhu cầu của bạn.

Xong! Bạn đã thành công cài đặt CSF Firewall trên DirectAdmin. CSF sẽ cung cấp cho bạn một lớp bảo mật bổ sung và giúp bảo vệ máy chủ của bạn khỏi các mối đe dọa bên ngoài.

sử dụng giao diện DirectAdmin để quản lý và cấu hình CSF theo nhu cầu
Sử dụng giao diện DirectAdmin để quản lý và cấu hình CSF theo nhu cầu

 

Xem thêm các bài viết hướng dẫn liên quan CSF Firewall.

[TIPS] Các mô-đun Perl cần thiết cho CSF

Trong khi hầu hết các mô-đun đã được cài đặt trên phiên bản Perl tiêu chuẩn, có một số mô-đun sau có thể cần được cài đặt thủ công:

Trên các hệ thống dựa trên RPM:

yum install perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch perl-GDGraph

Trên các hệ thống dựa trên APT:

apt-get install libwww-perl liblwp-protocol-https-perl libgd-graph-perl

Sử dụng cpan:

perl -MCPAN -eshell
cpan> install LWP LWP::Protocol::https GD::Graph

[TIPS] Chống UDP Flood Port với CSF Firewall

Để cấu hình CSF Firewall để chống các cuộc tấn công UDP Flood vào cổng cụ thể, bạn có thể sử dụng tùy chọn Port Flood Protection. Tùy chọn này giới hạn số lượng kết nối mỗi khoảng thời gian mà các kết nối mới có thể được tạo tới các cổng cụ thể.

Lưu ý rằng tính năng này chỉ hoạt động trên các máy chủ có module iptables ipt_recent được tải. Điều này thường áp dụng cho các kernel monolithic. Các bạn Quản trị viên máy chủ VPS nên hỏi nhà cung cấp dịch vụ VPS xem module iptables có được cài đặt sẵn hay chưa để chủ động trong việc sử dựng CSF firewall trong việc chống flood port.

Mặc định, ipt_recent chỉ theo dõi 100 địa chỉ IP gần đây nhất. Các địa chỉ IP đã được theo dõi có thể được xem trong thư mục /proc/net/ipt_recent/* với số cổng là tên tệp.

Cú pháp cho cài đặt PORTFLOOD

PORTFLOOD là một danh sách phân cách bằng dấu phẩy gồm:

port;protocol;hit count*;interval seconds

Ví dụ, cài đặt PORTFLOOD = "22;tcp;5;300,80;tcp;20;5" có nghĩa là:

  1. Nếu có hơn 5 kết nối tới cổng tcp 22 trong 300 giây, hãy chặn địa chỉ IP đó khỏi cổng 22 ít nhất trong 300 giây sau khi gói tin cuối cùng được nhìn thấy, nghĩa là phải có một khoảng thời gian "yên lặng" là 300 giây trước khi khóa được gỡ bỏ.
  2. Nếu có hơn 20 kết nối tới cổng tcp 80 trong 5 giây, hãy chặn địa chỉ IP đó khỏi cổng 80 ít nhất trong 5 giây sau khi gói tin cuối cùng được nhìn thấy, nghĩa là phải có một khoảng thời gian "yên lặng" là 5 giây trước khi khóa được gỡ bỏ.

Thông tin chi tiết về module ipt_recent có thể được tìm thấy trong trang man iptables và tại http://snowman.net/projects/ipt_recent/

**Lưu ý: Các địa chỉ IP bị chặn không xuất hiện trong bất kỳ chuỗi iptables nào khi sử dụng module này. Bạn phải thao tác trên các tệp /proc/net/ipt_recent/* theo tài liệu của module để xem và gỡ bỏ các địa chỉ IP đang bị chặn nếu các khóa chưa hết hạn.

Khởi động lại csf sẽ đặt lại các bảng ipt_recent và gỡ bỏ tất cả các khóa của nó.

Ngoài ra, các bạn cũng cần lưu ý về một số hạn chế khi sử dụng ipt_recent là cần giữ số lượng hit dưới 20.

  1. Mặc định chỉ theo dõi 100 địa chỉ mỗi bảng (chúng tôi cố gắng tăng giới hạn này lên 1000 thông qua modprobe).
  2. Mặc định chỉ đếm 20 gói tin cho mỗi địa chỉ được ghi nhớ.
0/5 - (0 bình chọn)

Xin chào, mình là Hoàng Văn Bảy, còn được biết đến với biệt hiệu HoangBaydev. Mình đam mê công nghệ từ bé và hiện may mắn là một phần của tập thể team phát triển ứng dụng di động tại công ty Gofiber. Tại đây mình đã có nhiều cơ hội để học hỏi và thể hiện sự sáng tạo và đóng góp không nhỏ vào việc xây dựng các ứng dụng di động chất lượng cao của công ty. Ngoài công việc chính như là một developer thì mình cũng là một người có đam mê trong việc chụp ảnh dạo. Mình đặc biệt có một gu thẩm mỹ khá "lạ" và theo đuổi sáng tạo trong việc thể hiện các khung cảnh đẹp và tạo nên những tác phẩm nghệ thuật số ấn tượng nhất có thể. Hãy kết nối với mình trao đổi thêm để cùng tiến bộ nhé. Facebook của mình là HoangBaydev hiện đang có hơn 100K lượt follow, đây cũng là nơi mình chia sẻ những tấm ảnh tuyệt đẹp và những câu chuyện thú vị về cuộc sống và công việc của mình tại Gofiber.

Có thể bạn quan tâm

Hệ thống VPS Gofiber đặt tại Singapore: Hiệu suất ưu việt, đẳng cấp toàn cầu

Hệ thống VPS Gofiber đặt tại Singapore: Hiệu suất ưu việt, đẳng cấp toàn cầu

Hệ thống VPS Gofiber đặt tại Singapore mang đến hiệu suất vượt trội với công nghệ tiên tiến, đảm bảo băng thông không giới hạn và độ trễ thấp. Đây là giải pháp lý tưởng cho các doanh nghiệp muốn tối ưu hóa hiệu quả toàn cầu.

Gofiber ra mắt linh vật Gofi Bear - Người bạn đồng hành thân thiện và mạnh mẽ 

Gofiber ra mắt linh vật Gofi Bear - Người bạn đồng hành thân thiện và mạnh mẽ 

Gofiber chính thức ra mắt linh vật Gofi Bear, biểu tượng của sự thân thiện và mạnh mẽ. Gofi Bear không chỉ là người bạn đồng hành đáng yêu mà còn truyền tải tinh thần bền bỉ của thương hiệu.

 CVE là gì? Tầm quan trọng của CVE trong việc chống lại Zero-day

 CVE là gì? Tầm quan trọng của CVE trong việc chống lại Zero-day

CVE là gì? CVE là từ viết tắt của Common Vulnerabilities and Exposures - hệ thống nhận diện va theo dõi các lỗ hổng bảo mật trong phần mềm và hệ thống máy tính. Cùng tìm hiểu chi tiết tại đây!

GPT-4o là gì? Tìm hiểu sức mạnh vượt trội của GPT-4o

GPT-4o là gì? Tìm hiểu sức mạnh vượt trội của GPT-4o

Sự ra đời của GPT 4o đã giúp người dùng tối ưu hóa lượng lớn công việc. Vậy, GPT 4o là gì? Hãy cùng Gofiber tìm hiểu qua bài viết được chia sẻ tại đây!