CSF là viết tắt của “Config Server Firewall” là tường lửa Kiểm tra gói tin trạng thái (SPI), ứng dụng bảo mật và phát hiện đăng nhập, xâm nhập cho các máy chủ Linux. Đượ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. TEL4VN sẽ hướng dẫn các bạn “Cài đặt và cấu hình CSF”
CSF có chức năng:
- hố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
Các bước cài đặt và cấu hình CSF trên Server CentOS 7 như sau:
1. Cài đặt các gói cần thiết #
Cài đặt module Perl cho CSF script
yum install perl-libwww-perl wget vim
2. Tải và cài đặt CSF #
Tải source cài đặt của CSF sau đó giải nén và cài đặt.
cd /tmp wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh
3. Cấu hình CSF #
Mặc định sau khi cài đặt thì CSF được chạy với 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.
Đường dẫn chứa file cấu hình của CSF:
/etc/csf/
Mở file cấu hình chính để tùy chọn các config:
vim /etc/csf/csf.conf
Đầu tiên ta tắt chế độ Testing
TESTING = "0"
Chỉnh sửa các thông số port TCP, UDP 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 UDP_OUT = "20,21,53,113,123"
Ngoài việc cấu hình mở và chặn port thì CSF còn cho phép chặn DDOS, dò pass,..
Sau khi chỉnh sửa cấu hình cho phù hợp thì lưu lại.
4. Chức năng các file cấu hình #
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.
5. Khởi động CSF #
Chạy CSF và cho phép tự kích hoạt mỗi khi boot Server
chkconfig --level 235 csf on service csf restart
6. 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
7. Gỡ cài đặt CSF khỏi server #
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.
8. Thông tin thêm #
Với những tính năng hữu ích như vậy thì CSF có thể áp dụng cho hầu hết các server Linux.
Ngoài ra CSF còn được cài đặt trên các server quản lý Hosting như: Cpanel, DirectAdmin, CWP (CentOS Web Panel),…
Điều cuối cùng cần lưu ý là “CSF hoàn toàn miễn phí”
Thông tin khóa học Linux: tại đây