Cài đặt và cấu hình Firewall (CSF) cho Ubuntu

Cài đặt và cấu hình Firewall (CSF) cho Ubuntu

Config Server Firewall (hoặc CSF) là một phần mềm tường lửa miễn phí cực mạnh dành cho các phiên bản Linux, được đa số các web admin và blogger nổi tiếng tin dùng cho hệ thống Server, Vps của họ. Ngoài các chức năng lọc các gói tin bảo mật thường thấy trong các phần mềm Firewall khác – CSF đặc biệt hỗ trợ cực tốt cho máy chủ Vps trong việc hạn chế tấn công qua các cách thức login/intrusion/flood. Được hỗ trợ cấu hình một cách dễ dàng trên giao diện trực tiếp trên các phần mềm quản lý hosting nổi tiếng như DirectAdmin, cPanel, Webmin, nên CSF còn là phần mềm được đa số các công ty dịch vụ Hosting, Vps cài đặt sẵn cho khách hàng. Trong bài viết ngày hôm nay, mình xin giới thiệu với các bạn cách cài đặt và cấu hình phần mềm này qua giao diện dòng lệnh trên hệ điều hành Linux Ubuntu mới nhất.

Xem thêm cấu hình yêu cầu và danh sách các hệ thống được CSF hỗ trợ tại đây

Ghi chú: CSF rất mạnh khi có thể tự phát hiện và định danh các cuộc tấn công mạng qua các phương thức thường thấy như: ports scan, SYN floods … nó dễ dàng block các kết nối được cho là nguy hiểm để đàm bảo an toàn và hiệu suất cho VPS và CSF bạn nên cấu hình riêng cho IPv6 nếu hệ thống máy chủ của bạn có hỗ trợ giao thức mạng này. Bài viết dưới đây sẽ hướng dận bạn cách cấu hình firewall trên IPv4, đối với IPv6 sẽ được trình bày trong bài viết khác.

Các tính năng chính của Firewall CSF:

Config Server Firewall cung cấp 1 loạt các tính năng chính giúp bào vệ VPS của bạn trước hàng loạt các cuộc tấn công mạng hằng ngày.

1. Hạn chế việc thử đăng nhập nhiều lần để lấy mật khẩu dịch vụ

CSF dựa vào tập tin log ghi nhận việc đăng nhập thất bại, phân tích ra thời gian và số lượng các lần cố tình đăng nhập , nhầm chiếm quyền điều khiển từ đó ngăn chặn các giao thức kết nối từ địa chỉ Ip này. Bạn có thể điều chỉnh giới hạn số lần đăng nhập thất bại trong tập tin cấu hình chính của CSF.

Tính năng này được hỗ trợ cho các dịch vụ thường dùng sau:

  • Courier imap, Dovecot, uw-imap, Kerio: Mail admin quản lý hộp thư
  • openSSH: cổng kết nối admin với máy chủ VPS
  • cPanel, WHM, Webmail (cPanel servers only): các phần mềm quản lý hosting
  • Pure-ftpd, vsftpd, Proftpd: kết nối truyền dẫn tập tin qua FTP
  • Password protected web pages (htpasswd): Quản lý mật khẩu truy cập website
  • Mod_security failures (v1 and v2)
  • Suhosin failures
  • Exim SMTP AUTH: Xác thực người dùng qua kết nối SMTP.

Ngoài các tính năng chính mà CSF cung cấp trên, bạn có thể kết hợp các tính năng khác để tạo ra một quy tắc riêng cho hệ thống của mình.

2. Theo dõi các tiến trình hệ thống.

CSF có khả năng theo dõi và chẩn đoán các tiền trình chạy bên trong hệ thống từ đó phát hiện ra các tiến trình chạy ngầm nguy hiểm như: mở cỗng mạng tạo backdoor, kết nối với một hệ thống khác bên ngoài hệ sinh thái. Mọi phát hiện, mọi nghi vấn đểu được CSF gửi mail cho nhà quản trị, do đó chúng ta sẽ có được các thông tin hữu ích để đối phó và ngăn ngừa kịp thời.

3. Bảo vệ một thư mục trên server.

