Cách chặn tấn công 404 attacks sử dụng fail2ban

Gần đây, một số khách hàng của tôi đã bị tấn công 404, những kẻ tấn công sẽ request rất nhiều yêu cầu đến nhiều page, post, product … khác nhau, có thể họ đang dùng các công cụ để tìm ra lỗ hổng bảo mật, bởi có rất nhiều yêu cầu và nên khiến máy chủ bị quá tải dù chưa tới mức sập web nhưng đến hiệu suất của trang web bị tấn công cũng như những trang khác được lưu trữ trên cùng một máy chủ.

Để đối phó với tình trạng này thì bạn có thể sử dụng failed2ban sẽ giúp ngăn chặn các kiểu tấn công này bằng cách chặn các IP tạo ra quá nhiều lỗi 404.

Hãy cùng tìm hiểu về fail2ban và cách để ngăn chặn cuộc tân công theo dạng này.

Fail2ban là gì?

Fail2Ban là một công cụ bảo mật mã nguồn mở được sử dụng để bảo vệ máy chủ khỏi các cuộc tấn công vét cạn (brute-force attacks), tấn công từ điển (dictionary attacks), và các hoạt động độc hại khác bằng cách theo dõi các logs và tự động chặn các địa chỉ IP hiển thị hành vi gian lận hoặc tấn công.

Nguyên lý hoạt động của Fail2Ban là theo dõi các log của các ứng dụng như SSH, web server, mail server, và các dịch vụ khác trên máy chủ. Nó quét các logs để phát hiện các hoạt động đáng ngờ, như nhiều lần đăng nhập thất bại, sử dụng từ khóa không hợp lệ, hoặc các mẫu hoạt động đáng ngờ khác.

Khi Fail2Ban phát hiện ra hành vi không đúng, nó có thể tự động chặn địa chỉ IP liên quan trong một khoảng thời gian xác định, ngăn chặn việc truy cập từ địa chỉ IP đó vào máy chủ.

Công cụ này cung cấp một cách hiệu quả để ngăn chặn các cuộc tấn công từ điển hoặc vét cạn mật khẩu bằng cách giới hạn số lần thử trong một khoảng thời gian. Điều này giúp bảo vệ máy chủ khỏi các hành vi độc hại có thể gây nguy hiểm cho hệ thống.

Fail2Ban không chỉ giúp bảo vệ máy chủ mà còn cung cấp khả năng tự động phản ứng và bảo vệ, giúp hệ thống tự động đối phó với các mối đe dọa mạng một cách linh hoạt và hiệu quả.

Trước khi sử dụng fail2ban bạn có thể cài đặt fail2ban bằng lệnh dưới đây

Cài đặt fail2ban trên hệ điều hành Ubuntu

sudo apt update
sudo apt install fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Cài đặt fail2ban trên hệ điều hành AlmaLinux

sudo dnf update
sudo dnf install fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Chặn tấn công 404 trên máy chủ Nginx

Dưới đây là một số bước để kích hoạt tính năng chặn tấn công 404

Bước 1:

Đăng nhập vào SSH hoặc sử dụng ứng dụng SFTP

Bước 2:

Tạo 1 tên mới có tên là nginx-4xx.conf vào đường dẫn /etc/fail2ban/filter.d/

Tiếp đó thêm vào file vừa tạo đoạn code định nghĩa phía dưới

[Definition] 
failregex = ^<HOST>.*"(GET|POST).*" (404|444|403|400) .*$ 
ignoreregex =
  • failregex: Mẫu biểu thức chính quy này ghi lại các mục nhật ký khớp với failregex đã đặt. Nó tìm kiếm các dòng trong tệp nhật ký chứa địa chỉ IP ( ) theo sau là các phương thức “GET” hoặc “POST” và một trong các mã trạng thái HTTP 4xx được chỉ định.
  • ignoreregex: Phần này trống, ngụ ý không có mẫu biểu thức chính quy cụ thể nào cần bỏ qua.

Bộ lọc yêu cầu Fail2ban tìm kiếm các lỗi được đánh dấu phản hồi 400, 403, 404 và 444.

Bước 3:

Bây giờ, mở file jail.conf ở đường dẫn /etc/fail2ban/jail.conf và sau đó thêm code phía dưới vào cuối file

[nginx-4xx] 
enabled = true 
port = http,https 
filter = nginx-4xx 
logpath = /var/log/nginx/access.log 
bantime = 1800 
findtime = 60
maxretry = 5
  • enabled: Cho biết liệu jail có được kích hoạt hay không ( truetrong trường hợp này).
  • port: Chỉ định các cổng cần giám sát (cổng HTTP và HTTPS).
  • filter: Trỏ đến định nghĩa bộ lọc (nginx-4xx)
  • logpath: Đọc file log tại /var/log/nginx/access.log

Trong phần trên bạn nên điều chỉnh 1 số thông số bantime, maxretry, và findtime cho phù hợp. Code này có nghĩa là nếu người dùng gặp lỗi 404 5 lần trong khoảng thời gian 60 giây thì cấm IP của người dùng đó trong 1800 giây, tức là 30 phút.

Bước 4:

Giờ bạn hãy khởi động lại fail2ban với lệnh dưới đây.

service fail2ban restart

Để xem trạng thái hoạt động, bao gồm cả IP bị bỏ tù, bạn có thể chạy lệnh sau:

fail2ban-client status nginx-4xx

Hy vọng 1 tip nhỏ trên sẽ giúp cho website của bạn được tăng cường bảo mật hơn, máy chủ sẽ đỡ bị ngập lụt trong các request độc hại.

Nếu bạn thấy bài viết có ích hãy sao chép link và chia sẻ bài viết
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, dịch vụ quảng cáo Google, quảng cáo Facebook, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan