Thứ hai, 29/07/2013 | 00:00 GMT+7

Cách cài đặt và cấu hình firewall server cấu hình (CSF) trên Ubuntu


Giới thiệu

Config Server Firewall (hoặc CSF) là một firewall miễn phí và nâng cao cho hầu hết các bản phân phối Linux và VPS dựa trên Linux. Ngoài chức năng cơ bản của firewall - lọc gói tin - CSF bao gồm các tính năng bảo mật khác, chẳng hạn như phát hiện đăng nhập / xâm nhập / lũ lụt. CSF bao gồm tích hợp giao diện user cho cPanel, DirectAdmin và Webmin, nhưng hướng dẫn này chỉ trình bày cách sử dụng dòng lệnh. CSF có thể nhận ra nhiều cuộc tấn công, chẳng hạn như quét cổng, lũ SYN và các cuộc tấn công bạo lực đăng nhập trên nhiều dịch vụ. Nó được cấu hình để tạm thời chặn các client bị phát hiện đang tấn công server cloud .

Danh sách đầy đủ các hệ điều hành và tính năng được hỗ trợ có thể được tìm thấy trên trang web của ConfigServer .

Hướng dẫn này được viết cho VPS dựa trên Debian, chẳng hạn như Debian và Ubuntu. Các lệnh phải được thực thi với quyền root, bằng cách đăng nhập với quyền root hoặc khởi tạo shell root bằng lệnh sau nếu sudo được cài đặt:

sudo su

Lưu ý: Hướng dẫn này bao gồm bảo mật IPv4. Trong Linux, bảo mật IPv6 được duy trì riêng biệt với IPv4. Ví dụ: "iptables" chỉ duy trì các luật firewall cho địa chỉ IPv4 nhưng nó có một đối tác IPv6 được gọi là "ip6tables", được dùng để duy trì các luật firewall cho địa chỉ mạng IPv6.

Nếu VPS của bạn được cấu hình cho IPv6, hãy nhớ bảo mật cả network interface IPv4 và IPv6 của bạn bằng các công cụ thích hợp. Để biết thêm thông tin về các công cụ IPv6, hãy tham khảo hướng dẫn này: Cách Cấu hình Công cụ để Sử dụng IPv6 trên VPS Linux

Đặc trưng

Config Server Firewall cung cấp một loạt các biện pháp bảo vệ cho VPS của bạn.

Daemon xác thực đăng nhập thất bại:

CSF kiểm tra log để tìm các lần đăng nhập không thành công trong repository ảng thời gian thường xuyên và có thể nhận ra hầu hết các nỗ lực trái phép để giành quyền truy cập vào server cloud của bạn. Bạn có thể xác định hành động mong muốn CSF thực hiện và sau bao nhiêu lần thử trong file cấu hình.

Các ứng dụng sau được hỗ trợ bởi tính năng này:

  • Chuyển phát nhanh imap, Dovecot, uw-imap, Kerio
  • openSSH
  • cPanel, WHM, Webmail (chỉ dành cho server cPanel)
  • Pure-ftpd, vsftpd, Proftpd
  • Các trang web được bảo vệ bằng password (htpasswd)
  • Lỗi mod_security (v1 và v2)
  • Suhosin thất bại
  • Exim SMTP AUTH

Ngoài những điều này, bạn có thể xác định các file đăng nhập của riêng mình với đối sánh biểu thức chính quy. Điều này có thể hữu ích nếu bạn có một ứng dụng ghi lại các lần đăng nhập không thành công, nhưng lại chặn user sau một số lần thử cụ thể.

Theo dõi quy trình

CSF có thể được cấu hình để theo dõi các quy trình nhằm phát hiện các quy trình đáng ngờ hoặc mở các cổng mạng và gửi email cho administrator hệ thống nếu phát hiện có bất kỳ quy trình nào. Điều này có thể giúp bạn xác định và ngăn chặn việc khai thác có thể xảy ra trên VPS của bạn.

Xem folder

Chế độ xem folder giám sát / temp và các folder liên quan khác để tìm các tập lệnh độc hại và gửi email cho administrator hệ thống khi phát hiện thấy tập lệnh độc hại.

dịch vụ tin nhắn

Bật tính năng này cho phép CSF gửi một thông báo nhiều thông tin hơn đến client khi một khối được áp dụng. Tính năng này có cả ưu và nhược điểm. Một mặt, việc kích hoạt nó cung cấp nhiều thông tin hơn cho khách hàng và do đó có thể ít gây khó chịu hơn, chẳng hạn như trong trường hợp đăng nhập không thành công. Mặt khác, điều này cung cấp thêm thông tin, điều này có thể khiến kẻ tấn công dễ dàng tấn công VPS của bạn hơn.

Chống ngập cổng

