Cách cài đặt và cấu hình CSF (Config Server Firewall) trên CentOS 7

theanh

Administrator
Nhân viên
Config Server Firewall / CSF là bộ ứng dụng tường lửa cho máy chủ Linux. CSF cũng là một công cụ phát hiện đăng nhập/xâm nhập cho các ứng dụng như SSH, SMTP, IMAP, Pop3, lệnh "su" và nhiều ứng dụng khác. Ví dụ, CSF có thể phát hiện khi ai đó đang đăng nhập vào máy chủ qua SSH và báo động cho bạn khi người dùng này cố gắng sử dụng lệnh "su" trên máy chủ để có được quyền cao hơn. Nó cũng kiểm tra các lỗi xác thực đăng nhập trên máy chủ thư (Exim, IMAP, Dovecot, uw-imap, Kerio), máy chủ OpenSSH, máy chủ Ftp (Pure-ftpd, vsftpd, Proftpd), máy chủ cPanel để thay thế phần mềm như fail2ban. CSF là giải pháp bảo mật tốt cho máy chủ lưu trữ và có thể tích hợp vào giao diện người dùng (UI) của WHM/cPanel, DirectAdmin và Webmin.

Điều kiện tiên quyết​

  • CentOS 7 (máy chủ của tôi sử dụng IP 192.168.1.101).
  • quyền root.
Những gì chúng ta sẽ làm trong hướng dẫn này:
  • Cài đặt các phần phụ thuộc cho CSF.
  • Cài đặt CSF.
  • Cấu hình CSF.
  • Cơ bản Lệnh CSF.
  • Cấu hình nâng cao.

Bước 1 - Cài đặt các phụ thuộc CFS​

CSF dựa trên Perl, vì vậy trước tiên bạn cần cài đặt Perl trên máy chủ của chúng tôi. Bạn cần wget để tải xuống trình cài đặt CSF và vim (hoặc trình chỉnh sửa bạn chọn) để chỉnh sửa tệp cấu hình CSF. Cài đặt các gói bằng lệnh yum:
Mã:
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes

Bước 2 - Cài đặt CSF​

Vui lòng vào thư mục"/usr/src/" và tải xuống CSF bằng lệnh wget.
Mã:
cd /usr/src/
wget https://download.configserver.com/csf.tgz
Giải nén tệp tar.gz và vào thư mục csf, sau đó cài đặt tệp đó:
Mã:
tar -xzf csf.tgz
cd csf
sh install.sh
Bạn sẽ nhận được thông tin cho biết quá trình cài đặt CSF đã hoàn tất ở phần cuối.



Bây giờ bạn nên kiểm tra xem CSG có thực sự hoạt động trên máy chủ này. Đi đến thư mục "/usr/local/csf/bin/" và chạy "csftest.pl".
Mã:
cd /usr/local/csf/bin/
perl csftest.pl
Nếu bạn thấy kết quả kiểm tra như hiển thị bên dưới, thì CSF đang chạy mà không có vấn đề gì trên máy chủ của bạn:
Mã:
KẾT QUẢ: csf sẽ hoạt động trên máy chủ này



Bước 3 - Cấu hình CSF trên CentOS 7​

Trước khi bước vào quy trình cấu hình CSF, điều đầu tiên bạn phải biết là "CentOS 7" có một ứng dụng tường lửa mặc định có tên là "firewalld".Bạn phải dừng firewalld và xóa nó khỏi phần khởi động.

Dừng firewalld:
Mã:
systemctl stop firewalld
Vô hiệu hóa/Xóa firewalld khỏi phần khởi động:
Mã:
systemctl disable firewalld
Sau đó, hãy vào thư mục Cấu hình CSF"/etc/csf/" và chỉnh sửa tệp "csf.conf" bằng trình soạn thảo vim:
Mã:
cd /etc/csf/
vim csf.conf
Thay đổi dòng 11 "TESTING " thành "0" để áp dụng cấu hình tường lửa.
Mã:
TESTING = "0"
Theo mặc định, CSF cho phép lưu lượng truy cập đến và đi cho cổng chuẩn SSH 22, nếu bạn sử dụng cổng SSH khác, vui lòng thêm cổng của bạn vào cấu hình ở dòng 139 "TCP_IN".

Bây giờ hãy khởi động CSF và LFD bằng lệnh systemctl:
Mã:
systemctl start csf
systemctl start lfd
Sau đó, bật các dịch vụ csf và lfd để chúng được khởi động khi khởi động:
Mã:
systemctl enable csf
systemctl enable lfd
Bây giờ, bạn có thể xem danh sách các quy tắc mặc định của CSF bằng lệnh:
Mã:
csf -l

