Fail2Ban một lựa chọn tuyệt vời để đẩy lùi các cuộc tấn công vũ phu trên máy chủ của bạn

fail2ban

Một trong những phương thức tấn công phổ biến nhất chống lại máy chủ là các nỗ lực đăng nhập bằng vũ lực. Đây là nơi kẻ tấn công cố gắng truy cập vào máy chủ của bạn, thử kết hợp vô số tên người dùng và mật khẩu.

Đối với những loại vấn đề này Giải pháp nhanh nhất và hiệu quả nhất là hạn chế số lần thử và chặn quyền truy cập đối với người dùng hoặc IP đó. trong một thời gian nhất định. Điều quan trọng cần biết là cũng có những ứng dụng nguồn mở được thiết kế đặc biệt để chống lại kiểu tấn công này.

Trong bài viết hôm nay, Tôi sẽ giới thiệu cho bạn một cái tên là Fail2Ban. Được phát triển lần đầu bởi Cyril Jaquier vào năm 2004, Fail2Ban là một khung phần mềm ngăn chặn xâm nhập nhằm bảo vệ máy chủ khỏi các cuộc tấn công vũ phu.

Giới thiệu về Fail2ban

Fail2ban quét các tệp nhật ký (/var/log/apache/error_log) và cấm các IP có hoạt động độc hại, như có quá nhiều lỗi mật khẩu và tìm kiếm lỗ hổng, v.v.

Nói chung, Fail2Ban được sử dụng để cập nhật các quy tắc tường lửa để từ chối địa chỉ IP trong một khoảng thời gian cụ thể, mặc dù bất kỳ hành động tùy ý nào khác (ví dụ: gửi email) cũng có thể được định cấu hình.

Cài đặt Fail2Ban trên Linux

Fail2Ban được tìm thấy trong hầu hết các kho lưu trữ của các bản phân phối Linux chính và cụ thể hơn là trong các kho được sử dụng nhiều nhất để sử dụng trên các máy chủ, chẳng hạn như CentOS, RHEL và Ubuntu.

Trong trường hợp Ubuntu, chỉ cần gõ lệnh sau để cài đặt:

sudo apt-get update && sudo apt-get install -y fail2ban

Trong trường hợp của Centos và RHEL, bạn phải gõ như sau:

yum install epel-release
yum install fail2ban fail2ban-systemd

Nếu bạn có SELinux, điều quan trọng là phải cập nhật các chính sách với:

yum update -y selinux-policy*

Khi việc này hoàn tất, trước hết bạn nên biết rằng các tệp cấu hình Fail2Ban nằm trong /etc/fail2ban.

Cấu hình của Fail2Ban chủ yếu được chia thành hai tệp chính; đây là Fail2ban.conf và jail.conf. failed2ban.confes tệp cấu hình Fail2Ban lớn nhất, nơi bạn có thể định cấu hình các cài đặt như:

  • Mức độ đăng ký.
  • Tệp để đăng nhập.
  • Tệp ổ cắm quy trình.
  • Tệp pid.

jail.conf là nơi bạn định cấu hình các tùy chọn như:

  • Cấu hình của các dịch vụ được bảo vệ.
  • Cấm bao lâu nếu họ bị tấn công.
  • Địa chỉ email để gửi báo cáo.
  • Hành động cần thực hiện khi phát hiện một cuộc tấn công.
  • Một bộ cài đặt được xác định trước, chẳng hạn như SSH.

cấu hình

Bây giờ hãy chuyển sang phần cấu hình, Điều đầu tiên chúng ta sẽ làm là sao lưu tệp jail.conf bằng:

cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Và chúng ta tiến hành chỉnh sửa ngay bây giờ bằng nano:

nano /etc/fail2ban/jail.local

Bên trong, chúng ta đi đến phần [Mặc định] nơi chúng ta có thể thực hiện một số điều chỉnh.

Ở đây trong phần “ingoreip” là các địa chỉ IP sẽ bị bỏ qua. và chúng sẽ bị Fail2Ban bỏ qua hoàn toàn, tức là về cơ bản, IP của máy chủ (địa phương) và các IP khác mà bạn cho là nên bỏ qua.

Từ đó trở đi Các IP khác không truy cập được sẽ có nguy cơ bị cấm và đợi số giây nó sẽ bị cấm (theo mặc định là 3600 giây) và failed2ban chỉ hoạt động sau 6 lần thử thất bại

Sau khi cấu hình chung, bây giờ chúng tôi sẽ chỉ ra dịch vụ. Fail2Ban đã có sẵn một số bộ lọc được xác định trước cho các dịch vụ khác nhau. Vì vậy, chỉ cần thực hiện một số điều chỉnh. Đây là một ví dụ:

[ssh] enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Với những thay đổi thích hợp được thực hiện, cuối cùng bạn sẽ cần tải lại Fail2Ban, chạy:

service fail2ban reload
systemctl enable firewalld
systemctl start firewalld

Khi việc này hoàn tất, hãy kiểm tra nhanh để xem Fail2Ban có đang chạy hay không:

sudo fail2ban-client status

Bỏ cấm IP

Bây giờ chúng ta đã cấm IP thành công, nếu muốn bỏ cấm IP thì sao? Để làm điều đó, chúng ta có thể sử dụng lại failed2ban-client và yêu cầu nó bỏ cấm một IP cụ thể, như trong ví dụ sau.

sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx

Ở đâu “xxx…” Đó sẽ là địa chỉ IP mà bạn chỉ định.


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.