SSH 액세스를 제한하기 위해 내 서버에 Fail2ban 시스템을 설정했습니다. 장치에 사용자 이름을 입력한 후 잘못된 비밀번호를 3번(최대 재시도 값) 입력하면 사용자가 계속 로그인을 시도할 수 있다는 점을 제외하면 잘 작동합니다. 하지만 로그인 시도에서 해당 사용자의 로그아웃을 제거하고 새 세션을 열면 이제 차단됩니다.
퍼티를 사용할 때 대상 주소를 입력합니다(사용자 이름은 입력하지 않음).
login as: user
user@address's password: 1234
Access Denied
user@address's password: 1235
Access Denied
user@address's password: 1324
Access Denied
user@address's password: 1234
Access Denied
user@address's password: 1235
Access Denied
user@address's password: 1324
Access Denied
이론적으로는 세 번째 시도 후 로그인을 허용하는 대신 6번 시도해야 하며 그 후에는 너무 많은 인증 시도 실패에 대한 팝업이 표시됩니다. 그런 다음 돌아가면 Fail2ban이 장치 액세스를 올바르게 차단했습니다.
세 번째 시도 후 즉시 시작되도록 설정하려면 어떻게 해야 합니까?
편집: 알아요이것질문. 그러나 나는 이것이 전혀 차단되지 않는 이유를 묻는 포스터에서 이것이 다르다고 생각합니다. 이미 진행 중인 로그인 시도를 차단하지 않는 이유가 더 궁금합니다.
답변1
내 측에서 몇 가지 조사를 한 후,
iptables
내 구성 에 따르면fail2ban
로그인을 시도하는 세션과 이미 로그인한 세션 모두를 차단합니다.- my-based
shorewall
구성은fail2ban
활성 세션을 차단하지 않지만 새로운 연결 시도는 차단합니다.
차이점은 iptables
트래픽을 차단하는 데 사용되는 규칙과 특정 구성 에 따라 다릅니다 fail2ban
.
원래 추상화를 사용하고 있는지 iptables
아니면 더 높은 수준의 추상화( 등) 중 하나를 ufw
사용 shorewall
하고 있는지 알지 못하는 경우 다음과 같은 몇 가지 팁을 참고하세요.
사용iptables
나는
jail.local
다음과 같은 정의를 가지고 있습니다:banaction = iptables-multiport action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s] action = %(action_)s
각 규칙에서는 기본 설정이 재정의되지 않거나 기본 설정이 재정의됩니다
banaction = iptables-multiport
(기본 설정과 동일).또한
jail.local
최대 재시도 횟수가 기본 정책이든 서비스별 규칙 세트이든 원하는 정책을 반영하도록 하려면 다음을 수행하세요.maxretries = 3
action.d/iptables-multiport.conf
금지 및 금지 해제 규칙을 다음과 같이 정의하십시오 .actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
해안벽을 이용하세요
Shorewall 커넥터를 사용하는 경우 fail2ban
Shorewall이 초기 세션뿐만 아니라 해당 IP 주소의 모든 트래픽에 차단을 적용하도록 기본 규칙을 조정해야 합니다.
나는
jail.local
다음과 같은 정의를 가지고 있습니다:banaction = shorewall action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s] action = %(action_)s
각 규칙에서는 기본 설정이 재정의되지 않거나 기본 설정이 재정의됩니다
banaction = shorewall
(기본 설정과 동일).또한
jail.local
최대 재시도 횟수가 기본 정책이든 서비스별 규칙 세트이든 원하는 정책을 반영하도록 하려면 다음을 수행하세요.maxretries = 3
-
DYNAMIC_BLACKLIST=Yes BLACKLISTNEWONLY=No
이
BLACKLISTNEWONLY
설정은 모든 연결을 차단할지 아니면 새 연결만 차단할지 결정합니다. 여기로 가고 싶을 겁니다No
.