Bước 4 - Các lệnh CSF cơ bản​

1. Khởi động tường lửa (bật các quy tắc tường lửa):
Mã:
csf -s
2. Xóa/Dừng các quy tắc tường lửa.
Mã:
csf -f
3. Tải lại các quy tắc tường lửa.
Mã:
csf -r
4. Cho phép một IP và thêm nó vào csf.allow.
Mã:
csf -a 192.168.1.109
Kết quả:
Mã:
Thêm 192.168.1.109 vào csf.allow và iptables CHẤP NHẬN...
CHẤP NHẬN tất cả các tùy chọn -- vào !lo ra * 192.168.1.109 -> 0.0.0.0/0 
CHẤP NHẬN tất cả các tùy chọn -- vào * ra !lo 0.0.0.0/0 -> 192.168.1.109
5. Xóa và xóa một IP khỏi csf.allow.
Mã:
csf -ar 192.168.1.109
Kết quả:
Mã:
Đang xóa quy tắc...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0 
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
6. Từ chối một IP và thêm vào csf.deny:
Mã:
csf -d 192.168.1.109
Kết quả:
Mã:
Đang thêm 192.168.1.109 vào csf.deny và iptables DROP...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0 
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
7. Xóa và xóa một IP khỏi csf.deny.
Mã:
csf -dr 192.168.1.109
Kết quả:
Mã:
Đang xóa quy tắc...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0 
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
8. Xóa và Bỏ chặn tất cả các mục nhập từ csf.deny.
Mã:
csf -df
Kết quả:
Mã:
DROP all opt -- in !lo out * 192.168.1.110 -> 0.0.0.0/0 
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.110 
DROP all opt -- in !lo out * 192.168.1.111 -> 0.0.0.0/0 
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.111 
csf: tất cả các mục đã bị xóa khỏi csf.deny
9. Tìm kiếm mẫu khớp trên iptables ví dụ: IP, CIDR, Số cổng
Mã:
csf -g 192.168.1.110

Bước 5 - Cấu hình nâng cao​

Sau đây là một số điều chỉnh về CSF để bạn có thể cấu hình theo nhu cầu.

Quay lại thư mục csfconfiguration và chỉnh sửa tệp cấu hình csf.conf:
Mã:
cd /etc/csf/
vim csf.conf
1. Không chặn các địa chỉ IP có trong các tệp csf.allow.

Theo mặc định, lfd cũng sẽ chặn một IP trong các tệp csf.allow, vì vậy nếu bạn muốn một IP trong các tệp csf.allow không bao giờ bị lfd chặn, hãy chuyển đến dòng 272 và đổi "IGNORE_ALLOW" thành "1". Điều này hữu ích khi bạn có một IP tĩnh tại nhà hoặc tại văn phòng và muốn đảm bảo rằng IP của bạn không bao giờ bị tường lửa trên máy chủ internet của bạn chặn.
Mã:
IGNORE_ALLOW = "1"
2. Cho phép ICMP đến và đi.

Đi đến dòng 152 để biết ping/ICMP đến:
Mã:
ICMP_IN = "1"
Và dòng 159 để biết ping ping/ICMP đi:
Mã:
ICMP_OUT = "1"
3. Chặn một số quốc gia nhất định

CSF cung cấp tùy chọn cho phép và từ chối truy cập theo quốc gia bằng cách sử dụng CIDR (Mã quốc gia). Đi đến dòng 836 và thêm mã quốc gia sẽ được phép và từ chối:
Mã:
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"
4. Gửi nhật ký đăng nhập Su và SSH qua Email.

Bạn có thể thiết lập địa chỉ email được LFD sử dụng để gửi email về các sự kiện "Đăng nhập SSH"và người dùng chạy lệnh "su", đi đến dòng 1069và thay đổi giá trị thành "1".
Mã:
LF_SSH_EMAIL_ALERT = "1"
 
...
 
LF_SU_EMAIL_ALERT = "1"
Sau đó, xác định địa chỉ email bạn muốn sử dụng ở dòng 588.
Mã:
LF_ALERT_TO = "[emailprotected]"
Nếu bạn muốn tinh chỉnh thêm, hãy đọc các tùy chọn trong tệp cấu hình "/etc/csf/csf.conf".

Kết luận​

CSF là tường lửa ứng dụng cho iptables được cung cấp cho máy chủ Linux. CSF có nhiều tính năng và có thể hỗ trợ các công cụ quản lý dựa trên web như cPanel / WHM, DirectAdmin và Webmin. CSF dễ cài đặt và sử dụng trên máy chủ, giúp quản lý bảo mật dễ dàng hơn cho quản trị viên hệ thống.
 
Back
Bên trên