CSF hay còn gọi đầy đủ là Cofing Server Firewall là một tường lửa miễn phí được sử dụng phổ biến trên các máy chủ Linux hiện nay.
CSF có đầy đủ các tính năng mà một tường lửa cần còn. Đây là một vài tính năng nổi bật:
- Kiểm tra và thông báo đăng nhập fail cho ssh, pop3/ima, smtp, ftp
- Thông báo những lỗ hổng trên server.
- Giám sát file và thư mục khả nghi, thông báo nếu một file và thư mục thay đổi
- Chống lại SYN Flood và Ping of death
- Theo dõi truy cập các cổng kết nối và khóa kết nối tấn công
Cài đặt CSF
Chuẩn bị: bạn cần chuẩn bị máy chủ mới tinh vừa cài đặt Ubuntu. Đăng nhập với tài khoản root.
Mặc định Ubuntu 16.04 sử dụng tường lửa UFW, bạn cần tắt nó trước khi cài đặt CSF.
ufw disable
Nếu câu lệnh báo ufw command not found thì bản Ubuntu đang chạy trên server chưa có UFW. Thế thì càng tốt.
CSF không có sẵn trong repository của Ubuntu do vậy đầu tiên bạn phải tải về:
wget https://download.configserver.com/csf.tgz
|
Giải nén:
tar -xvzf csf.tgz
Di chuyển vào thư mục csf và chạy lệnh cài đặt:
cd csf bash install.sh
|
Bạn sẽ thấy thông báo sau khi cài đặt thành công:
Ngay khi CSF cài đặt thành công bạn cần kiểm tra lại xem các module tường lửa cần thiết đã sẵn sàng hay chưa:
perl /usr/local/csf/bin/csftest.pl
|
|
Mọi thứ OK bạn sẽ nhìn thấy như sau:
Cấu hình CSF
File cấu hình CSF csf.conf nằm trong thư mục /etc/csf.
Bạn mở file file bằng trình biên tập Nano:
nano /etc/csf/csf.conf
|
|
Thay đổi phần TCP_IN, TCP_OUT, UDP_IN, UDP_OUT theo ý muốn. TESTING bạn chuyển sang 0 để enable CSF.
#Enable CSF TESTING = "0" # 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,587,993,995" # 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" # Allow incoming PING ICMP_IN = "1" # Set the per IP address incoming ICMP packet rate # To disable rate limiting set to "0" ICMP_IN_RATE = "1/s" # Allow outgoing PING ICMP_OUT = "1"
|
|
Ý nghĩa các port như sau:
- Port 20: FTP data transfer
- Port 21: FTP control
- Port 22: Secure shell (SSH)
- Port 25: Simple mail transfer protocol (SMTP)
- Port 53: Domain name system (DNS)
- Port 80: Hypertext transfer protocol (HTTP)
- Port 110: Post office protocol v3 (POP3)
- Port 113: Authentication service/identification protocol
- Port 123: Network time protocol (NTP)
- Port 143: Internet message access protocol (IMAP)
- Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS)
- Port 465: URL Rendesvous Directory for SSM (Cisco)
- Port 587: E-mail message submission (SMTP)
- Port 993: Internet message access protocol over SSL (IMAPS)
- Port 995: Post office protocol 3 over TLS/SSL (POP3S)
Lưu lại file sau đó tải lại CSF với câu lệnh sau:
csf -r
|
|
Start CSF với câu lệnh sau:
csf -s
|
|
Disable tường lửa với câu lệnh
csf -x
|
|
Enable tường lửa với câu lệnh sau:
csf -e
|
|
Cho phép và chặn địa chỉ IP
Có 2 cách để cho phép và chặn địa chỉ IP. Cách 1: chỉnh sửa các file cấu hình csf.allow và csf.deny. Cách 2 chạy lệnh.
Nếu bạn muốn cho phép địa chỉ IP mở file csf.allow với nano như sau:
nano /etc/csf/csf.allow
|
|
Bổ sung địa chỉ IP bạn muốn vào dưới file.
Hoặc bạn sử dụng lệnh sau để bổ sung địa chỉ IP:
csf -a 192.168.15.12
|
|
Tương tự cho khóa địa chỉ IP, mở file csf.deny hoặc chạy lệnh sau:
csf -d 192.168.15.0/24
|
|
Bạn có thể bỏ qua địa chỉ IP khỏi bộ lọc tường lửa bằng cách chỉnh sửa file csf.ignore:
nano /etc/csf/csf.ignore
|
|
Cấu hình CSF nâng cao
Bạn có thể cấu hình CSF để ngăn chặn tấn công từ chối dịch vụ (DDOS).
Mở file cấu hình csf lên:
nano /etc/csf/csf.conf
|
|
Chỉnh sửa những trường như bên dưới:
#Total number of connections allowed from the single host. All IPs with more than 50 connections will be blocked. CT_LIMIT = "50" #Block IPs permanent CT_PERMANENT = 1 #Block IPs for 600 seconds CT_BLOCK_TIME = 600 #To set the connection limits for multiple ports. The maximum concurrent connections to port 80 and 22 from single IP is 15. CONNLIMIT = "80;15,22;15" #The number of connections to port 80 exceeds 30 in five seconds, all the new connections will be blocked. PORTFLOOD = "80;tcp;30;5"
|
|
Cuối cùng tải lại tường lửa với lệnh như bên dưới:
csf -r
|
|
Đến đây bạn đã cài đặt và cấu hình CSF cho server.
Với CSF bạn hoàn toàn yên tâm phát triển website mà không lo server bị tấn công.