Cài đặt và cấu hình CSF chặn truy cập nước ngoài

4

Do tình hình ngày mình càng cảm nhận VPS kém an toàn khi mặc định các cấu hình hacker đều sử dụng tools để quét hàng loạt. Những VPS nào cấu hình mặc định dễ dàng bị hacker tấn công và chiếm quyền kiểm soát.

Liên tục bị tools tấn công
Liên tục bị tools tấn công

Bản thân mình cũng vậy, bị hack nhiều rồi nên giờ coi trong bảo mật tìm các cách để bảo vệ cho chính mình với tư tưởng: phòng còn hơn chống.

: Cài đặt và cấu hình CSF chặn truy cập nước ngoài

Hôm nay mình sẽ hướng dẫn các bạn cách bảo mật VPS trên Centos 7 bằng tường lửa CSF.

Có thể bạn quan tâm:

CSF là gì?

CSF là viết tắt của ConfigServer Security & Firewall – là một tường lửa phổ biến và nổi tiếng được sử dụng nhiều trên các server Linux hiện nay. Bên cạnh những tính năng cơ bản như một firewall, CSF còn có những chức năng bảo mật nâng cao khác như ngăn chặn flood login, port scans, SYN floods…

Cài đặt CSF trên Centos

Để cài đặt CSF bạn cần truy cập SSH  của VPS để chạy các dòng bash script sau.

Bước 1: Tải các tài nguyên cần thiết

Trên Terminal Console bạn chạy lệnh sau:

yum install perl-libwww-perl

Bước 2: Tải và cài đặt CSF

Để tải CSF các bạn chạy lệnh sau:

cd /tmp
wget https://download.configserver.com/csf.tgz

Tiến hành cài đặt CSF:

tar -xzf csf.tgz
cd csf
sh install.sh

Cấu hình CSF

: Cài đặt Memcached trên CentOS 8

Mặc định CSF ở chế độ “Testing” nghĩa là CSF chưa hoàn toàn bật tất cả các tính năng để bảo vệ Server của bạn với lý do:

VPS mỗi người sẽ có các cấu hình, port khác nhau nên bạn cần chỉnh sửa cấu hình trước khi bật Firewall lên

File cấu hình của CSF nằm ở đường dẫn sau  /etc/csf/csf.conf bạn truy cập mở bằng Notepad++ để chỉnh sửa.

Mình sẽ hướng các bạn cấu hình vài bước cơ bản của VPS sử dụng HocVPS

Cấu hình Port cho CSF

Tại dòng 138:

# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
# Allow incoming UDP ports
UDP_IN = "20,21,53"
# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list 
UDP_OUT = "20,21,53,113,123"

Thông tin các port:

  • 20,21 là port File Transfer Protocol nếu bạn không sử dụng FTP bạn nên disable
  • 25, 110, 143, 465, 587, 993, 995 là các port liên quan đến mail server. Mình chỉ đặt Outgoing 465 vì mặc định HocVPS Script không xài mail server nên cần một hệ thống mail server khác hỗ trợ.
  • 53 Domain name.
  • 80 port giao thức http.
  • 443 port https.

HocVPS Script cài đặt xong sẽ tự đổi port ssh về 2222 nên bạn cần bổ sung các port sau:

  • 2222 – port ssh hoặc nếu bạn đã đổi port thì bổ sung port đó vào.
  • Port admin – port khi bạn cài đặt để truy cập admin HocVPS Script.

Cấu hình Final của mình để bạn có thể tham khảo:

# Allow incoming TCP ports
TCP_IN = "20,21,53,80,443,2222,2020"
# Allow outgoing TCP ports
TCP_OUT = "20,21,53,80,443,465"
# Allow incoming UDP ports
UDP_IN = "20,21,53"
# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list 
UDP_OUT = "20,21,53,113,123"

Cấu hình CSF block country

Đây là phần mình thích nhất vì nó có thể giúp loại bỏ thằng Trung Quốc một trong những thằng tấn công server mình nhiều nhất.

Bạn tìm đến dòng 923:

# Each option is a comma separated list of CC's, e.g. "US,GB,DE"
CC_DENY = ""
CC_ALLOW = ""

: Hướng dẫn cập nhật Nginx cho HocVPS Script

Trong đó:

  • CC_DENY những quốc gia không được phép truy cập vào server, website
  • CC_ALLOW chỉ quốc gia nào đó được liệt kê ở đây được phép truy cập còn lại chặn toàn bộ.

Mình chỉ sử dụng CC_DENY vì đâu đó còn anh Google Bot cần truy cập vào website của mình. Để tìm mã code quốc gia bạn truy cập https://countrycode.org/ lấy mã code 2 chữ số nhé.

Cấu hình tham khảo của mình:

# Each option is a comma separated list of CC's, e.g. "US,GB,DE"
CC_DENY = "CN,UA,RU,IR,IT,LT,HK,NL,PK,BR,CA,TW,ES,RO,IN,TH"
CC_ALLOW = ""

Sau khi chỉnh sửa xong bạn chuyển chế độ Testing = 0 tại dòng thứ 11:

TESTING = "0"

Khởi động CSF

Chạy CSF và cho phép tự kích hoạt mỗi khi boot VPS

chkconfig --level 235 csf on
service csf restart

Các file cấu hình CSF bạn cần lưu ý

Toàn bộ thông tin cấu hình và quản lý CSF được lưu ở các file trong folder /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.

Một số lệnh thường dùng

Một số câu lệnh sử dụng để add (-a) hoặc deny (-d) một địa chỉ IP.

csf -d IPADDRESS //Block địa chỉ IP
csf -dr IPADDRESS //Xóa địa chỉ IP đã bị block
csf -a IPADDRESS //Allow địa chỉ IP
csf -ar IPADDRESS //Xóa địa chỉ IP đã được allow
csf -g IPADDRESS //Kiểm tra địa chỉ IP có bị block không
csf -r //Khởi động lại CSF
csf -x //Tắt CSF
csf -e //Mở CSF

Trong trường hợp bạn quên những lệnh trên, hãy sử dụng csf sẽ liệt kê toàn bộ danh sách các option.

Lời kết

Như vậy mình đã hướng dẫn các bạn cách cài đặt và cấu hình cho CSF. Mong rằng cách này sẽ giúp các bạn hạn chế các cuộc tấn công không mong muốn và nâng cao được thêm bảo mật server.

Nếu bạn thấy bài viết trên hay, hãy chia sẽ để cho mình có thêm động lực nhé 🙂

: Hướng dẫn cài đặt Memcached trên Directadmin

Theo dõi
Notify of
guest
4 Comments
cũ nhật
Mới nhất Đánh giá nhiều nhất
Inline Feedbacks
View all comments
Jimmy Huy

hình như cách này ko còn hiệu quả nữa thì phải đó bác, em thử chặn IP thì ok, nhưng chặn mã vùng thì vẫn vào ầm ầm

DiamondNgo

Bác thử chọn vn xem có vào được không ????

Gia Khánh

CFS mình đang limit 200 IP, giờ cấu hình tăng lên 1000…. thì làm cách nào ah.

DiamondNgo

Bạn chỉnh thông số CT_LIMIT = “1000” nhé