Chạy cả fail2ban và ufw có gây ra sự cố không? Tôi nhận thấy rằng fail2ban sửa đổi các quy tắc iptables, nhưng ufw đã có rất nhiều quy tắc iptables được xác định ... vì vậy tôi không chắc chắn nếu fail2ban sẽ làm rối tung các quy tắc này.
Chạy cả fail2ban và ufw có gây ra sự cố không? Tôi nhận thấy rằng fail2ban sửa đổi các quy tắc iptables, nhưng ufw đã có rất nhiều quy tắc iptables được xác định ... vì vậy tôi không chắc chắn nếu fail2ban sẽ làm rối tung các quy tắc này.
Câu trả lời:
Bạn có thể sử dụng ufw và fail2b cùng nhau, nhưng như đã nêu trước đó, thứ tự của quy tắc (ufw) là điều quan trọng.
Ra khỏi hộp, fail2ban sử dụng iptables và chèn các quy tắc đầu tiên trong chuỗi INPUT. Điều này sẽ không gây hại hay xung đột với ufw.
Nếu bạn muốn tích hợp hoàn toàn fail2ban để sử dụng ufw (đúng hơn là iptables). Bạn sẽ cần chỉnh sửa một số tệp bao gồm
/etc/fail2ban/jail.local
jail.local là nơi bạn xác định dịch vụ của mình, bao gồm cả cổng họ đang nghe (nghĩ thay đổi ssh thành cổng không mặc định) và hành động nào cần thực hiện.
** Xin lưu ý *: Không bao giờ chỉnh sửa jail.conf , các thay đổi của bạn sẽ được thực hiện jail.local
! Tập tin đó bắt đầu bằng điều này:
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory
Sử dụng ssh làm ví dụ, lưu ý định nghĩa của một cổng không mặc định là tốt =)
[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Sau đó, bạn định cấu hình fail2ban để sử dụng ufw trong (một tệp .conf cho mỗi dịch vụ)
/etc/fail2ban/action.d/ufw-ssh.conf
Cú pháp là
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH
Lưu ý: Bạn định cấu hình fail2ban để sử dụng ufw và chèn quy tắc mới FIRST bằng cú pháp "insert 1". Việc xóa sẽ tìm quy tắc bất kể thứ tự.
Có một bài viết blog hay đi vào chi tiết hơn ở đây
http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/
[EDIT] Dành cho Ubuntu 16.04+
theo mặc định một " defaults-debian.conf
" trong /etc/fail2ban/jail.d
nội dung
[sshd]
enabled = true
sẽ kích hoạt bảo vệ ssh của fail2ban.
Bạn cần đặt nó sai.
Sau đó, tạo một jail.local như bạn thường làm, của tôi sẽ như thế này:
[ssh-with-ufw]
enabled = true
port = 22
filter = sshd
action = ufw[application="OpenSSH", blocktype=reject]
logpath = /var/log/auth.log
maxretry = 3
Đã có một ufw.conf trong cài đặt mặc định fail2ban nên không cần tạo.
Thay đổi cụ thể duy nhất cho bạn jail.local sẽ là dòng hành động mà bạn cần đặt ứng dụng liên quan để bảo vệ và kết quả bạn muốn nhận là gì.
ufw có xu hướng tự động phát hiện một lượng ứng dụng nhất định đang chạy bằng mạng. Để có danh sách chỉ cần gõ sudo ufw app list
. Đó là trường hợp nhạy cảm.
tải lại fail2ban và bạn sẽ không còn thấy chuỗi fail2ban nữa và nếu có bất kỳ IP nào có một khối, bạn sẽ thấy nó trong sudo ufw status
ufw status
, bạn cần tích hợp. Bên cạnh việc các khối xuất hiện ufw status
, sẽ không có lợi ích nào khác? Đặc biệt bởi vì tác giả của blog nói như sau: Out of the box Fail2ban hoạt động với các quy tắc iptables, tuy nhiên những điều này không chơi tốt với các lệnh UFW đơn giản hơn của chúng tôi (...)
Tôi đã sử dụng fail2ban và ufw trong nhiều năm trên một số máy tính khác nhau và không bao giờ có bất kỳ vấn đề nào. Để thiết lập fail2ban:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local
Bây giờ chỉnh sửa tệp theo ý muốn, ví dụ nếu bạn muốn chặn ssh trái phép, hãy tìm các dòng:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
nếu "đã bật" được đặt thành "sai", hãy đổi nó thành "đúng" như đã lưu ý ở đây. Sau khi bạn đặt quy tắc, bạn cần khởi động lại quy trình fail2ban:
sudo /etc/init.d/fail2ban restart
Nếu bạn đã mở cổng 22 trên tường lửa ufw fail2ban của bạn sẽ cấm các máy khách cố gắng kết nối hơn 6 lần mà không thành công, nó sẽ không phá vỡ tường lửa của bạn.
Cài đặt 0.9.5 của fail2ban bao gồm một ufw
hành động mà tôi đơn giản phải đặt chobanaction