Cấu hình nâng cao cho CSF để bảo vệ VPS
Hôm trước mình đã hướng dẫn các bạn cách cài đặt ConfigServer & Firewall (CSF), hôm nay mình sẽ hướng dẫn tiếp cách cấu hình cho CSF để có thể bảo vệ VPS chống lại các cuộc tấn công từ bên ngoài.
Để cấu hình cho CSF, bạn chỉ cần chỉnh sửa nội dung file csf.conf
trong folder /etc/csf
nano /etc/csf/csf.conf
Sau đó reload CSF để áp dụng thay đổi:
csf -r
Bước 1: Cấu hình ports
Đầu tiên hãy xác định những port bạn sẽ sử dụng và đóng tất cả số còn lại để tăng thêm tính bảo mật cho server.
Mặc định thì những port sau được mở:
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"
Danh sách các service đang sử dụng những port trên:
- 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)
Khi bạn đã hiểu được ý nghĩa rồi, hãy lựa chọn những port cần thiết mà thôi. Bên dưới là cấu hình những port bạn cần mở khi sử dụng các loại service:
– Trên tất cả server:
TCP_IN: 22,53 TCP_OUT: 22,53,80,113,443 UPD_IN: 53 UPD_OUT: 53,113,123
– Apache/Nginx:
TCP_IN: 80,443
Nếu không dùng HTTPS có thể bỏ port 443
– FTP server:
TCP_IN: 20,21 TCP_OUT: 20,21 UPD_IN: 20,21 UPD_OUT:20,21
– Mail server:
TCP_IN: 25,110,143,587,993,995 TCP_OUT: 25,110
– MySQL server (nếu cần remote access)
TCP_IN: 3306 TCP_OUT: 3306
Lưu ý: Nếu bạn đang dùng IPv6, cần phải cấu hình TCP6_IN, TCP6_OUT, UPD6_IN, và UPD6_OUT tương tự như các port IPv4. Tham khảo thêm danh sách port TCP và UDP trên wiki.
Bước 2: Cấu hình khác
Bên cạnh việc quy định sử dụng port, CSF còn có rất nhiều tùy chọn khác nữa trong file cấu hình. Một số tùy chọn thông dụng bạn nên biết như:
ICMP_IN cho phép ping đến server của bạn, set = 0 để từ chối các request này.
ICMP_IN_LIMIT giới hạn số lượng ping request đến từ 1 địa chỉ IP trong thời gian nhất định. Thông thường bạn không cần phải sửa đổi giá trị mặc định này (1/s)
DENY_IP_LIMIT giới hạn số lượng IP bị block bởi CSF, nếu số lượng IP vượt quá giới hạn này thì những IP cũ sẽ được unblock. Nên giữ số lượng vừa phải bởi nếu bạn lưu nhiều IP quá có thể làm giảm performance hệ thống.
DENY_TEMP_IP_LIMIT cũng tương tự như trên, nhưng cho IP tạm thời.
LF_DAEMON bật chức năng phát hiện login lỗi.
PACKET_FILTER filter các gói tin không hợp lệ.
SYNFLOOD, SUNFLOOD_RATE và SYNFLOOD_BURST kích hoạt chức năng bảo vệ chống SYN flood attacks.
CONNLIMIT giới hạn số lượng kết nối liên tiếp trên 1 port. Ví dụ:
CONNLIMIT = "22;5;443;20"
cho phép tối đa 5 kết nối liên tiếp đến port 22 và 20 kết nối đến port 443
PORTFLOOD giới hạn số lượng kết nối trong mỗi khoảng thời gian trên 1 port. Ví dụ
PORTFLOOD = "22;tcp;5;250"
sẽ giới hạn block địa chỉ IP nếu như tạo quá 5 kết nối trên port 22 sử dụng giao thức TCP trong vòng 250s. Việc block sẽ được tự động xóa sau sau 250s kể từ lần gửi packet cuối cùng. Bạn có thể add thêm port cách nhau bởi dấu phẩy
port1;protocol1;connection_count1;time1,port2;protocol2;connection_count2;time2
Ngoài ra còn có rất nhiều thông số của CSF khác bạn có thể điều chỉnh thêm. Các giá trị mặc định khá tốt và có thể chống lại được việc bị tấn công flood, port scans hoặc dò pass server.
Nếu muốn, các bạn có thể đọc thêm những comment trong file /etc/csf/csf.conf
hoặc tham khảo hướng dẫn chính thức từ CSF.
Cuối cùng, để thay đổi có hiệu lực các bạn cần restart lại CSF với lệnh:
csf -r
*** Chú ý mấy cái chức năng như: PORTFLOOD, SYNFLOOD khi kicks hoạt sẽ làm web hoạt động rất chậm, nên khi website đang ở trạng thái bình thường không nên kích hoạt nó làm gì.
Chúc các bạn thành công.
Bài viết khác
-
Hướng dẫn Ping và sử dụng Tracert
-
4 cách viết bài cho SEO, tăng khả năng thành công
-
Là một bản cập nhật lớn từ Google tìm kiếm đang xảy ra? Tôi nghĩ như vậy.
-
Google cho biết bản cập nhật thứ sáu là không phải do các thuật toán Penguin
-
Thông Báo Bảo Trì AAG Kênh Giữa HongKong Và Malaysia
-
Tạo email tên miền riêng miễn phí với Zoho
-
Cách kiểm tra độ chai của PIN laptop dell, hp, asus... ngay trong window
-
Cách phục hồi dung lượng pin laptop vô cùng đơn giản
-
Tìm hiểu về Imagick trong PHP
-
Hướng dẫn thay đổi tên miền không làm mất đi thứ hạng!
-
Cách sử dụng phần mềm FastStone-Capture quay lại màn hình
-
Theo dõi Website Uptime 24/7 miễn phí với Google Drive, hỗ trợ SMS
-
Một số cách cơ bản để kiểm tra server có bị DDoS không
-
Một số biện pháp đối phó khi phát hiện bị DDOS, How to check DDOS Attack and prevent
-
Thiết kế website tư vấn du học cần những gì?
Giới thiệu
- Điều khoản sử dụng
- Chính sách & Quy định chung
- Quy định và hình thức thanh toán
- Chính sách bảo mật thông tin
- Hướng dẫn xóa dữ liệu người dùng thông qua Facebook
Blog
- Lịch sử cập nhật
- Thông Báo Bảo Trì AAG Kênh Giữa HongKong Và Malaysia
- Google cho biết bản cập nhật thứ sáu là không phải do các thuật toán Penguin
- Là một bản cập nhật lớn từ Google tìm kiếm đang xảy ra? Tôi nghĩ như vậy.
- 4 cách viết bài cho SEO, tăng khả năng thành công
Thiết kế website
Youtube Partner And Network
- "Hôi của" Hình ảnh này mình "hôi của đề xuất" của Afrojack
- Cách tag video của mình sao cho được đánh giá cao trong YouTube và VIDIQ
- Tiện ích VidIQ – cần phải có khi chơi youtube