Cách hủy kết nối IP đúng cách với Fail2Ban


200

Tôi đang sử dụng Fail2Ban trên máy chủ và tôi đang tự hỏi làm thế nào để hủy kết nối IP đúng cách.

Tôi biết tôi có thể làm việc trực tiếp với IPTables: iptables -D fail2ban-ssh <number>

Nhưng không có cách nào để làm điều đó với fail2ban-client?

Trong hướng dẫn sử dụng, nó ghi một cái gì đó như : fail2ban-client get ssh actionunban <IP>. Nhưng điều đó không hiệu quả.

Ngoài ra, tôi không muốn /etc/init.d/fail2ban restartvì điều đó sẽ mất tất cả các lệnh cấm trong danh sách.

Câu trả lời:


278

Với Fail2Ban trước v0.8.8:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

Với Fail2Ban v0.8.8 trở lên:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

Phần khó là tìm đúng nhà tù:

  1. Sử dụng iptables -L -nđể tìm tên quy tắc ...
  2. ... Sau đó sử dụng fail2ban-client statusđể có được tên tù thực tế. Tên quy tắc và tên tù có thể không giống nhau nhưng cần phải rõ ràng cái nào liên quan đến cái nào.

2
Nếu bạn có lỗi sau 'Invalid Action name', hãy đọc câu trả lời này
Morgan Courbet

32
Với các phiên bản gần đây của fail2banbạn nên sử dụng fail2ban-client set JAIL_NAME unbanip 1.2.3.4.
tftd

1
Tên tù mặc định là gì? /etc/fail2ban/jail.confkhông làm việc cho tôi.
Alex W

1
Bạn có thể tìm thấy tên tù trong nhật ký fail2ban nếu bạn tìm IP của mình
fred727

7
Sshd là tên tù cho tôi.
agustaf

82

Vì v0.8.8 có unbaniptùy chọn ( actionunbankhông dành cho mục đích này) Nó có thể được kích hoạt bằng setlệnh, nếu bạn nhìn vào danh sách các tùy chọn, bạn sẽ thấy cú pháp là. Vì vậy, nó sẽ được (bằng trái tim, xin vui lòng kiểm tra):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

chung chung hơn:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

làm việc cho tôi


3
Lệnh unbanip đã được thêm vào trong phiên bản 0.8.8. Giải pháp tốt nhất nếu bạn đang chạy 0.8.8 trở lên.
Vườn Alexander

1
Vấn đề liên quan đến vấn đề này trong trình theo dõi fail2ban là đây: github.com/fail2ban/fail2ban/issues/132
quả là

đây là câu trả lời đúng cho các phiên bản hiện tại cảm ơn bạn!
billynoah

nhận "Lệnh không hợp lệ (không có hành động được thiết lập hoặc chưa được thực hiện)"
Tom

bạn cần nêu đúng tên tù nhân (ví dụ sshd hoặc sshd-dos, xem nhật ký fail2ban của bạn)
ảo ảnh

53

Ví dụ cho SSH trong chế độ tương tác.

gõ vào bash:

fail2ban-client -i

sau đó trong chế độ tương tác, hãy đọc trạng thái của một nhà tù:

status sshd

bạn sẽ nhận được:

