IPtables의 Fail2ban 블록은 Debian Lenny에서 작동하지 않습니다. [모바일 SSH 포트]

IPtables의 Fail2ban 블록은 Debian Lenny에서 작동하지 않습니다. [모바일 SSH 포트]

나는 최근 보안 유지 관리를 하기로 결정했습니다. 내 로그를 보고 SSH 서버로 몇 가지 작업을 시도했습니다. 먼저 SSH 포트를 기본 22에서 옮겼습니다. 그 후 나는 다음과 같은 내용을 읽었습니다.실패 2 금지,블록 호스트그리고호스트 거부.

첫 번째 항목을 살펴보았습니다. 구성은 간단하고 모든 것이 이해하기 쉽습니다. 그러나 "보호 기능을 탐색"하려고 하면테스트 실패. 모든 것이 괜찮은 것 같지만 여전히 서버에 액세스할 수 있습니다.

또한 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
  • IP 테이블 1.4.2-6
  • Fail2ban 0.8.3-2sid1
  • openssh-server1:5.1p1-5

단계별 테스트 #1:

  1. 낮은 금지 시간에 대해 Fail2ban을 구성합니다. 60초. 그런 다음 다시 로드하세요.
  2. 잘못된 비밀번호로 직접 로그인해 보세요(SSH 사용).
  3. 6번째에 올바른 비밀번호를 입력하세요(최대 시도 횟수는 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에서 수행)를 작동시키려면 어떻게 해야 합니까?

답변1

Fail2ban을 설치하기 전에 문제를 발견했는데 어떻게 했나요? 시간을 잡아먹어서 죄송합니다.

보안상의 이유로 sshd를 포트 22에서 다른 포트로 옮겼습니다. 의 참조는 iptables포트 22만 참조합니다. 제 생각에는 항상 현재 sshd 포트를 참조하는 변수인 것 같습니다. 하지만아니요.

정확한 해결 방법(데몬을 원래 포트에서 멀리 이동하는 경우):

  1. Jail.local(또는 .conf)을 엽니다.
  2. 귀하의 서비스를 찾으십시오(중괄호 안).
  3. port부분을 수정하여모두. 예:port = all
  4. banaction값이 있는 포트 줄 뒤에 기존 줄을 추가하거나 편집합니다.iptables-모든 포트. 예: banaction = iptables-allports.
  5. 데몬을 다시 시작하십시오. 예: # service fail2ban restart.

port ssh지시문을 변경하거나 거기에 숫자를 쓰는 솔루션을 찾을 수 없습니다 . 완전히 포팅되지 않은 솔루션이 있다면 들어보겠습니다!

답변2

SSH 서버를 비표준 포트 12345(예:)로 옮긴 후 오류2반이 이를 금지하지 않는 것과 동일한 문제가 있었습니다.

여러 번의 인증 시도 실패 후 실패2반이 올바른 규칙을 생성하도록 하기 위해 /etc/fail2ban/jail.conf.

port = ssh 

입력하다

port = 12345

비표준 포트의 다른 서비스에도 비슷한 접근 방식이 작동할 것이라고 생각합니다.

답변3

Fail2ban에 대한 설정은 /etc/fail2ban/jail.local기본 설치에 있는지 확실하지 않습니다. 그런 다음 당신이 해야 할 일은 복사하여 jail.confjail.local개의 파일을 갖게 되는 것입니다 /etc/fail2ban/. 편집하고 jail.local이를 포함하는 줄로 이동하여 [ssh]다음과 같이 활성화합니다.

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

그 후, fall2ban을 다시 시작하세요:

sudo /etc/init.d/fail2ban restart

지금은 작동할 수도 있습니다. 이렇게 설정했는데 작동합니다.

답변4

"Fail2ban 0.8.3-2sid1"이 설치된 것으로 나열됩니다. 이는 지원되지 않는 구성입니다. Sid 패키지는 안정적인 환경에 설치하면 안 됩니다.

저는 홈 SSH 서버 역할을 하기 위해 특별히 Lenny에서 업그레이드한 가상 머신에서 Debian 6(Squeeze)을 실행하고 있습니다. 저도 Fail2ban을 사용하고 있습니다. 테스트 #1을 실행했는데 모든 것이 예상대로 작동했습니다. 최대 시도 횟수 내에 로그인에 실패하여 60초 동안 로그인 요청이 중단되었습니다.

내 버전 목록:

  • /etc/debian_version=6.0.1
  • 실패 2 금지됨 = 08..4-3
  • iptables = 1.4.8
  • openssh-서버=1:5.5p1-6

관련 정보