Cài đặt này cung cấp khả năng bảo vệ chống lại các cuộc tấn công tràn vào cổng, chẳng hạn như các cuộc tấn công từ chối dịch vụ (DoS). Bạn có thể chỉ định số lượng kết nối được phép trên mỗi cổng trong repository ảng thời gian tùy thích. Bạn nên bật tính năng này, vì nó có thể ngăn kẻ tấn công buộc các dịch vụ của bạn ngừng hoạt động. Bạn nên chú ý đến những giới hạn bạn đặt, vì cài đặt quá hạn chế sẽ làm mất kết nối từ các client bình thường. Sau đó, , cài đặt quá dễ dãi có thể cho phép kẻ tấn công thành công trong một cuộc tấn công lũ lụt.

Gõ cổng

Việc gõ cổng cho phép client cài đặt kết nối với server không có cổng nào được mở. Server chỉ cho phép client kết nối với các cổng chính sau một chuỗi gõ cổng thành công. Bạn có thể thấy điều này hữu ích nếu bạn cung cấp các dịch vụ chỉ dành cho đối tượng hạn chế.

Đọc thêm về gõ cổng

Bảo vệ giới hạn kết nối

Tính năng này được dùng để giới hạn số lượng kết nối đang hoạt động đồng thời từ một địa chỉ IP đến mỗi cổng.Khi được cấu hình đúng cách, điều này có thể ngăn chặn các hành vi lạm dụng trên server , chẳng hạn như các cuộc tấn công DoS.

Chuyển hướng cổng / địa chỉ IP

CSF có thể được cấu hình để chuyển hướng các kết nối đến một IP / cổng sang một IP / cổng khác. Lưu ý: Sau khi chuyển hướng, địa chỉ nguồn của client sẽ là địa chỉ IP của server . Đây không phải là một tương đương với dịch địa chỉ mạng (NAT).

Tích hợp giao diện user

Ngoài giao diện dòng lệnh, CSF cũng cung cấp tích hợp giao diện user cho cPanel và Webmin. Nếu bạn không quen với dòng lệnh Linux, bạn có thể thấy tính năng này hữu ích.

Danh sách khối IP

Tính năng này cho phép CSF tự động download danh sách các địa chỉ IP bị chặn từ các nguồn do bạn xác định.

Cài đặt firewall ConfigServer

Bước 1: Download

Tường lửa Server Cấu hình hiện không có sẵn trong repository Debian hoặc Ubuntu và phải được download từ trang web của Server cấu hình.

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

Thao tác này sẽ tải CSF xuống folder làm việc hiện tại của bạn.

Bước 2: Extract

Tệp đã download là file được nén từ gói tar và phải được extract và extract trước khi có thể sử dụng.

tar -xzf csf.tgz

Bước 3: Cài đặt

Nếu bạn đang sử dụng tập lệnh cấu hình firewall khác, chẳng hạn như UFW, bạn nên tắt nó trước khi tiếp tục. Luật Iptables tự động bị xóa.

Có thể tắt UFW bằng cách chạy lệnh sau:

ufw disable

Bây giờ là lúc thực thi lệnh cài đặt của CSF.

cd csf
sh install.sh

Tường lửa hiện đã được cài đặt, nhưng bạn nên kiểm tra xem các module iptables cần thiết có khả dụng hay không.

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

Tường lửa sẽ hoạt động nếu không có lỗi nghiêm trọng nào được báo cáo.

Lưu ý: Địa chỉ IP của bạn đã được thêm vào danh sách trắng nếu có thể. Ngoài ra, cổng SSH đã được mở tự động, ngay cả khi nó sử dụng cổng tùy chỉnh. Tường lửa cũng đã được cấu hình để bật chế độ thử nghiệm, nghĩa là các luật iptables sẽ tự động bị xóa năm phút sau khi khởi động CSF. Điều này sẽ bị vô hiệu hóa khi bạn biết rằng cấu hình của bạn hoạt động và bạn sẽ không bị khóa.

Cấu hình cơ bản

CSF có thể được cấu hình bằng cách chỉnh sửa file cấu hình csf.conf của nó trong / etc / csf:

nano /etc/csf/csf.conf

Các thay đổi có thể được áp dụng bằng lệnh:

csf -r

Bước 1: Cấu hình các cổng

Càng ít quyền truy cập vào VPS của bạn, server của bạn càng an toàn. Tuy nhiên, không phải tất cả các cổng đều có thể bị đóng vì khách hàng phải có thể sử dụng dịch vụ của bạn.

Các cổng được mở theo mặc định như 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"