Status for the jail: ssh
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 2
   `- Banned IP list:   203.113.167.162

sau đó nhập chế độ tương tác fail2ban:

set sshd unbanip 203.113.167.162

bạn sẽ nhận được:

203.113.167.162

nó có nghĩa là không còn 203.113.167.162trong danh sách cấm.


3
Đối với tôi tên tù là sshd(Ubuntu 16)
scipilot

Đối với tôi, nó nói tổng số bị cấm: 6, nhưng danh sách theo ip bị cấm chỉ là trống rỗng :( phải truy tìm các bản ghi
William Hilsum

21

Câu trả lời của ukoda là sai:

Gọi fail2ban-clientmà không có tham số và bạn thấy một danh sách các lệnh có thể:

get JAIL actionunban ACT             

Điều này nhận được lệnh unban cho hành động ACT cho JAIL.

Nhìn vào tham số hành động của nhà tù bạn đã xác định, bạn có thể có một hành động iptables và có thể một số khác như sendmail, whois hoặc bất cứ điều gì. Vì vậy, trong trường hợp hành động của bạn là iptables, nó sẽ trông như thế này:

fail2ban-client get JAIL actionunban iptables

và câu trả lời sẽ là:

iptables -D fail2ban-NAME -s IP -j DROP

Nó sẽ chỉ cho bạn thấy những gì bạn sẽ phải viết cho một unban. Không có lệnh unban chính nó.


3
Vâng, điều đó đã làm việc cho tôi, để thoát khỏi nhà tù SSH iptables -D fail2ban-ssh -s <IP> -j DROP. Cảm ơn ingo!
Deele

8

Nếu 192.168.2.1 bị cấm

sudo iptables -L

Kiểm tra xem Chuỗi nào bị cấm trong ví dụ:

Chuỗi fail2ban-sasl (1 tài liệu tham khảo)

DROP tất cả - 192.168.2.1 ở bất cứ đâu

Sau đó:

# to view the proper command for un-banning
sudo fail2ban-client get sasl actionunban
# actual command
iptables -D fail2ban-sasl -s 192.168.2.1 -j DROP

4

Trước tiên bạn cần phải có được tên của nhà tù. Bạn có thể lấy danh sách (trong hầu hết các trường hợp, nó sẽ chỉ là ssh jail):

fail2ban-client status

Sau khi nhận được tên tù, bạn có thể kiểm tra IP nào đang bị bỏ qua.

fail2ban-client get ssh ignoreip

Nếu IP của bạn nằm trong danh sách bỏ qua, bạn có thể xóa nó qua:

fail2ban-client set ssh delignoreip your_ip_address
vi /etc/hosts.deny

Xóa mục nhập máy chủ của bạn:

fail2ban-client reload

2
Danh sách bỏ qua là một danh sách các IP không bao giờ cấm. Điều đó hoàn toàn không liên quan đến danh sách các IP hiện bị cấm, đây là danh sách mà OP muốn xóa IP khỏi.
jlh

3

Sử dụng fail2ban v.0.8.6:

$ sudo fail2ban-client status # to reveal your JAIL name (mine is ssh)
$ sudo fail2ban-client set ssh delignoreip your_ip_address
$ sudo nano /etc/hosts.deny # delete your ip address
$ sudo fail2ban-client reload

Điều này giả định rằng host.deny là hành động được sử dụng .... Nhưng nó vẫn hữu ích hơn những thứ cố gắng thay đổi phương thức hủy bỏ IP trên các phiên bản cũ hơn bằng cách sử dụng actionunban...
Gert van den Berg

Các delignoreiphành động được không loại bỏ một IP từ một lệnh cấm, nó là loại bỏ một IP từ danh sách IP bị bỏ qua (tức là IP mà sẽ không bao giờ bị cấm).
Tonin

2

Thật không may với phiên bản 0.8.2 của fail2ban-client, lệnh:

fail2ban-client get jail actionunban ipaddress

không chạy Để giải quyết vấn đề, lựa chọn tốt nhất là nâng cấp fail2ban lên phiên bản mới nhất và sử dụng tùy chọn mới:

unbanip


1

Nếu một IP nằm trong nhiều tù thì điều này trở thành một nỗi đau.

một lớp lót để loại bỏ 192.168.1.2 khỏi tất cả các nhà tù:

 for jail in $(fail2ban-client status | grep 'Jail list:' | sed 's/.*Jail list://' | sed 's/,//g'); do fail2ban-client set $jail unbanip 192.168.1.2; done

một tập lệnh để làm tương tự https://gist.github.com/yolabingo/c810db6fe7f8bfcb9eb4f6ffc531e474


0

Nếu bạn đang chạy phiên bản v0.10.2:

sudo fail2ban-client unban YOU_IP_ADDRESS

Đây là từ trợ giúp:

unban <IP> ... <IP> unbans <IP> (in all jails and database)

Xác nhận hoạt động trong trường hợp của tôi khi tôi rất có thể bị cấm do khách hàng đăng nhập liên tục với mật khẩu sai.

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.