Fail2Ban이 IP를 금지하려고 시도했지만 IP가 금지되지 않습니다-iptables 체인이 존재하지만 작동하지 않습니다


12

Ubuntu 14.04 서버에서 실행 중입니다.

따라서 /var/log/auth.logSSH 로그인 시도 를 처리하도록 fail2ban을 올바르게 구성했습니다 .

세 번의 시도가 실패하면 fail2ban 로그에 다음과 같이 표시됩니다.

2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY

iptables -L 이 체인을 보여줍니다.

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  BANNED_IP_ADDY  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

그러나 그 IP에서 아무런 문제없이 SSH를 통해 여전히 로그인 할 수 있습니다.

같은 이야기가 내 fail2ban 감옥에 적용됩니다. 예를 들어 Apache는 fail2ban이 로그를 올바르게 감지하고 IP를 금지한다고 주장 할 수 있습니다. IP는 iptables 체인에 있지만 IP는 실제로 거부되지 않습니다.

이 경우 SSH가 표준 포트에 없기 때문에 느낌이 듭니다. 다른 포트에 있습니다.

ssh jail rule이 새로운 포트를 사용하도록 강요한다면 :

[ssh]

enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5

그런 다음이 오류가 나타납니다.

2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment

그대로두면

 port = ssh

그런 다음 iptables에 올바르게 들어 가지 만 체인이 REJECT위에서 언급 한 것처럼 트래픽으로 작동하지 않습니다 .

최신 정보:

내가 변경하면 :

banaction = iptables-multiport

에:

banaction = iptables-allports

그런 다음 작동하는 것 같습니다. 이 변화의 영향은 무엇입니까?

fail2banSSH로 인해 IP를 allports차단하는 것은 해당 IP의 모든 포트를 차단 한 것으로 보입니다 . ssh 로그인이 반복되지 않아 의도적으로 금지되었습니다. 다른 모든 서비스도 금지되었습니다.


나는 fail2ban으로 그 문제에 부딪친 적이 없다. 단일 포트 차단으로 돌아가려면이 솔루션에 oschgan.com/drupal/index.php?q=node/52를 시도해보십시오 . 또한 iptables가 슬픔을 일으키는 경우 fail2ban은 hosts.deny 또는 null 경로와 같은 다른 메커니즘을 사용할 수 있습니다.
digitaladdictions

를 확인하십시오 /etc/fail2ban/actions.d. 각 금지 조치에 해당하는 파일이 있습니다. 내부에는 fail2ban을 금지, 금지 해제, 시작 및 중지하는 데 사용되는 명령이 표시됩니다. actionban 명령을 수동으로 실행하여 결과를 확인할 수 있습니다. I
Michael

1
iptables에 무엇이 더 있습니까? iptables -L -n -v(필요한 경우 수정 IP 주소) 의 전체 출력을 제공하십시오 . 특히, -v각 체인 및 규칙에 바이트 및 패킷 카운터를 제공하여 디버깅을 용이하게하는을 참고하십시오 .
jplitza

나는 똑같은 문제가 있었다. Fail2Ban은 IP를 금지하고, fail2ban 체인에서 주소를 볼 수 있습니다. 금지 된 이메일을 받았지만 IP 주소는 여전히 액세스 할 수 있습니다. 모든 포트에 대한 금지 조치가 효과가 있었지만 그 이유를 모릅니다.
Ergec

답변:


2

fail2ban 체인이 INPUT 및 OUTPUT 체인에 올바르게 연결되어 있지 않습니다. 질문을 편집하고 다음 결과를 제공하십시오.

iptables -n -L INPUT
iptables -n -L OUTPUT

그리고 모든 fail2ban 체인도 더 정확합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.