Các dịch vụ sử dụng các cổng mở:

  • Cổng 20: Truyền dữ liệu FTP
  • Cổng 21: Điều khiển FTP
  • Cổng 22: Vỏ an toàn (SSH)
  • Cổng 25: Giao thức truyền thư đơn giản (SMTP)
  • Cổng 53: Hệ thống domain (DNS)
  • Cổng 80: Giao thức truyền siêu văn bản (HTTP)
  • Cổng 110: Giao thức bưu điện v3 (POP3)
  • Cổng 113: Dịch vụ xác thực / giao thức nhận dạng
  • Cổng 123: Giao thức thời gian mạng (NTP)
  • Cổng 143: Giao thức truy cập tin nhắn Internet (IMAP)
  • Cổng 443: Giao thức truyền siêu văn bản qua SSL / TLS (HTTPS)
  • Cổng 465: Thư mục kết xuất URL cho SSM (Cisco)
  • Cổng 587: Gửi tin nhắn e-mail (SMTP)
  • Cổng 993: Giao thức truy cập tin nhắn Internet qua SSL (IMAPS)
  • Cổng 995: Giao thức bưu điện 3 qua TLS / SSL (POP3S)

Có thể bạn không sử dụng tất cả các dịch vụ này, vì vậy bạn có thể đóng các cổng không được sử dụng. Tôi khuyên bạn nên đóng tất cả các cổng (xóa số cổng trong danh sách), sau đó thêm các cổng bạn cần.

Dưới đây là các bộ cổng sẽ được mở nếu bạn đang chạy dịch vụ được liệt kê:

Trên bất kỳ server nào:

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

Apache:

TCP_IN: 80,443

Server ftp:

TCP_IN: 20,21
TCP_OUT: 20,21
UPD_IN: 20,21
UPD_OUT:20,21

Server thư:

TCP_IN: 25,110,143,587,993,995
TCP_OUT: 25,110

Server MySQL (nếu cần truy cập từ xa)

TCP_IN: 3306
TCP_OUT: 3306

Lưu ý: Nếu bạn đang sử dụng IPv6 cho các dịch vụ của bạn , bạn cũng nên cấu hình TCP6_IN, TCP6_OUT, UPD6_IN và UPD6_OUT tương tự như cách cấu hình cổng IPv4 trước đó.

Bạn có thể tìm thấy danh sách đầy đủ các cổng TCP và UDP trên Wikipedia . Bạn nên mở các cổng của tất cả các dịch vụ bạn sử dụng.

Bước 2: Cài đặt bổ sung

CSF cung cấp rất nhiều tùy chọn khác nhau trong các file cấu hình của nó. Một số cài đặt thường được sử dụng nhất được giải thích bên dưới.

ICMP_IN Đặt ICMP_IN thành 1 cho phép ping tới server của bạn và 0 từ chối là những yêu cầu như vậy. Nếu bạn đang lưu trữ bất kỳ dịch vụ công cộng nào, bạn nên cho phép các yêu cầu ICMP, vì những yêu cầu này được dùng để xác định xem dịch vụ của bạn có khả dụng hay không.

ICMP_IN_LIMIT Đặt số lượng yêu cầu ICMP (ping) được phép từ một địa chỉ IP trong một khoảng thời gian nhất định. Thường không cần thay đổi giá trị mặc định (1 / s)

DENY_IP_LIMIT Đặt số lượng địa chỉ IP bị chặn mà CSF theo dõi. Bạn nên hạn chế số lượng địa chỉ IP bị từ chối vì có quá nhiều khối có thể làm chậm hiệu suất server .

DENY_TEMP_IP_LIMIT Tương tự như trên, nhưng đối với các khối địa chỉ IP tạm thời.

PACKET_FILTER Lọc các gói không hợp lệ, không mong muốn và bất hợp lệ .

SYNFLOOD, SUNFLOOD_RATE và SYNFLOOD_BURST Điều này cung cấp khả năng bảo vệ khỏi các cuộc tấn công của lũ SYN. Điều này làm chậm quá trình khởi tạo mọi kết nối, vì vậy bạn chỉ nên kích hoạt tính năng này nếu bạn biết rằng server của bạn đang bị tấn công.

CONNLIMIT Giới hạn số lượng kết nối hoạt động đồng thời trên cổng.

Giá trị:

22;5;443;20

sẽ cho phép 5 kết nối đồng thời trên cổng 22 và 20 kết nối đồng thời trên cổng 443.

PORTFLOOD Giới hạn số lượng kết nối trong mỗi khoảng thời gian mà các kết nối mới có thể được thực hiện với các cổng cụ thể.

Giá trị:

22;tcp;5;250

sẽ giới hạn chặn địa chỉ IP nếu hơn 5 kết nối được cài đặt trên cổng 22 bằng giao thức TCP trong vòng 250 giây. Khối bị xóa sau khi 250 giây trôi qua sau khi gói cuối cùng được khách hàng gửi đến cổng này. Bạn có thể thêm nhiều cổng hơn bằng cách phân tách chúng bằng dấu phẩy như mô tả bên dưới.

