우분투 리눅스에서 모든 fail2ban 금지를 삭제하십시오


16

우분투에서 fail2ban 금지를 모두 삭제하려면 어떻게해야합니까? 나는 모든 것을 시도했지만 그것을 얻지 못했습니다.

모든 차단을 삭제하고 싶지만 IP 주소를 모릅니다.


1
차단은 일반적으로 방화벽을 통해 IP 주소에서 수행되므로 방화벽 규칙을 확인해야합니다.
Julie Pelletier

네 알아요 하지만 IP 주소를 알리지 않고 모든 금지를 해제하고 싶습니다
Patrick

답변:


26

업데이트 된 답변

버전 0.10.0 기준으로 fail2ban-client특징 unban두 가지 방법으로 사용할 수있는 명령을 :

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

또한 restart <JAIL>, reload <JAIL>reload명령은 현재도이 --unban옵션을 선택합니다.

기존 답변

fail2ban은 iptables트래픽을 차단 하는 데 사용 합니다. 현재 차단 된 IP 주소를 보려면 다음을 입력하십시오.

iptables -L -n

명명 다양한 체인을 찾아 fail2ban-something, somethingfail2ban 감옥에 점 (예를 들어, Chain f2b-sshd감옥을 의미한다 sshd). <IP>주어진 jail 의 단일 IP 주소에 대한 블록 만 제거하려는 경우 <JAIL>fail2ban은 자체 클라이언트를 제공합니다.

fail2ban-client set <JAIL> unbanip <IP>

또는 줄 번호를 사용할 수 있습니다. 먼저 iptables줄 번호와 함께 규칙을 나열하십시오 .

iptables -L -n --line-numbers

다음으로 사용할 수 있습니다

iptables -D fail2ban-somejail <linenumber> 

테이블에서 한 줄을 제거합니다. 내가 아는 한 줄 번호 범위를 선택할 수있는 옵션이 없으므로이 명령을 for 루프로 감싸 야한다고 생각합니다.

for lin in {200..1}; do
   iptables -D fail2ban-somejail $lin
done

여기에 200을 올렸습니다. 를 사용하여 명령의 출력을 확인 --line-numbers하고 마지막 행 (with RETURN)을 유지해야합니다. 카운트 다운의 이유는 아래 @roaima의 의견을 참조하십시오.


감사합니다 @roaima! 이에 따라 답변을 업데이트하겠습니다.
ph0t0nix

1
@roaima 네, 그것은 (적어도 zsh을하고 떠들썩한 파티에)입니다 : echo {5..1}발생합니다 5 4 3 2 1.
ph0t0nix

넌 나를 구했다. 고마워 명령 대신에 fail2ban-client가 필요하다는 것을 알아야했기 때문에 전체 명령을 추가하십시오. (나는 멍청한 놈 때문에)
sebastian.roibu

이전 답변은 여전히 ​​DuckDuckGo에 캐시되어 있으며 @roaima-snipboard.io/ 0oZkXy.jpg
Ari

15

모든 IP를 금지 해제하는 가장 좋은 방법은 금지 시간을 1 초로 설정하는 것입니다. 그러면 모든 IP가 즉시 해제됩니다.

fail2ban-client set JailName bantime 1

그런 다음 적절한 금지 시간을 다시 설정할 수 있습니다.

fail2ban이 금지 해제를 수행하도록하는 것이 좋습니다. iptables를 수동으로 편집하지 마십시오.


1
이것이 유일한 정답입니다. Fail2ban은 독립적으로 삭제해야하는 자체 금지 데이터베이스를 유지 관리합니다. iptables 규칙 삭제에 대한 모든 답변은 fail2ban이 백업되는 순간을 무시하고 방금 삭제 한 규칙을 iptables에 다시 추가합니다. 또한 모든 fail2ban 구성이 iptables를 사용하여 금지를 구현하는 것은 아닙니다.
Cliff Armstrong

3
와 함께 모든 감옥 찾기fail2ban-client status
Flion

방금이 명령을 내렸고 fail2ban이 감옥을 처리함에 따라 감옥의 IP 수가 0으로 감소하는 것을 지켜보고 있습니다. 정말 빨리 일어나지는 않지만 괜찮습니다. 감옥에 5 천 개가 넘는 항목이 있습니다. 좋은 대답입니다!
Eric M

5

최신 fail2ban-client(0.10)unban -all명령을 사용합니다. 교도소는 또한 개별적으로 "재시작"될 수있어 효과적으로 금지를 해제합니다.

이전 버전을 사용하는 경우이 트릭은 자동 임시 금지에 대해 작동 할 수 있습니다. 금지가 포함 된 감옥을 삭제 한 다음 fail2ban을 다시 시작하여 (현재 비어있는) 감옥을 다시 작성하십시오.

$ fail2ban-client stop sshd
Jail stopped
$ systemctl restart fail2ban

1
-모두 또는-모두? 아니면-모두?
와일드 카드

3

iptable 설정을 파일로 저장

$ iptables-save > iptables.conf

Than than config를 iptables로 다시로드하려는 편집기로 편집하십시오.

$ iptables-restore < iptables.conf

iptables에 구성을 저장하는 것을 잊지 마십시오. 재부팅시 선택됩니다.

$ service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

이것이 할 수있는 방법 중 하나입니다. 감사.
User9102d82

3

1. 서비스를 중지하면 fail2ban에 의해 추가 된 모든 규칙이 정리됩니다.

service fail2ban stop

2. 다른 iptables 규칙이 없으면 플러시 할 수 있습니다.

iptables -F

주의 : iptables의 다른 규칙이 지워집니다.


3

여기에 전체 one2ban 감옥을 적절한 방법으로 금지시키는 간단한 oneliner가 있습니다.

iptables -L f2b-recidive -n | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | grep -v 0.0.0.0 | xargs -n 1 fail2ban-client set recidive unbanip

참고 : iptables 명령은 jail 이름 앞에 "f2b-"접두사를 사용하고 실제 jail 이름은 "fail2ban-client"


0.12 이하의 fail2ban 버전에 가장 적합한 답변입니다. 하나의 매개 변수로 fail2ban-purge와 같이 .bashrc에 별명을 작성하여 전체 감옥을 제거 할 수 있습니다. 위의 단어를 $ 1로 바꾸고 alias를 fail2ban-purge <JAIL_NAME>으로 사용하십시오.
ADDISON74

2

fail2ban작동 방식으로 인해 두 가지 가능한 솔루션이 있습니다.

  • fail2ban감옥 이 포함 된 방화벽 구성 스크립트를 만들고 방화벽을 다시 시작하십시오.
  • 차단을 해제하려는 IP를 차단하는 방화벽 규칙을 제거하십시오.

2

이것은 ssh jail에 대한 모든 IP 주소를 금지 해제하는 데 사용하는 스크립트입니다 (sshd occourence를 필요한 jail의 이름으로 대체하십시오 ... 예 : mysqld-auth)

#!/bin/bash
j=$(iptables -L f2b-sshd | grep -c 'REJECT')
for ((i=1;i<=j;i++))
do
  fail2ban-client set sshd unbanip $(fail2ban-client status sshd | grep 'Banned IP list:' | cut -c23-)
done
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.