1. Khái niệm CSF:
CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính bảo mật cho server (VPS & Dedicated). CSF hoạt động dựa trên iptables và tiến trình ldf để scan các file log phát hiện các dấu hiệu tấn công bất thường.
CSF sẽ giúp server của bạn:
- Chống DoS
- Chống Scan Port
- Chống BruteFore Attack vào ftp server, web server, mail server, directadmin, cPanel …
- Chống Syn Flood
- Chống Ping Flood
- Cho phép ngăn chặn truy cập từ 1 quốc gia nào đó bằng chỉ định Country Code chuẩn IOS
- Hỗ trợ IPv6
- Cho phép bạn chuyển hướng yêu cầu từ các IP bị khóa sang 1 file html để thông báo cho người dùng biết IP của họ bị khóa.
- Phát hiện đăng nhập trái phép của các dịch vụ SSH, SMTP ….
- Và rất nhiều tính năng khác, bạn có thể tự tìm hiểu [ở đây] http://www.configserver.com/cp/csf.html
CSF có thể được tích hợp vào các giao diện người dùng (UI) của WHM/cPanel, DirectAdmin, Webmin (Mình sẽ viết ở một bài viết khác)
2. Cài đặt và cấu hình CSF trên Centos7
Bước 1: Yum các package thư viện && tải file cài đặt
1 2 3 4 5 6 7 8 | yum install wget perl-libwww-perl.noarch perl-Time-HiRes -y cd /usr/src/ wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh |
Note: Vì CSF dựa trên Perl, nên ta cần cài đặt thư viện Perl lên máy chủ trước.
Bước 2: Kiểm tra CSF có hoạt động không
1 2 3 | cd /usr/local/csf/bin/ perl csftest.p |
Nếu bạn nhận được thông báo như dưới có nghĩa là CSF hoạt động mà không gặp vấn đề nào cả.
1 2 | RESULT: csf should function on this server |
Bước 3: Cấu hình CSF trên Centos 7
Trước khi bước vào cấu hình CSF trên Centos 7, bạn phải biết hệ điều hành Centos 7 có một ứng dụng tường lửa mặc định firewalld. Bạn phải dừng firewalld và xóa nó khỏi khởi động theo hệ điều hành
1 2 3 | systemctl stop firewalld systemctl disable firewalld |
Sau đó chỉnh sửa tệp /etc/csf/csf.conf
1 2 3 | cd /etc/csf/ vi csf.conf |
Các bạn cần chỉnh sửa cấu hình TESTING từ 1 sang 0, sau đó chuyển đến dòng 139 và kiểm tra mục TCP_IN xem đã có port SSH của bạn chưa, mặc định khi cài CSF thì port SSH tự động được mở, kể cả bạn đã đổi port.
1 2 | TESTING = "0" |
Các bạn cấu hình TCP_IN, TCP_OUT, UDP_IN và UDP_OUT cho các port phù hợp với nhu cầu.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 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" |
Giờ khởi động lại CSF và LFD
1 2 3 | systemctl start csf systemctl start lfd |
Kích hoạt dịch vụ csf và lfd được khởi động cùng Centos
1 2 3 | systemctl enable csf systemctl enable lfd |
Bây giờ bạn có thể xem tất cả các rule của CSF với lệnh sau
1 2 | csf -l |
Như vậy chúng ta đã hoàn tất việc cài đặt và cấu hình CSF trên Centos 7
3. Những file cấu hình CSF
- csf.conf: File cấu hình chính để quản lý CSF
- csf.allow: Danh sách địa chỉ IP cho phép qua firewall
- csf.deny: Danh sách địa chỉ IP từ chối qua firewall
- csf.ignore: Danh sách địa chỉ IP cho phép qua firewall và không bị block nếu có vấn đề
4. Một số lệnh thường dùng
Lệnh | Tác dụng |
---|---|
csf -s | Chạy firewall |
csf -f | Dừng – Flush firewall |
csf -r | Nạp lại CSF (nhất là sau khi thay đổi cấu hình, thiết lập) |
csf -l | Hiện thị các luật iptables (IP4) |
csf -p | Kiểm tra các port đang mở |
csf –lfd | Với tham số [stop |
csf -a IPADDRESS | Cho phép một IP truy cập, nó thêm vào danh sách /etc/csf/csf.allow, các IP liệt kê trong danh sách này mặc định được qua Firewall, tuy nhiên nó vẫn bị LFD kiểm tra. Ví dụ thêm IP 123.123.123.123 vào thì gõ csf -a 123.123.123.123 |
csf -d IPADDRESS | Cấm một IP truy cập, nó thêm vào danh sách /etc/csf/csf.deny, ví dụ csf -d 123.123.123.123 |
csf -df IPADDRESS | Gỡ một IP ra khỏi danh sách chặn csf -df 123.123.123.123 |
csf -t | Hiện thị danh sách ip cho phép và bị chặn tạm thời (ip tự ra khỏi danh sách sau một khoảng thời gian) |
csf -ar IPADDRESS | Xóa địa chỉ IP đã được allow |
csf -g IPADDRESS | Kiểm tra địa chỉ IP có bị block không |
csf -x | Tắt CSF |
csf -e | Mở CSF |