Cài đặt và tối ưu CSF Firewall trên hệ thống VPS/Server sẽ giúp kiểm soát các gói tin, ports trên hệ thống. Ngoài ra các tùy chỉnh cơ bản sẽ hạn chế Ddos cơ bản.
SF khái niệm – là gì
CSF (ConfigServer & Firewall) là 1 gói ứng dụng hoạt động trên Linux như 1 Firewall được phát hành miễn phí để tăng tính bảo mật cho server (VPS và Dedicated). CSF hoạt động dựa trên iptables và tiến trình ldf để quyét 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 các loại
- Chống Scan Port
- Đưa ra các lời khuyên về việc cấu hình server (VD: Nên nâng cấp MySQL lên bản mới hơn)
- Chống BruteForce 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 cách chỉ định Country Code chuẫn ISO
- Hỗ trợ IPv6 và IPv4
- CHo phép khóa IP tạm thời và vĩnh viễn ở tầng mạng (An toàn hơn ở tầng ứng dụng ) nên webserver ko phải mệt nhọc xử lý yêu cầu từ các IP bị cấm nữa
- 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
- Và rất nhiều tính năng khác, các bạn tự tìm hiểu thêm
Hướng dẫn cài đặt CSF
1. Cài đặt các module cần thiết cho CSF
Cài đặt module Perl cho CSF script
- yum install perl-libwww-perl
2. Tải CSF
cd /tmp wget https://download.configserver.com/csf.tgz
3. Cài đặt CSF
Tiến hành giải nén và cài đặt CSF
tar -xzf csf.tgz cd csf sh install.sh
4. Cấu hình CSF
Mặc định thì script trên sẽ cài đặt và chạy CSF ở chế độ “Testing”, có nghĩa là server lúc này chưa được bảo vệ toàn diện. Để tắt chế độ “Testing” bạn cần cấu hình các lựa chọn TCP_IN, TCP_OUT, UDP_IN và UDP_OUT cho phù hợp với nhu cầu .
Mở file cấu hình CSF
nano /etc/csf/csf.conf
Chỉnh sửa các thông số cho phù hợp
# 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"
Khi đã cấu hình xong, tắt chế độ Testing bằng cách chuyển TESTING = “1” thành TESTING = “0”
TESTING = "0"
Cuối cùng lưu lại file cấu hình CSF
5. Khởi động CSF
Chạy CSF và cho phép tự kích hoạt mỗi khi boot VPS
chkconfig --level 235 csf on service csf restart
6. Những file cấu hình CSF
Toàn bộ thông tin cấu hình và quản lý CSF được lưu ở các file trong folder /etc/csf. Nếu bạn chỉnh sửa các file này thì cần khởi động lại CSF để thay đổi có hiệu lực.
- 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 đề.
- csf.*ignore : Danh sách user, IP được ignore.
7. Một số lệnh thường dùng
Một số câu lệnh sử dụng để add (-a) hoặc deny (-d) một địa chỉ IP.
csf -d IPADDRESS //Block địa chỉ IP csf -dr IPADDRESS //Xóa địa chỉ IP đã bị block csf -a IPADDRESS //Allow địa chỉ IP 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 -r //Khởi động lại CSF csf -x //Tắt CSF csf -e //Mở CSF
Trong trường hợp bạn quên những lệnh trên, hãy sử dụng csf
sẽ liệt kê toàn bộ danh sách các option.
8. Xóa CSF
Nếu bạn muốn xóa hoàn toàn CSF, chỉ cần sử dụng script sau:
/etc/csf/uninstall.sh
Việc này sẽ xóa toàn bộ CSF nên bạn cần cân nhắc khi dùng. Nếu muốn tạm thời tắt CSF thì có thể chuyển chế độ TESTING sang 1.