Bạn có thể cấu hình cho CSF bảo vệ và hạn chế truy cập một thư mục, hoặc tập tin nào đó khỏi các kết nối nguy hiểm nhầm tránh, hạn chế các mất mác về dữ liệu không đáng có.

4. Dịch vụ tin nhắn qua email chẩn đoán các cuộc tấn công.

Theo mình thì dịch vụ này nên tắt không nên mở. Lý do chính cho việc này thì mình có nhận xét đây là một dịch vụ có cả 2 mặt tốt và xấu. Là dịch vụ gửi email khi có các cuộc tấn công hệ thống đến với khách hàng như: truy cập trái phép thư mục, đăng nhập thất bại nhiều lần. Tuy nhiên gửi mail với các thông tin này sẽ khiến cho các hacker điều chỉnh cách tấn công và hướng xâm nhập, ngoài ra nếu bạn là System admin chắc có lẽ hok muốn 2,3h sáng phải nhận điện thoại than phiền từ khách hàng thân yêu đâu nhỉ?

Cài đặt và cấu hình Config Server Firewall

Bước 1: download gói cài đặt về máy chủ

wget http://download.configserver.com/csf.tgz

Để dễ dàng quản lý các tập tin, bạn nên dùng lệnh cd để chuyển đến thư mục tạm và download gói cài đặt này về

cd /tmp

Bước 2: Xả nén gói cài đặt

Dùng lệnh sau để xả nén gói cài đặt CSF.

tar -xzf csf.tgz

Bước 3: tiến hành cài đặt

Măc định Ubuntu cung cấp cho chúng ta 1 firewall gọn nhẹ có tên UFW, để tránh xung đột phần mềm firewall ta nên tắt nó trước khi cài.

ufw disable

Chuyển đến thư mục chứ file cài đặt

cd csf

Mở file batch install

sh install.sh

Đợi chừng 5 phút và sau đó tiến hành check iptables

perl /usr/local/csf/bin/csftest.pl

Nếu không báo lỗi gì hết thì bạn đã cài đặt thành công, nếu có lỗi xảy ra vui lòng comment phía dưới mình sẽ hổ trợ bạn nhé.

Cấu hình cơ bản Firewall cho Ubuntu

Để tiến hành cấu hình bảo mật cho hệ thống bạn luôn cần phải ghi nhớ quy tắc này: “Càng ít các cách kết nối vào hệ thống, thì hệ thống càng an toàn”. Tập tin cấu hình firewall được đặt tại thư mục /etc/csf:

nano /etc/csf/csf.conf

Sau mỗi lần cấu hình luôn nhớ restart csf để áp dụng các rules vừa chỉ định

csf -r

1.Bật tắt các cổng kêt nối

Mặc đinh khi cài CSF, nó sẽ detech các dịch vụ hiện có trên máy bạn và bật tắt các cổng kết nối tương ứng, để chỉnh sửa các cổng kết nối này bạn khai báo trong dòng code sau:

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 dịch vụ CSF mở ports kết nối

  • 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)

Nếu bạn không sử dụng dịch vụ nào, hoặc it dùng thì hãy tạm thời tắt các cổng kết nối đó. Sau đây là gợi ý mở ports cho các nhu cầu thường dùng VPS

Các dịch vụ cơ bản

TCP_IN: 22,53
TCP_OUT: 22,53,80,113,443
UPD_IN: 53
UPD_OUT: 53,113,123

Apache/Nginx và các webserver

TCP_IN: 80,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 (if remote access is required)

TCP_IN: 3306
TCP_OUT: 3306

Ghi chú: nếu bạn có sử dụng IPv6 thì cũng cần phải thêm danh sách các cổng kết nối như của Ipv4 trên các dòng sau: TCP6_IN, TCP6_OUT, UPD6_IN, and UPD6_OUT

 

Kevin Dang

Hey there! My name is Kevin Dang, I am website, software, mobile app develop, web admin system. Expert living in Hồ Chí Minh (Việt Nam). I am very interested in digital marketing with: SEO, Facebook, Google Ads ... This blog is where I will share the experiences, techniques and knowledge I have learned.