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 vectơ tấn công phổ biến nhất chống lại máy chủ là nỗ lực đăng nhập brute force. Đây là nơi những kẻ tấn công cố gắng truy cập vào máy chủ của bạn, cố gắng kết hợp vô hạn 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à giới hạn số lần thử và chặn quyền truy cập vào người dùng hoặc IP đó trong một thời gian nhất định. Cũng cần biết rằng đối với điều này cũng có các ứng dụng mã 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 ban đầ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 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 hiển thị hoạt động độc hại, như quá nhiều mật khẩu bị lỗi 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 nhất định, 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 của các bản phân phối Linux chính và cụ thể hơn là trong phần lớn được sử dụng trên các máy chủ, chẳng hạn như CentOS, RHEL và Ubuntu.

Trong trường hợp của Ubuntu, chỉ cần nhập thông tin sau để cài đặt:

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

Trong trường hợp của Centos và RHEL, họ phải nhập 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 điều này được thực hiện, họ sẽ biết trước 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. fail2ban.confes tệp cấu hình Fail2Ban lớn hơn, nơi bạn có thể định cấu hình các cài đặt như:

  • Mức độ nhật 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ụ để bảo vệ.
  • Cấm bao lâu nếu họ nên 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 tập hợp cài đặt được xác định trước, chẳng hạn như SSH.

cấu hình

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

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

Và chúng tôi tiến hành chỉnh sửa ngay bây giờ với nano:

nano /etc/fail2ban/jail.local

Bên trong, chúng tôi chuyển đến phần [Mặc định] nơi chúng tôi 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ị loại bỏ và chúng sẽ hoàn toàn bị bỏ qua bởi Fail2Ban, về cơ bản đó là IP của máy chủ (cục bộ) và các IP khác mà bạn nghĩ nên bị bỏ qua.

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

Sau khi cấu hình chung, bây giờ chúng tôi sẽ chỉ ra dịch vụ. Fail2Ban đã có 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ố chuyển thể. Đây là một ví dụ:

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

Với các thay đổi liên quan đượ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

Sau khi hoàn thành, hãy kiểm tra nhanh để xem Fail2Ban đang chạy:

sudo fail2ban-client status

Bỏ cấm IP

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

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

Nơi "xxx......" Nó sẽ là địa chỉ IP mà bạn chỉ định.


Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây.

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.