xung đột ufw và fail2ban tiềm năng


45

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.


Phiên bản Ubuntu nào ? ('ufw' đã được cải thiện đôi chút trong khoảng từ 10,04 LTS đến 11.x )
david6

@ david6: xin lỗi, tôi không nhớ phiên bản nào tôi đang chạy khi tôi đặt câu hỏi ban đầu.
Adam Monsen

Câu trả lời:


49

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.dnộ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


7
Vì vậy, trong ngắn hạn: không thực hiện tích hợp như đã giải thích, cả ufw và fail2ban đều hoạt động như bình thường. Fail2ban sẽ chèn các định nghĩa chặn của nó trước khi các quy tắc của ufw được áp dụng. Mặt khác, nếu ai đó muốn có các khối hiển thị 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 (...)
bouke

1
Chính xác. "Đừng chơi đẹp" tương đương với việc không hiển thị khi bạn kiểm tra chúng với trạng thái ufw. Lợi ích của việc tích hợp là bạn đang sử dụng một công cụ, ufw, để quản lý và hiển thị các quy tắc tường lửa của bạn. Không có gì sai khi sử dụng fail2ban, về mặt chức năng. Vấn đề là để thấy các quy tắc fail2ban, bạn sẽ cần sử dụng iptables -L -v -n, và như bạn đã thấy, khi sử dụng ufw, đầu ra rất dài và khó theo dõi. Ưu điểm của tích hợp là các quy tắc và cú pháp sau đó dễ hiểu hơn (giả sử đó là lý do tại sao bạn sử dụng ufw ở vị trí đầu tiên)
Panther

Đối với bản ghi, nếu bạn nhấp vào bất kỳ nơi nào trên trang web bạn đã liên kết, bạn sẽ được chuyển hướng đến phần mềm độc hại / phần mềm quảng cáo.
Antonio Cangiano

@AntonioCangiano - Liên kết hoạt động tốt ở đây, kiểm tra trình duyệt và DNS của bạn
Panther

@ bodhi.zazen Bất kỳ nhấp chuột nào vào bài viết được liên kết sẽ chuyển hướng đến một trang web lừa đảo như Antonio đã chỉ ra chính xác. Tôi miễn cưỡng nhận lời khuyên bảo mật từ bài viết như vậy.
Goran Miskovic

4

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.


4

Cài đặt 0.9.5 của fail2ban bao gồm một ufwhành động mà tôi đơn giản phải đặt chobanaction


2
Đối với bản ghi, hành động cũng có trong phiên bản 0.8.13
Joril
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.