IPtables가있는 Fail2ban 블록은 Debian Lenny에서 작동하지 않습니다. [이동 된 ssh 포트]

최근에 일부 보안 유지 관리를 결정했습니다. 내 로그를 보았고 SSH 서버에 대한 시도가있었습니다. 처음에는 SSH 포트를 기본값 22에서 옮겼습니다. 그 후 Fail2ban , BlockHostsDenyHosts에 대해 읽었 습니다 .

첫 번째를 살펴 보았습니다. 구성이 간단하고 모든 것을 이해할 수 있습니다. 그러나 “보호 기능”을 검사하려고하면 테스트가 실패 합니다. 모든 것이 좋아 보이지만 여전히 서버에 액세스 할 수 있습니다.

또한 IPtables를 테스트했습니다. # iptables -I INPUT -j DROP-SSH 연결이 끊어진 후 (원하는 것). 그런 다음에 # iptables -I INPUT -s 84.x.y.z -j DROP도 효과가있었습니다.

그러나 Fail2ban이 수행 한 규칙은 작동하지 않습니다. ( $ sudo iptables -L)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-apache  tcp  --  anywhere             anywhere            multiport dports www,https
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere            multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-apache (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
DROP       all  --  84.x.y.z           anywhere
RETURN     all  --  anywhere             anywhere

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

커널 모듈로드 : ( $ lsmod | grep ip)

iptable_nat             4680  0
nf_nat                 15576  1 iptable_nat
nf_conntrack_ipv4      12268  3 iptable_nat,nf_nat
nf_conntrack           55540  4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport            2816  2
iptable_filter          2624  1
ip_tables              10160  2 iptable_nat,iptable_filter
x_tables               13284  5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6                  235396  24

버전 :

  • 데비안 레니 5.06, 커널 2.6.26-2-686
  • IPtables 1.4.2-6
  • 실패 2ban 0.8.3-2sid1
  • openssh-server 1 : 5.1p1-5

단계별로 테스트 # 1 :

  1. Fail2ban을 금지 시간을 낮게 구성하십시오. 60 초 그런 다음 다시로드하십시오.
  2. 잘못된 비밀번호로 직접 로그인 (SSH로)하려고합니다.
  3. 여섯 번째로 올바른 암호를 입력하십시오 (최대 시도 횟수는 4입니다). 로그인했습니다. 해당 서버에서 호스팅하는 웹 페이지에도 액세스 할 수 있습니다.
  4. iptables -L위에서 언급 한대로 보여주었습니다. 그래서 연결이 끊어지면 서버에 명령을 내 렸습니다.

단계별로 테스트 # 2 :

  1. Fail2ban을 중지하십시오. at나중에 아래에 쓴 금지 규칙을 제거 하는 스크립트를 작성하십시오 . ( iptables -D INPUT 1)
  2. 금지 규칙을 만듭니다. iptables -I INPUT 1 -s 84.x.y.z -j DROP
  3. 다른 것을 입력 할 수 없었습니다 .SSH 연결을 사용할 수 없습니다. 웹 페이지에 액세스 할 수 없습니다. 그래서 iptables에서 원했던 것입니다.
  4. at스크립트가 끝나면 서버에 액세스 할 수 있습니다.

해결책을 찾지 못했습니다. IPtables 금지 (Fail2ban 제작)를 작동 시키려면 어떻게해야합니까?



답변

fail2ban을 설치하기 전에 내가 한 일을 발견했습니다. 시간 미안 해요

보안상의 이유로 sshd를 포트 22에서 다른 포트로 옮겼습니다. 참조는 iptables포트 22 만 나타냅니다. 나는 그것이 현재의 sshd 포트를 항상 나타내는 변수 인 변수라고 생각했습니다. 그러나 아닙니다 .

정확한 해결책 (데몬을 원래 포트에서 옮겼을 경우) :

  1. jail.local (또는 .conf)을 엽니 다.
  2. 중괄호로 서비스를 찾으십시오.
  3. port섹션을 모두 수정하십시오 . 예:port = all
  4. banaction포트 라인 뒤에 iptables-allports 값으로 기존 라인을 추가하거나 편집하십시오 . 예 : banaction = iptables-allports.
  5. 데몬을 다시 시작하십시오. 예 : # service fail2ban restart.

port ssh지시어 변경에 대한 해결책을 찾지 못 했거나 숫자를 쓰지 못했습니다 . 모든 포트가 아닌 솔루션이 있다면 들겠습니다!


답변

ssh 서버를 비표준 포트 12345로 옮긴 후에도 fail2ban이 금지되지 않는 것과 동일한 문제가 발생했습니다 (말하자).

여러 번의 인증 시도 실패 후 fail2ban이 올바른 규칙을 생성하도록하기 위해 편집했습니다 /etc/fail2ban/jail.conf.

port = ssh

으로

port = 12345

비표준 포트의 다른 서비스에서도 비슷한 접근 방식이 작동한다고 가정합니다.


답변

fail2ban의 설정은에 /etc/fail2ban/jail.local있습니다. 기본 설치에서 그것이 있는지 확실하지 않습니다. 그런 다음에 복사 jail.conf하면 jail.local에 파일이 모두 있습니다 /etc/fail2ban/. 편집 jail.local하고 포함 된 줄로 이동하여 다음 [ssh]과 같이 활성화하십시오.

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

그런 다음 fail2ban을 다시 시작하십시오.

sudo /etc/init.d/fail2ban restart

그것은 지금 작동 할 가능성이 있습니다, 나는 그것을 그렇게 설정했고 작동합니다.


답변

“Fail2ban 0.8.3-2sid1″이 설치된 것으로 표시되었습니다. 지원되지 않는 구성입니다. Sid 패키지는 안정적인 환경에 설치하지 않아야합니다.

Lenny에서 업그레이드 한 Debian 6 (Squeeze)을 VM의 VM에서 특히 내 집의 SSH 서버로 실행합니다. 또한 fail2ban을 사용합니다. 테스트 # 1을 수행했으며 모든 것이 제대로 작동했습니다. 최대 시도 횟수로 로그인에 실패했으며 로그인 요청이 60 초 동안 삭제되었습니다.

내 버전 목록 :

  • / etc / debian_version = 6.0.1
  • fail2ban = 08..4-3
  • iptables = 1.4.8
  • openssh-server = 1 : 5.5p1-6