최근에 일부 보안 유지 관리를 결정했습니다. 내 로그를 보았고 SSH 서버에 대한 시도가있었습니다. 처음에는 SSH 포트를 기본값 22에서 옮겼습니다. 그 후 Fail2ban , BlockHosts 및 DenyHosts에 대해 읽었 습니다 .
첫 번째를 살펴 보았습니다. 구성이 간단하고 모든 것을 이해할 수 있습니다. 그러나 "보호 기능"을 검사하려고하면 테스트가 실패 합니다. 모든 것이 좋아 보이지만 여전히 서버에 액세스 할 수 있습니다.
또한 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 :
- Fail2ban을 금지 시간을 낮게 구성하십시오. 60 초 그런 다음 다시로드하십시오.
- 잘못된 비밀번호로 직접 로그인 (SSH로)하려고합니다.
- 여섯 번째로 올바른 암호를 입력하십시오 (최대 시도 횟수는 4입니다). 로그인했습니다. 해당 서버에서 호스팅하는 웹 페이지에도 액세스 할 수 있습니다.
iptables -L
위에서 언급 한대로 보여주었습니다. 그래서 연결이 끊어지면 서버에 명령을 내 렸습니다.
단계별로 테스트 # 2 :
- Fail2ban을 중지하십시오.
at
나중에 아래에 쓴 금지 규칙을 제거 하는 스크립트를 작성하십시오 . (iptables -D INPUT 1
) - 금지 규칙을 만듭니다.
iptables -I INPUT 1 -s 84.x.y.z -j DROP
- 다른 것을 입력 할 수 없었습니다 .SSH 연결을 사용할 수 없습니다. 웹 페이지에 액세스 할 수 없습니다. 그래서 iptables에서 원했던 것입니다.
at
스크립트가 끝나면 서버에 액세스 할 수 있습니다.
해결책을 찾지 못했습니다. IPtables 금지 (Fail2ban 제작)를 작동 시키려면 어떻게해야합니까?