port1;protocol1;connection_count1;time1,port2;protocol2;connection_count2;time2

Cài đặt khác

CSF cung cấp một loạt các cài đặt không được đề cập trong hướng dẫn này. Các giá trị mặc định thường tốt và được dùng trên hầu hết mọi server . Cài đặt mặc định được cấu hình để ngăn chặn hầu hết các cuộc tấn công lũ lụt, quét cổng và các nỗ lực truy cập trái phép.

Tuy nhiên, nếu bạn muốn điều chỉnh cấu hình chi tiết hơn, vui lòng đọc các comment trong /etc/csf/csf.conf và chỉnh sửa chúng theo ý muốn.

Bước 3: Áp dụng các thay đổi

Khi nào bạn thay đổi cài đặt trong csf.conf, bạn nên lưu file và khởi động lại CSF để các thay đổi có hiệu lực.

Khi đã sẵn sàng với cấu hình, hãy đóng file bằng cách nhấn Ctrl + X. Khi bạn được hỏi có lưu các thay đổi hay không, hãy nhấn Y để lưu các thay đổi.

Sau đó, bạn nên áp dụng các thay đổi bằng cách khởi động lại CSF bằng lệnh:

csf -r

Nếu mọi thứ diễn ra như kế hoạch và bạn vẫn có thể truy cập vào server , hãy mở file cấu hình :

nano /etc/csf/csf.conf

và thay đổi cài đặt KIỂM TRA ở đầu file cấu hình thành 0 như hình dưới đây:

TESTING = "0"

Lưu file và áp dụng các thay đổi bằng lệnh:

csf -r

Chặn và cho phép địa chỉ IP

Một trong những tính năng cơ bản nhất của firewall là khả năng chặn các địa chỉ IP nhất định. Bạn có thể từ chối (danh sách đen), cho phép (danh sách trắng) hoặc bỏ qua địa chỉ IP bằng cách chỉnh sửa các file cấu hình csf.deny, csf.allow và csf.ignore.

Chặn địa chỉ IP

Nếu bạn muốn chặn địa chỉ IP hoặc dải ô, hãy mở csf.deny.

nano /etc/csf/csf.deny

Các địa chỉ hoặc dải IP bị chặn đều dành một dòng trong file csf.deny. Nếu bạn muốn chặn địa chỉ IP 1.2.3.4 cũng như dải IP 2.3. *. *, Bạn nên thêm các dòng sau vào file :

1.2.3.4
2.3.0.0/16

Dải IP được biểu diễn bằng ký hiệu CIDR

Cho phép địa chỉ IP

Nếu bạn muốn loại trừ địa chỉ IP hoặc dải ô khỏi tất cả các khối và bộ lọc, bạn có thể thêm chúng vào file csf.allow. Xin lưu ý các địa chỉ IP được phép vẫn được phép ngay cả khi chúng bị chặn rõ ràng trong file csf.deny.

Cho phép địa chỉ IP hoạt động tương tự như chặn chúng. Sự khác biệt duy nhất là bạn nên chỉnh sửa /etc/csf/csf.allow thay vì csf.deny.

nano /etc/csf/csf.allow

Bỏ qua địa chỉ IP

CSF cũng cung cấp khả năng loại trừ địa chỉ IP khỏi bộ lọc firewall . Địa chỉ IP trong csf.ignore sẽ vượt qua bộ lọc firewall và chỉ có thể bị chặn nếu được liệt kê trong file csf.deny.

nano /etc/csf/csf.ignore

Để các thay đổi có hiệu lực, bạn nên khởi động lại CSF sau khi chỉnh sửa các file nào được mô tả ở trên bằng lệnh:

csf -r
Bài báo gửi bởi: Lassi

Tags:

Các tin liên quan

Kiến thức cơ bản về quyền của Linux và cách sử dụng Umask trên VPS
2013-07-10
Cách bảo mật server cloud chống lại SQL Injection
2013-07-05
Cài đặt và sử dụng Vim Text Editor trên Cloud Server
2013-07-03
Cách cài đặt Zend Server 6 trên VPS CentOS 6.4
2013-07-03
Cài đặt và sử dụng Vim Text Editor trên Cloud Server
2013-07-03
Cách sử dụng Z Shell (zsh) trên server cloud
2013-07-01
Cách thêm tệp swap trên server cloud Arch Linux
2013-06-28
Cách cài đặt server DNS BIND trên CentOS 6
2013-06-12
Cách cài đặt eJabberd XMPP Server trên Ubuntu
2013-06-04
Cách cấu hình tmux trên server cloud
2013-05-20