Cách Cài Đặt, Cấu Hình CSF Firewall Chống DDoS, Quản Lý IP & Gỡ Bỏ
CSF firewall là gì đang là thắc mắc chung của nhiều quản trị viên khi vừa khởi tạo máy chủ ảo và đối mặt ngay với hàng ngàn đợt quét port tự động cùng các cuộc tấn công dò mật khẩu SSH mỗi ngày. Việc để lộ máy chủ mà không có hàng rào phòng […]
CSF firewall là gì đang là thắc mắc chung của nhiều quản trị viên khi vừa khởi tạo máy chủ ảo và đối mặt ngay với hàng ngàn đợt quét port tự động cùng các cuộc tấn công dò mật khẩu SSH mỗi ngày. Việc để lộ máy chủ mà không có hàng rào phòng ngự tương đương với việc mở toang cửa nhà cho kẻ xấu xâm nhập trái phép. Để giải quyết triệt để vấn đề này, dịch vụ máy chủ ảo tại ThueVPSGiaRe.vn luôn cung cấp toàn quyền quản trị cao nhất, cho phép bạn tự do thiết lập ConfigServer Security & Firewall (CSF) để tạo dựng lá chắn vững chắc cho hệ thống
1. CSF Firewall Là Gì? Cơ Chế Hoạt Động Của Stateful Packet Inspection
CSF (ConfigServer Security & Firewall) là bộ phần mềm tường lửa kiểm tra gói tin trạng thái (SPI) mã nguồn mở miễn phí dành cho các bản phân phối Linux, hoạt động trực tiếp dựa trên nền tảng Iptables và Iptables-restore. CSF tích hợp sẵn tiến trình Login Failure Daemon (LFD) giúp tự động phát hiện xâm nhập, khóa các đợt quét cổng và ngăn chặn brute force hiệu quả.

