ConfigServer Security & Firewall (CSF) là một firewall “mềm” dựa trên iptables. Nó cung cấp mức độ bảo mật cao trên các hệ thống server Linux sử dụng iptables. CSF hỗ trợ hầu hết trên những phiên bản Linux đang được sử dụng phổ biến như Red Hat Enterprise Linux, CentOS, CloudLinux, Fedora, Debian, Ubuntu và Slackware. Bạn có thể tìm hiểu chi tiết hơn tại trang chủ CSF.
LDF (Login Failure Daemon) là một chương trình được cài đặt kèm với CSF. Nó chủ động giám sát file log ghi nhận các phiên truy cập của người dùng đến server và gửi cảnh báo đến quản trị viên dựa trên các rule đã được thiết lập sẵn.
Trong nội dung bài viết này, mình sẽ hướng dẫn các bạn cài đặt và cấu hình CSF trên hệ thống CentOS một cách đơn giản và dễ hiểu nhất.
Cài đặt và cấu hình CSF
Trước tiên, bạn phải đảm bảo các gói Perl và libwww là điều kiện bắt buộc để cài đặt CSF trên bất kỳ bản phân phối Linux có hỗ trợ (RHEL và CentOS, openSUSE, Debian và Ubuntu). Trong trường hợp các gói phụ thuộc này bị thiếu trên server, bạn có thể cài đặt bổ sung bằng lệnh sau:
# yum install perl-libwww-perl
Bước 1 – Tải về CSF
Bạn thực hiện tải về file nén chứa script cài đặt CSF bằng lệnh dưới đây:
# cd /usr/src # wget https://download.configserver.com/csf.tgz
Bước 2 – Giải nén file CSF dạng .tgz
# tar -xzvf csf.tgz # cd csf
Bước 3 – Thực thi script cài đặt CSF
Để cài đặt CSF, bạn sử dụng lệnh bên dưới để thực thi file script:
# sh install.sh
Sau khi quá trình cài đặt hoàn tất, để kiểm tra lại các gói phụ thụ đã được cài đặt, phát hiện các port đang mở trên server và nhắc nhở bạn cấu hình csf và ldf chạy nền khi CentOS khởi động, bạn sử dụng lệnh sau:
# perl /usr/local/csf/bin/csftest.pl
Bước 4 – Tắt Firewall và cấu hình CSF
Bạn thực hiện tắt Firewalld (tường lửa mặc định trên CentOS 7) để bắt đầu cấu hình và sử dụng CSF bằng lệnh sau:
# systemctl stop firewalld # systemctl disable firewalld
Tiếp theo, bạn thực hiện điều chỉnh thông số TESTING = "1"
thành TESTING = "0"
để tắt chức năng kiểm tra CSF (tuy nhiên, lfd sẽ không khởi động thành công) và cấu hình mở những port ra / vào server (TCP_IN, TCP_OUT, UDP_IN và UDP_OUT) theo danh sách trong file /etc/csf/csf.conf
Bước 5 – Khởi động và kiểm tra CSF
Cuối cùng, bạn khởi động lại và thiết lập chế đội chạy nền, kiểm tra trạng thái và phiên bản của CSF và LFD bằng cách thực thi lần lượt những lệnh sau:
# systemctl restart {csf,lfd} # systemctl enable {csf,lfd} # systemctl is-active {csf,lfd} # csf -v
Đến đây, tường lửa CSF đã được kích hoạt trên server, bạn đã có thể bắt đầu thiết lập các quy tắc (rule) về phát hiện và ngăn chặn các xâm nhập trái phép trên server.
Thiết lập CSF và những quy tắc phát hiện xâm nhập.
Trước tiên, bạn cần kiểm tra lại các quy tắc (rules) hiện tại bằng lệnh sau:
# csf -l
Bạn có thể xóa tất cả các quy tắc (rules) hiện tại của CSF bằng lệnh:
# csf -f
Để khởi động lại các quy tắc (rules) của CSF bằng lệnh bên dưới:
# csf -r
Chấp nhận hoặc cấm một địa chỉ IP
# csf -a 192.168.100.4
Lệnh trên cho phép kết nối đi vào server từ địa chỉ IP 192.168.100.4
# csf -d 192.168.100.5
Tương tự, lệnh trên chặn kết nối đi vào server từ địa chỉ IP 192.168.100.5
# csf -ar 192.168.100.4 # csf -dr 192.168.100.5
Hai lệnh trên lần lượt gỡ bỏ các quy tắc cho phép và chặn kết nối đến từ một địa chỉ IP.
Những file cấu hình chính của CSF
Toàn bộ thông tin cấu hình và quản lý CSF được lưu ở các file trong thư mục /etc/csf. Nếu bạn chỉnh sửa các file này thì cần khởi động lại CSF để thay đổi có hiệu lực.
- csf.conf : File cấu hình chính để quản lý CSF.
- csf.allow : Danh sách địa chỉ IP cho phép qua firewall.
- csf.deny : Danh sách địa chỉ IP từ chối qua firewall.
- csf.ignore : Danh sách địa chỉ IP cho phép qua firewall và không bị block nếu có vấn đề.
- csf.*ignore : Danh sách user, IP được ignore.
Lời kết
Trong nội dung bài viết này, mình đã cố gắng giải thích và trình bày các bước cài đặt và cấu hình tường lửa CSF một cách cô đọng nhất. Riêng phần cấu hình, mình chỉ giới thiệu đến các bạn những quy tắc (rules) thông dụng nhất, nếu bạn hứng thú có thể tìm hiểu thêm những thiết lập nâng cao hơn.
Chúc các bạn thực hiện thành công!
Để lại một phản hồi