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.
Giải nén tệp tar.gz và vào thư mục csf, sau đó cài đặt tệp đó:
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".
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:
Dừng firewalld:
Vô hiệu hóa/Xóa firewalld khỏi phần khởi động:
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:
Thay đổi dòng 11 "TESTING " thành "0" để áp dụng cấu hình tường lửa.
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:
Sau đó, bật các dịch vụ csf và lfd để chúng được khởi động khi khởi động:
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:
2. Xóa/Dừng các quy tắc tường lửa.
3. Tải lại các quy tắc tường lửa.
4. Cho phép một IP và thêm nó vào csf.allow.
Kết quả:
5. Xóa và xóa một IP khỏi csf.allow.
Kết quả:
6. Từ chối một IP và thêm vào csf.deny:
Kết quả:
7. Xóa và xóa một IP khỏi csf.deny.
Kết quả:
8. Xóa và Bỏ chặn tất cả các mục nhập từ csf.deny.
Kết quả:
9. Tìm kiếm mẫu khớp trên iptables ví dụ: IP, CIDR, Số cổng
Quay lại thư mục csfconfiguration và chỉnh sửa tệp cấu hình 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.
2. Cho phép ICMP đến và đi.
Đi đến dòng 152 để biết ping/ICMP đến:
Và dòng 159 để biết ping ping/ICMP đi:
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:
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".
Sau đó, xác định địa chỉ email bạn muốn sử dụng ở dòng 588.
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".
Đ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.
- 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
Mã:
tar -xzf csf.tgz
cd csf
sh install.sh
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
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
Mã:
systemctl disable firewalld
Mã:
cd /etc/csf/
vim csf.conf
Mã:
TESTING = "0"
Bây giờ hãy khởi động CSF và LFD bằng lệnh systemctl:
Mã:
systemctl start csf
systemctl start lfd
Mã:
systemctl enable csf
systemctl enable lfd
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
Mã:
csf -f
Mã:
csf -r
Mã:
csf -a 192.168.1.109
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
Mã:
csf -ar 192.168.1.109
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
Mã:
csf -d 192.168.1.109
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
Mã:
csf -dr 192.168.1.109
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
Mã:
csf -df
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
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
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"
Đi đến dòng 152 để biết ping/ICMP đến:
Mã:
ICMP_IN = "1"
Mã:
ICMP_OUT = "1"
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"
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"
Mã:
LF_ALERT_TO = "[emailprotected]"