Skip to contentSkip to main navigation Skip to footer

Cài đặt và cấu hình Fail2ban trên Ubuntu 22.04

Fail2ban

Giới thiệu

Fail2ban là một phần mềm ngăn chặn xâm nhập được nhiều Quản trị viên Hệ thống Linux sử dụng để bảo vệ các máy chủ Linux khỏi các cuộc tấn công brute-force và các cuộc tấn công tự động khác.

Ở bài hướng dẫn này, mình sẽ hướng dẫn bạn cách cài đặt và cấu hình Fail2ban trên Ubuntu 22.04. Việc cài đặt và cấu hình Fail2ban khá dễ dàng và bạn không cần nhiều năm kinh nghiệm về quản trị Linux để thực hiện, nên các bạn chỉ cần làm theo tương tự như bài viết là có thể cài đặt thành công.

Hướng dẫn cài đặt

Bước 1: Cài đặt Fail2ban

  • Đầu tiên, bạn hãy cập nhật hệ thống và cài đặt Fail2ban theo lệnh:
sudo apt update
sudo apt install fail2ban -y
    
CleanShot 2022 05 12 at 23.31.50
  • Kiểm tra trạng thái và bật khởi động cùng hệ thống
sudo systemctl status fail2ban
sudo systemctl enable fail2ban
    
CleanShot 2022 05 12 at 23.33.37

Bước 2: Cấu hình Fail2ban

Đường dẫn của Fail2ban sẽ nằm tại /etc/fail2ban , và file cấu hình là jail.conf . Với cấu hình mặc định của Fail2Ban là khá ổn rồi, nên chúng ta không cần thiết phải chỉnh sửa gì thêm. Tuy nhiên nếu các bạn cần thay đổi cấu hình, thì có thể tham khảo hướng dẫn dưới.

  • Mở và chỉnh sửa nội dung file cấu hình jail.conf
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    

Trong file này các bạn có thể thay đổi các cấu hình sau:

  • ignoreip: Tại đây bạn sẽ thêm IP bạn cho phép truy cập, tuy nhiên thường địa chỉ IP ở VN là IP động, nên chúng ta không sử dụng được option này.
  • bantime: Khoảng thời gian (giây) block IP.
  • findtime: Khoảng thời gian (giây) một IP phải login thành công.
  • maxretry: Số lần login sai tối đa.
CleanShot 2022 05 13 at 00.08.59

Bước 3:  Bảo vệ SSH

Nếu các bạn cần cấu hình Fail2ban để bảo vệ SSH thì các bạn có thể thực hiện như sau

  • Tạo File jail.local với lệnh dưới
sudo nano /etc/fail2ban/jail.local
    
  • Thêm nội dung dưới vào file jail.local và chỉnh sửa cấu hình theo nhu cầu
[sshd]

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode   = normal
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry  = 3
bantime   = 3600
    

Chú thích:

  • port: Nếu dùng Port 22 thì để nguyên, nếu đã đổi Port khác thì bạn thay ssh bằng port của mình, ví dụ port = 2210
  • logpath: Đường dẫn file log fail2ban sử dụng mặc định /var/log/auth.log
  • maxretry: Số lần login sai tối đa.
  • bantime: thời gian ban IP 3600 giây = 1 giờ, bạn có thể điều chỉnh lại nếu muốn.
  • Khởi động lại dịch vụ Fail2Ban
sudo systemctl restart fail2ban
    
  • Bạn có thể xem lại lịch sử danh sách những phiên SSH vào máy chủ Ubuntu thất bại bằng lệnh sau:
cat /var/log/auth.log | grep 'Failed password' | sort | uniq -c
    
CleanShot 2022 05 13 at 01.19.18

Bước 4: Sử dụng Fail2ban client

Fail2ban có công cụ dòng lệnh riêng được gọi là fail2ban-client , ở đó bạn có thể sử dụng để tương tác với dịch vụ fail2ban. Và một số lệnh cơ bản các bạn cần lưu ý là:

  • Xem các tùy chọn được hỗ trợ trên Fail2ban
  • Kiểm tra danh sách IP bị chặn.
sudo fail2ban-client status sshd
    
CleanShot 2022 05 13 at 01.11.31
  • Để chặn một IP truy cập
sudo fail2ban-client set sshd banip 103.221.222.223            ## Thay 103.221.222.223 bằng IP cần chặn

    
  • Để bỏ chặn một IP
sudo fail2ban-client set sshd unbanip 103.221.222.223           ## Thay 103.221.222.223  bằng IP cần bỏ chặn
    

Ở trên là toàn bộ hướng dẫn cấu hình Fail2ban trên Ubuntu 22.04, việc sử dụng Fail2ban sẽ giúp các bạn tăng cường bảo mật cho máy chủ Linux của mình, từ đó hạn chế được các rủi ro tấn công từ các hacker. Hy vọng bài viết này sẽ giúp ích cho các bạn, chúc các bạn thực hiện thành công.

Các bạn có thể tham khảo thêm các hướng dẫn sử dụng khác tại link bên dưới:

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

Was This Article Helpful?

0
0 Comments

There are no comments yet

Leave a comment

Your email address will not be published. Required fields are marked *