Để hiểu rõ nguyên lý hoạt động của công cụ này, chúng ta cần nhìn lại khái niệm nền tảng firewall là gì trong môi trường mạng. Tường lửa truyền thống thường chỉ lọc gói tin dựa trên địa chỉ nguồn hoặc đích một cách riêng lẻ.
Trong khi đó, cơ chế Stateful Packet Inspection (SPI) của CSF giám sát toàn bộ ngữ cảnh kết nối mạng từ lúc bắt đầu bắt tay (handshake), truyền tải dữ liệu cho đến khi ngắt kết nối. Bất kỳ gói tin bất thường nào không nằm trong chuỗi trạng thái hợp lệ sẽ bị drop ngay lập tức.
LFD (Login Failure Daemon) là gì? Trái tim phát hiện xâm nhập của CSF
Nếu CSF đóng vai trò là khung xương thiết lập các luật chặn và lọc luồng mạng của Iptables, thì LFD chính là bộ não phản ứng nhanh chạy ngầm liên tục dưới dạng daemon service. LFD theo dõi các tệp nhật ký hệ thống (log files) theo thời gian thực để nhận biết hành vi đăng nhập thất bại liên tiếp vào các cổng dịch vụ như SSH, FTP, SMTP, IMAP hay POP3.
Khi phát hiện một địa chỉ IP vượt quá ngưỡng cho phép thử mật khẩu, LFD sẽ lập tức gửi lệnh sang CSF để đưa IP đó vào danh sách đen tạm thời hoặc vĩnh viễn. Nhờ tính năng tự động này, quản trị viên không cần phải liên tục thực hiện các thao tác thủ công phức tạp nhằm kiểm tra tình trạng VPS bị scan pass xâm nhập mà vẫn yên tâm hệ thống đã có bảo vệ tự động 24/7.
So sánh CSF Firewall với Firewalld và Iptables truyền thống
Người dùng Linux thường băn khoăn giữa việc dùng CSF hay giữ nguyên Firewalld mặc định hoặc tự gõ lệnh Iptables. Bảng so sánh dưới đây cung cấp góc nhìn thực tế cho công việc quản trị máy chủ:
| Tiêu chí so sánh | CSF Firewall | Firewalld | Iptables thuần |
|---|---|---|---|
| Cơ chế chống Brute Force | Có sẵn thông qua daemon LFD | Không có (phải cài thêm Fail2ban) | Không có (phải cấu hình rule rất dài) |
| Giao diện Web UI | Tích hợp cPanel, DirectAdmin, Webmin | Chỉ qua Cockpit cơ bản | Không có giao diện chính thức |
| Độ khó khi cấu hình | Đơn giản qua tệp csf.conf tập trung | Trung bình (theo khái niệm Zone) | Khá khó, dễ sai sót cú pháp chain |
| Chặn theo Quốc gia (GeoIP) | Hỗ trợ sẵn qua biến CC_DENY | Cần cài thêm ipset và script ngoài | Rất phức tạp khi cập nhật CIDR list |
2. Vì Sao Nên Cài Đặt CSF Firewall Cho Máy Chủ Linux?
Việc thiết lập tường lửa vững chắc là mắt xích then chốt trong quy trình cách bảo mật VPS ngay từ ngày đầu đưa máy chủ vào sử dụng. CSF không chỉ đơn thuần là bộ lọc kết nối mạng mà còn sở hữu nhiều tính năng vượt trội được tinh chỉnh riêng cho máy chủ web:
-
- Tự động ngăn chặn tấn công dò mật khẩu: LFD lập tức ghi nhận mọi sai sót xác thực trên các cổng phổ biến như SSH, Webmail, cPanel, FTP và khóa IP kẻ tấn công sau số lần vượt ngưỡng định sẵn.
-
- Giảm thiểu các cuộc tấn công từ chối dịch vụ quy mô nhỏ: Mặc dù không thể thay thế cho hệ thống hạ tầng chống tải lớn chuyên dụng, CSF vẫn có các module kiểm soát kết nối đồng thời (Connection Tracking) và SYN Flood Protection nhằm giảm thiểu thiệt hại khi bị DDoS dạng flood mạng đơn giản.
-
- Kiểm soát cổng linh hoạt: Quản trị viên nhanh chóng quy định những cổng nào được phép đón traffic vào (TCP_IN) và cổng nào cho phép máy chủ gọi ra ngoài (TCP_OUT).
-
- Chế độ cảnh báo qua Email: CSF có thể gửi thông báo tức thời cho bạn mỗi khi có ai đó dùng lệnh su chuyển sang root, đăng nhập SSH thành công hoặc khi tải máy chủ (Load Average) tăng đột biến.
-
- Giao diện điều khiển trực quan: Nếu máy chủ sử dụng các bảng điều khiển phổ biến như DirectAdmin hay cPanel, CSF sẽ tích hợp trực tiếp một mục quản lý trên giao diện web giúp mở port hay gỡ ban IP chỉ bằng một cú nhấp chuột.
3. Điều Kiện Cần Chuẩn Bị Trước Khi Cài Đặt CSF Lên VPS
Trước khi bắt đầu các bước cài đặt, quản trị viên cần đảm bảo môi trường máy chủ đáp ứng đầy đủ các tiêu chuẩn kỹ thuật sau nhằm tránh phát sinh lỗi trong quá trình biên dịch rules:
- Tài khoản có đặc quyền quản trị cao nhất: Thao tác cài đặt can thiệp sâu vào kernel module và mạng Linux, do đó bạn cần hiểu rõ quyền root là gì và luôn đăng nhập máy chủ bằng user root hoặc tài khoản có quyền sudo đầy đủ.
- Cổng truy cập từ xa hoạt động ổn định: Kết nối vào máy chủ thông qua giao thức SSH và xác định chính xác số hiệu cổng SSH hiện tại (mặc định là 22 hoặc cổng đã đổi).
- Tắt bỏ các tường lửa mặc định xung đột: Linux không nên chạy song song hai dịch vụ tường lửa cùng quản lý Iptables. Hãy tắt Firewalld trên RHEL/CentOS/AlmaLinux hoặc UFW trên Ubuntu/Debian trước khi chạy cài đặt CSF.
Dưới đây là các lệnh tắt tường lửa mặc định tương ứng với từng hệ điều hành:
Đối với AlmaLinux, Rocky Linux, CentOS:
systemctl stop firewalld systemctl disable firewalld
Đối với Ubuntu, Debian:
ufw disable systemctl stop ufw systemctl disable ufw
4. Hướng Dẫn Từng Bước Cài Đặt CSF Firewall Trên Linux
Để triển khai thành công tường lửa CSF lên môi trường máy chủ ảo (VPS) hoặc Dedicated Server, bạn cần tiến hành theo các giai đoạn sau:
Bước 1: Xác định phiên bản hệ điều hành
Trước khi bắt đầu, hãy kiểm tra chính xác bản phân phối và phiên bản hệ điều hành Linux đang vận hành trên máy chủ nhằm đảm bảo tính tương thích của gói cài đặt.
Bước 2: Cài đặt các module phụ trợ
CSF cần các thư viện Perl để thực thi các tác vụ quản trị và kích hoạt đầy đủ các chức năng cốt lõi. Hãy cài đặt module hỗ trợ bằng câu lệnh:
yum install perl-libwww-perl
Bước 3: Tải mã nguồn cài đặt CSF
Di chuyển vào thư mục tạm /tmp và tiến hành tải gói cài đặt mới nhất trực tiếp từ máy chủ ConfigServer thông qua tiện ích wget:
cd /tmp
wget https://download.configserver.com/csf.tgz
Bước 4: Tiến hành giải nén và cài đặt
Giải nén tệp tin lưu trữ vừa tải về, chuyển hướng vào thư mục chứa mã nguồn và thực thi kịch bản cài đặt tự động:
cd /tmp
wget https://download.configserver.com/csf.tgz
tar -zxvf csf.tgz
cd csf
./install.sh
./install.sh, trình cài đặt sẽ tự động nhận diện nền tảng quản lý hiện hành của máy chủ để tích hợp module tương ứng vào giao diện quản trị.Bước 5: Tùy chỉnh thông số cấu hình cơ bản
Theo mặc định ban đầu, CSF sẽ tự động bảo vệ các dịch vụ thiết yếu như SSH, HTTP hay FTP và chặn các luồng kết nối trái phép. Tuy nhiên, bạn cần mở tệp cấu hình chính để điều chỉnh các cổng mạng theo nhu cầu thực tế:
nano /etc/csf/csf.conf
Tiến hành rà soát và thiết lập các tham số mở cổng TCP và UDP cho cả hai chiều Inbound (chiều vào) và Outbound (chiều ra):
# Allow incoming TCP ports
TCP_IN = “20,21,22,25,53,80,110,143,443,465,587,993,995”
# Allow outgoing TCP ports
TCP_OUT = “20,21,22,25,53,80,110,113,443”
# Allow incoming UDP ports
UDP_IN = “20,21,53”
# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = “20,21,53,113,123”
Sau khi hoàn tất cấu hình danh sách cổng, điều bắt buộc là phải tắt chế độ thử nghiệm (Testing Mode). Bạn tìm đến biến TESTING và chuyển giá trị từ "1" sang "0":
TESTING = "0"
Lưu lại thay đổi và đóng tệp cấu hình.
Bước 6: Khởi chạy và thiết lập tự động kích hoạt
Thực thi lệnh sau để bắt đầu khởi chạy tường lửa và áp dụng các thông số vừa thiết lập. CSF sẽ kiểm tra cú pháp; nếu phát sinh lỗi, hệ thống sẽ dừng lại và đưa ra thông báo cụ thể:
csf -s
Để đảm bảo tường lửa luôn tự động khởi động cùng hệ thống trong những lần reboot máy chủ, sử dụng kết hợp các lệnh:
chkconfig --level 235 csf on
service csf restart
5. Hướng Dẫn Cấu Hình CSF Firewall Hạn Chế Tấn Công DDoS
Các đợt tấn công từ chối dịch vụ phân tán (DDoS) thường nhắm vào việc làm cạn kiệt tài nguyên máy chủ qua các dạng phổ biến như SYN flood, ICMP flood, UDP flood hay HTTP flood. Để giảm thiểu rủi ro, bạn có thể áp dụng các bước tinh chỉnh sâu trong CSF.
Thiết lập các quy tắc phòng vệ trong csf.conf
Mở file /etc/csf/csf.conf và bổ sung hoặc sửa đổi các quy chuẩn giới hạn luồng kết nối và truy vấn đáng ngờ:
# Giới hạn số kết nối TCP từ một địa chỉ IP duy nhất
TCP_IN = "20,21,22,25,53,80,110,143,443"
TCP_OUT = "20,21,22,25,53,80,110,143,443"
CONNLIMIT = "tcp:20,30"
# Giới hạn số yêu cầu HTTP từ một địa chỉ IP duy nhất
LF_HTTP_REQ = "60"
# Chặn gói tin ICMP từ các địa chỉ IP đáng ngờ
ICMP_IN = "0"
ICMP_OUT = "0"
DROP_ICMP = "1"
Sử dụng các lệnh hỗ trợ kiểm soát nhanh
CSF cung cấp các cú pháp lệnh nhanh giúp quản trị viên phản ứng kịp thời trước các đợt tấn công:
csf -g: Hiển thị danh sách các địa chỉ IP hiện đang kết nối trực tiếp đến máy chủ của bạn.csf -r: Đặt lại giới hạn tối đa cho số kết nối từ một địa chỉ IP (đồng thời nạp lại các quy tắc tường lửa).csf -d: Tiến hành chặn ngay một địa chỉ IP nghi vấn đang có hành vi tấn công hệ thống.
Điều chỉnh các tham số thời gian chặn
Trong tệp tin csf.conf, bạn có thể thiết lập cơ chế thời gian để chuyển đổi từ hình thức chặn tạm thời sang xử lý triệt để:
DENY_TEMP_IP_LIMIT: Đặt số lần tối đa mà một địa chỉ IP có thể bị đưa vào danh sách chặn tạm thời trong một khoảng thời gian nhất định.LF_TRIGGER_PERM_BLOCK: Thiết lập ngưỡng thời gian để chuyển một IP bị chặn tạm thời thành chặn vĩnh viễn.LF_PERMBLOCK_TIME: Quy định tổng thời gian duy trì trạng thái chặn vĩnh viễn đối với địa chỉ IP vi phạm.
Kiểm tra và giám sát lưu lượng
Sau khi thiết lập hệ thống, việc theo dõi định kỳ là cần thiết để nhận diện sớm các biến động lưu lượng bất thường. Quản trị viên nên kết hợp thêm các công cụ phân tích gói tin mạng chuyên sâu như ngrep, tcpdump và Wireshark để nắm bắt toàn diện tình hình an ninh máy chủ.
6. Hướng Dẫn Cấu Hình Cho Phép (Allow) Hoặc Chặn (Deny) Địa Chỉ IP
Để quản lý quyền truy cập của từng địa chỉ IP riêng lẻ vào hệ thống máy chủ thông qua tệp cấu hình CSF, bạn thực hiện theo các bước sau:
Bước 1: Mở tệp tin cấu hình
Sử dụng trình soạn thảo văn bản như nano hoặc vi để truy cập vào tệp cấu hình tại đường dẫn:
nano /etc/csf/csf.conf
Bước 2: Cấu hình danh sách IP được phép truy cập (Whitelist)
Để mở quyền truy cập cho các địa chỉ IP xác định, bạn khai báo danh sách này tại tham số ALLOWED_IPS (các địa chỉ IP cách nhau bởi dấu phẩy):
ALLOWED_IPS = "192.168.1.1, 10.0.0.1"
Các địa chỉ có tên trong danh sách trên sẽ được hệ thống tiếp nhận yêu cầu truy cập hợp lệ.
Bước 3: Cấu hình danh sách IP bị cấm (Blacklist)
Để ngăn chặn triệt để luồng truy cập từ những IP xác định, hãy gán giá trị tại tham số DENY_IPS (phân tách nhau bởi dấu phẩy):
DENY_IPS = "192.168.1.2, 10.0.0.2"
Khi áp dụng, toàn bộ kết nối xuất phát từ các địa chỉ IP này sẽ bị hệ thống chặn hoàn toàn.
Bước 4: Nạp lại cấu hình
Để các thiết lập mới có hiệu lực ngay lập tức, tiến hành khởi động lại CSF Firewall bằng lệnh:
csf -r
- Quản lý theo dải mạng (Subnet/CIDR): Trường hợp không sử dụng IP tĩnh đơn lẻ, bạn có thể áp dụng ký tự gạch chéo (
/) để chỉ định dải mạng tương ứng, ví dụ:192.168.1.0/24. - Áp dụng Hostname: Nếu muốn dùng tên miền/hostname trong danh sách ALLOWED_IPS hoặc DENY_IPS, hệ thống cần được cài đặt Perl CPAN để hỗ trợ định dạng phân giải DNS (ví dụ:
domain.com). - Tách danh sách IP thành tệp riêng: Trong trường hợp danh sách địa chỉ cần cấp quyền quá dài, bạn có thể tạo một file riêng và trỏ đường dẫn tới file đó trong tệp cấu hình thông qua biến:
ALLOWED_IPS_FILE = "/path/to/allowed_ips.txt".
7. Hướng Dẫn Gỡ Bỏ Hoàn Toàn CSF Firewall Khỏi Hệ Thống
Khi có nhu cầu loại bỏ CSF Firewall để thay thế bằng giải pháp bảo mật khác hoặc đưa hệ thống về trạng thái ban đầu, bạn tiến hành tuần tự theo quy trình dưới đây:
Bước 1: Đăng nhập quyền quản trị
Đăng nhập vào phiên làm việc SSH của máy chủ với tài khoản root hoặc tài khoản có quyền hạn tương đương.
Bước 2: Vô hiệu hóa hoạt động của CSF
Tắt hoàn toàn hoạt động của tường lửa bằng câu lệnh:
csf -x
Bước 3: Xóa sạch các thư mục và tập tin của CSF
Tiến hành dọn dẹp các tập tin chương trình, cấu hình và lịch trình dịch vụ liên quan đến CSF và LFD trên hệ thống:
rm -rf /etc/csf /usr/sbin/csf /usr/sbin/lfd /etc/init.d/csf /etc/logrotate.d/csf /etc/cron.d/csf
Bước 4: Làm sạch các quy tắc Iptables
Xóa toàn bộ các rule và bảng chuỗi do CSF sinh ra trong quá trình hoạt động, đồng thời đặt lại các chính sách mặc định của Iptables về trạng thái ACCEPT:
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Bước 5: Kiểm tra và đánh giá lại hệ thống
Thực hiện kiểm tra tổng thể lại máy chủ nhằm đảm bảo các tệp tin và quy tắc của CSF đã được giải phóng hoàn toàn.
8. Hướng Dẫn Cài Đặt Và Sử Dụng CSF Firewall Trên cPanel
Các bước cài đặt CSF Firewall trên máy chủ cPanel
Để tích hợp CSF vào hệ sinh thái cPanel/WHM, quản trị viên sử dụng tài khoản Root để đăng nhập vào VPS hoặc Server thông qua SSH, sau đó thực hiện lần lượt các bước sau:
Bước 1: Tải về và chạy script cài đặt
Tiến hành tải gói nén từ máy chủ ConfigServer, giải nén và kích hoạt tệp cài đặt:
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Bước 2: Kiểm tra module iptables của hệ thống
Trước khi đưa tường lửa vào hoạt động chính thức, hãy chạy script kiểm tra tích hợp sẵn để xác nhận máy chủ đã tải đầy đủ các module iptables cần thiết:
perl /usr/local/csf/bin/csftest.pl
Bước 3: Tắt chế độ kiểm thử (Testing mode)
Khi mới cài đặt, CSF mặc định kích hoạt chế độ thử nghiệm để bảo vệ người quản trị không bị mất quyền truy cập nếu cấu hình sai. Bạn cần chuyển trạng thái này sang hoạt động thật bằng trình soạn thảo văn bản (ví dụ vi hoặc nano):
vi /etc/csf/csf.conf
Xác định dòng chứa thông số TESTING = "1" và sửa thành:
TESTING = "0"
Lưu lại nội dung và thoát khỏi trình soạn thảo.
Bước 4: Khởi động lại dịch vụ CSF
Áp dụng các thay đổi bằng câu lệnh khởi động lại:
/etc/init.d/csf restart
Ngay khi tiến trình hoàn tất, bạn đăng nhập vào giao diện quản trị WHM và tìm kiếm mục ConfigServer Security&Firewall nằm tại đường dẫn: WHM >> Plugins.
Cấu hình và khai thác các tính năng của CSF trực tiếp trên cPanel/WHM
Thiết lập địa chỉ email nhận thông báo cảnh báo bảo mật:
- Truy cập vào bảng điều khiển cPanel/WHM và chọn mục Basic cPanel & WHM Setup.
- Điều hướng đến phần Contact Information, nhập địa chỉ email bạn muốn nhận các bản tin cảnh báo từ hệ thống và bấm Save Changes để hoàn tất.
Quản lý kiểm soát địa chỉ IP (Khóa, Cho phép, Tra cứu):
Tại giao diện WHM, truy cập vào WHM >> ConfigServer Security&Firewall và thao tác tại các khu vực chức năng sau:
- Chặn truy cập một IP (Quick Deny): Nhập địa chỉ IP cần chặn vào ô nhập liệu nằm cạnh nút Quick Deny, sau đó nhấn nút Quick Deny để đưa IP đó vào danh sách cấm của tường lửa.
- Cho phép truy cập một IP (Quick Allow): Nhập IP cần cấp quyền vào ô cạnh nút Quick Allow và nhấn nút Quick Allow để đưa vào danh sách an toàn (Whitelist).
- Xem danh sách IP bị chặn: Nhấn chọn nút Firewall Deny IPs để mở toàn bộ danh sách các IP đang bị tường lửa khóa.
- Xem danh sách IP được cho phép: Nhấn chọn nút Firewall Allow IPs để kiểm tra các IP đã được cấp quyền truy cập.
- Tra cứu tình trạng của một địa chỉ IP: Nhập IP cần rà soát vào ô cạnh nút Search for IP rồi bấm nút Search for IP. Nếu IP đó đang nằm trong danh sách chặn, hệ thống sẽ trả về bảng thông tin chi tiết kèm nguyên nhân và thời gian bị chặn.
- Mở khóa cho địa chỉ IP: Tại giao diện kết quả tìm kiếm IP đang bị khóa, bạn chỉ cần nhấn trực tiếp vào biểu tượng ổ khóa để gỡ chặn cho IP đó.
Phương pháp khắc phục các sự cố thường gặp với CSF trên cPanel
Sự cố 1: Lỗi thực thi tiến trình phụ ENOENT
Hiện tượng: Khi mở WHM >> ConfigServer FireWall, màn hình xuất hiện thông báo: No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/configserver/csf.cgi): The subprocess exited with status 2 (ENOENT).
Cách xử lý: Máy chủ đang thiếu module JSON của Perl. Bạn chạy lệnh cài đặt bổ sung sau trên cửa sổ dòng lệnh:
/scripts/perlinstaller JSON::XS
Sự cố 2: Lỗi vượt quá giới hạn quy tắc numiptent trên VPS
Hiện tượng: Khi khởi động lại CSF/iptables, hệ thống dừng lại và hiển thị cảnh báo: The VPS iptables rule limit (numiptent) is too low (491/500) – stopping firewall to prevent iptables blocking all connections, at line xxx.
Cách xử lý: Giới hạn số lượng quy tắc iptables được cấp phát cho VPS đã gần đạt trần. Bạn cần gửi yêu cầu hỗ trợ đến bộ phận kỹ thuật của nhà cung cấp VPS để họ nâng thông số numiptent lên mức cao hơn.
Sự cố 3: Lỗi giao diện HTTP 500
Hiện tượng: Khi truy cập vào WHM >> ConfigServer FireWall, trang web trả về mã lỗi 500 Internal Server Error.
Cách xử lý:
- Kiểm tra chi tiết lỗi ghi nhận trong tệp nhật ký của cPanel bằng lệnh:
tail -f /usr/local/cpanel/logs/error_log - Thực hiện cập nhật phiên bản mới nhất của CSF để khắc phục các xung đột tập tin mã nguồn:
curl -s configserver.com/free/csupdate | perl
9. Hướng Dẫn Cấu Hình Nâng Cao CSF Firewall
Để tối ưu hóa bảo mật và giảm thiểu các rủi ro xâm nhập mạng, bạn cần chỉnh sửa chuyên sâu các tệp tin cấu hình, đặc biệt là quản lý các cổng mạng (Ports) và các thông số giám sát tự động trong tệp /etc/csf/csf.conf.
Cấu hình kiểm soát cổng mạng (Ports)
Nguyên tắc cốt lõi trong bảo mật máy chủ là chỉ mở các cổng phục vụ dịch vụ đang hoạt động thực tế và đóng toàn bộ các cổng không sử dụng.
Mặc định, CSF mở sẵn một nhóm các cổng mạng thông dụng như sau:
TCP_IN = “20,21,22,25,53,80,110,143,443,465,587,993,995”
TCP_OUT = “20,21,22,25,53,80,110,113,443”
UDP_IN = “20,21,53”
UDP_OUT = “20,21,53,113,123”
Bảng phân loại chi tiết chức năng của các cổng mặc định:
| Số cổng | Dịch vụ tương ứng và vai trò |
|---|---|
| Port 20 | Truyền dữ liệu FTP (FTP Data Transfer) |
| Port 21 | Điều khiển lệnh FTP (FTP Control) |
| Port 22 | Giao thức điều khiển máy chủ an toàn SSH (Secure Shell) |
| Port 25 | Giao thức truyền tải thư điện tử đơn giản (SMTP) |
| Port 53 | Hệ thống phân giải tên miền (DNS) |
| Port 80 | Giao thức truyền tải siêu văn bản tiêu chuẩn (HTTP) |
| Port 110 | Giao thức truy cập nhận thư điện tử phiên bản 3 (POP3) |
| Port 113 | Dịch vụ xác thực / Giao thức nhận diện danh tính (Authentication/Ident) |
| Port 123 | Giao thức đồng bộ thời gian mạng (NTP) |
| Port 143 | Giao thức truy cập hộp thư điện tử qua Internet (IMAP) |
| Port 443 | Giao thức truyền tải siêu văn bản mã hóa bảo mật (HTTPS) qua SSL/TLS |
| Port 465 | Thư mục Rendezvous URL cho SSM (Cisco) / SMTP qua giao thức mã hóa |
| Port 587 | Gửi thư điện tử qua cổng chuyển phát SMTP (Message Submission) |
| Port 993 | Giao thức truy cập thư Internet qua SSL (IMAPS) |
| Port 995 | Giao thức truy xuất thư điện tử phiên bản 3 qua TLS/SSL (POP3S) |
Cấu hình cổng theo từng mô hình dịch vụ cụ thể trên máy chủ:
Tùy theo vai trò của máy chủ, bạn chỉ nên giữ lại các cổng sau:
- Cấu hình bắt buộc trên tất cả máy chủ:
TCP_IN: 22, 53TCP_OUT: 22, 53, 80, 113, 443UDP_IN: 53UDP_OUT: 53, 113, 123 - Máy chủ chạy Web (Apache hoặc Nginx):
TCP_IN: 80, 443 (Lưu ý: Nếu website không dùng chứng chỉ SSL/HTTPS, bạn có thể loại bỏ cổng 443). - Máy chủ FTP Server:
TCP_IN: 20, 21TCP_OUT: 20, 21UDP_IN: 20, 21UDP_OUT: 20, 21 - Máy chủ Thư điện tử (Mail Server):
TCP_IN: 25, 110, 143, 587, 993, 995TCP_OUT: 25, 110 - Máy chủ Cơ sở dữ liệu MySQL (trường hợp cần kết nối từ xa):
TCP_IN: 3306TCP_OUT: 3306
TCP6_IN, TCP6_OUT, UDP6_IN và UDP6_OUT tương ứng như quy chuẩn của IPv4.Tùy chỉnh các thông số bảo vệ chuyên sâu khác
Bên cạnh quản lý cổng, tệp /etc/csf/csf.conf còn cung cấp nhiều biến cấu hình quan trọng nhằm chống tấn công và quản lý tài nguyên:
ICMP_IN: Cho phép hoặc từ chối gửi gói tin Ping (ICMP) đến máy chủ. Gán giá trị0nếu muốn từ chối mọi yêu cầu ping.ICMP_IN_LIMIT: Thiết lập ngưỡng giới hạn số lượng yêu cầu ping từ một địa chỉ IP duy nhất trong một chu kỳ thời gian. Thông thường nên giữ giá trị mặc định của hệ thống là1/s.DENY_IP_LIMIT: Giới hạn số lượng địa chỉ IP tối đa bị lưu giữ trong danh sách chặn vĩnh viễn của CSF. Khi danh sách vượt quá ngưỡng quy định, hệ thống sẽ tự động gỡ chặn cho các IP cũ nhất. Quản trị viên nên duy trì thông số này ở mức hợp lý nhằm đảm bảo hiệu suất hoạt động của máy chủ.DENY_TEMP_IP_LIMIT: Hoạt động tương tự nhưDENY_IP_LIMITnhưng áp dụng cho danh sách các IP bị chặn tạm thời.LF_DAEMON: Kích hoạt chức năng của tiến trình LFD để tự động phát hiện và xử lý các hành vi đăng nhập trái phép/không hợp lệ.PACKET_FILTER: Kích hoạt bộ lọc chuyên sâu để tự động loại bỏ các gói tin rác hoặc không hợp lệ.SYNFLOOD,SYNFLOOD_RATE,SYNFLOOD_BURST: Nhóm cấu hình kích hoạt cơ chế bảo vệ máy chủ trước các cuộc tấn công dạng SYN flood.CONNLIMIT: Thiết lập giới hạn số lượng kết nối liên tiếp đồng thời trên từng cổng xác định từ một địa chỉ IP.Ví dụ cú pháp:CONNLIMIT = "22;5;80;20"cho phép tối đa 5 kết nối liên tiếp vào cổng 22 (SSH) và 20 kết nối liên tiếp vào cổng 80 (HTTP).PORTFLOOD: Giới hạn số lượng kết nối mới đến một cổng trong một khoảng thời gian cụ thể.Ví dụ cú pháp:PORTFLOOD = "22;tcp;5;250"sẽ tự động khóa địa chỉ IP nếu IP đó tạo quá 5 kết nối giao thức TCP vào cổng 22 trong vòng 250 giây. Quy tắc chặn này sẽ tự động được gỡ bỏ sau 250 giây kể từ thời điểm gửi gói tin cuối cùng. Quản trị viên có thể khai báo nhiều cổng khác nhau bằng cách phân tách chúng bằng dấu phẩy.
Mặc định, các giá trị cấu hình ban đầu của CSF đã được tối ưu tương đối tốt để ngăn chặn các hành vi flood mạng, quét cổng (port scanning) hay dò tìm mật khẩu (brute force). Bạn có thể tham khảo trực tiếp các đoạn ghi chú chi tiết bên trong tệp /etc/csf/csf.conf để hiểu sâu hơn từng thông số.
Áp dụng cấu hình: Bất cứ khi nào thực hiện chỉnh sửa trong /etc/csf/csf.conf, bạn bắt buộc phải khởi động lại CSF để nạp lại toàn bộ quy tắc bằng lệnh:
csf -r
10. Tổng hợp các câu lệnh CSF thông dụng nhất cho Sysadmin
Trong công việc vận hành hàng ngày, bạn không cần phải mở file text để sửa thủ công mỗi khi cần chặn hay mở khóa một địa chỉ IP. CSF cung cấp sẵn bộ lệnh tắt rất nhanh:
| Lệnh thực thi | Mục đích sử dụng | Ví dụ cụ thể |
|---|---|---|
| csf -a [IP] [Lý do] | Thêm IP vào whitelist vĩnh viễn (csf.allow) | csf -a 14.162.15.20 IP Van Phong |
| csf -d [IP] [Lý do] | Chặn IP vĩnh viễn (csf.deny) | csf -d 192.0.2.1 Spam Bot |
| csf -dr [IP] | Xóa IP khỏi danh sách cấm (Gỡ ban) | csf -dr 192.0.2.1 |
| csf -tr [IP] | Xóa IP khỏi danh sách chặn tạm thời | csf -tr 192.0.2.1 |
| csf -g [IP] | Kiểm tra xem IP có đang bị Iptables chặn không | csf -g 192.0.2.1 |
| csf -r | Nạp lại toàn bộ cấu hình quy tắc tường lửa | csf -r |
| csf -x | Tắt hoàn toàn tường lửa CSF | csf -x |
| csf -e | Bật lại tường lửa CSF sau khi tắt | csf -e |
11. Cách xử lý sự cố khi vô tình bị CSF Firewall chặn IP truy cập
Tình huống xấu nhất xảy ra là bạn vô tình nhập sai mật khẩu SSH nhiều lần hoặc cấu hình port sai khiến chính địa chỉ IP của bạn bị CSF chặn đứng. Lúc này, mọi kết nối từ Terminal máy tính của bạn tới VPS đều sẽ báo lỗi Connection timed out.
Đừng hoảng loạn, hãy thực hiện xử lý qua 2 phương án khẩn cấp sau:
- Phương án 1 – Chuyển sang mạng khác để SSH: Bạn có thể bật 4G trên điện thoại và phát Wi-Fi cho máy tính nhằm đổi sang một địa chỉ IP Public mới hoàn toàn. Vì IP mới không nằm trong danh sách cấm, bạn sẽ SSH vào được bình thường và gõ lệnh
csf -dr [IP_bi_chan]để giải cứu cho mạng chính. - Phương án 2 – Sử dụng Web Console / VNC khẩn cấp: Đăng nhập vào trang quản trị dịch vụ máy chủ tại Fast Byte, mở tính năng VNC Console hoặc Web Terminal. Giao diện này kết nối trực tiếp vào màn hình ảo của phần cứng máy chủ mà không đi qua cổng mạng SSH, do đó không bao giờ bị tường lửa chặn. Tại đây bạn đăng nhập user root và gõ
csf -xđể hạ tạm tường lửa hoặccsf -dr [IP_cua_ban]để tiếp tục làm việc.
12. Câu hỏi thường gặp về CSF Firewall (FAQ)
1. Cài đặt CSF Firewall có làm tiêu tốn tài nguyên hay giảm tốc độ VPS không?
Hoàn toàn không đáng kể. CSF biên dịch các quy tắc trực tiếp thành bảng mã lọc gói tin của Iptables ở cấp độ kernel của Linux. LFD tiêu tốn lượng RAM rất nhỏ (thường dưới 30MB) và chỉ tiêu thụ CPU khi đọc log phân tích hành vi tấn công.
2. Tôi có thể cài đặt song song cả CSF và UFW trên cùng một máy chủ Ubuntu không?
Không nên. Cả CSF và UFW đều là công cụ quản lý cấu hình các chain Iptables. Việc kích hoạt đồng thời cả hai phần mềm sẽ gây ra hiện tượng ghi đè luật của nhau, dẫn đến xung đột routing và có thể làm tê liệt toàn bộ kết nối mạng.
3. CSF Firewall có đủ sức ngăn chặn các cuộc tấn công DDoS quy mô lớn không?
CSF chỉ giúp xử lý hiệu quả các đợt scan port, brute force và DoS/SYN Flood quy mô nhỏ. Khi gặp tấn công DDoS hạ tầng hàng chục Gbps làm tràn băng thông mạng trước khi tới máy chủ, bạn cần kết hợp thêm các giải pháp lọc lưu lượng ở tầng CDN hoặc tường lửa biên phần cứng.
4. Nếu không muốn dùng nữa, làm thế nào để gỡ bỏ sạch sẽ CSF khỏi máy chủ?
Nhà phát triển cung cấp sẵn script gỡ cài đặt. Bạn chỉ cần chạy các lệnh sau trong terminal: cd /etc/csf && sh uninstall.sh. Tường lửa sẽ được xóa sạch và khôi phục các chuỗi bảng mạng mặc định của hệ điều hành.
5. CSF có hỗ trợ bảo vệ cho các địa chỉ IPv6 không?
Có. CSF hỗ trợ đầy đủ IPv6 thông qua ip6tables. Bạn chỉ cần kiểm tra biến IPV6 = "1" trong tệp tin csf.conf và khai báo các danh sách cổng IPv6 tương ứng tại các tham số TCP6_IN và TCP6_OUT.
Tổng kết
Hiểu rõ csf firewall là gì cùng cách triển khai chính xác sẽ giúp bạn hoàn toàn làm chủ hệ thống phòng thủ cho máy chủ Linux của mình. Bằng việc kết hợp cơ chế kiểm tra gói tin trạng thái của CSF và khả năng phân tích nhật ký thông minh của LFD, máy chủ ảo sẽ được bảo vệ chặt chẽ trước các nguy cơ xâm nhập trái phép mà vẫn giữ được độ linh hoạt tối đa cho các ứng dụng web.
Khởi tạo VPS Linux cấu hình cao với chi phí tối ưu
Nhận toàn quyền quản trị root, ổ cứng NVMe U.2 cực nhanh và băng thông không giới hạn để tự tin triển khai mọi dự án kỹ thuật.
Tuyên bố miễn trừ trách nhiệm: Hướng dẫn cài đặt và cấu hình CSF Firewall trong bài viết được biên soạn dựa trên tài liệu kỹ thuật chuẩn của nhà sản xuất và kinh nghiệm vận hành thực tế. Tùy thuộc vào bản phân phối hệ điều hành, phiên bản kernel hoặc mô hình mạng cục bộ, các tham số có thể cần tinh chỉnh tương ứng. Quản trị viên nên tạo snapshot sao lưu trước khi thực hiện nhằm tránh rủi ro mất quyền truy cập máy chủ từ xa.





