비밀번호 여러번 틀린 후 ssh 접속이 불가능 할 경우 체크해볼 내용
1. 웹 방화벽 , anti DDOS 장비
규칙 지정으로 ban 시키는 기능이 있을 경우.
보통 비번 틀렸다고 막지 않는다.
2. fail2ban
fail2ban 은 데몬으로 동작중일 경우 규칙에 맞춰서 비번 틀릴 경우 iptables 에 deny를 추가하는 경우가 있다.
* 데몬 동작 확인
$ ps -ef|grep fail
root 31607 1 0 Jan14 ? 00:00:19 /usr/bin/python /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -x
* 설정파일 위치 : /etc/fail2ban/jail.conf
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
# sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com, sendername="Fail2Ban"]
logpath = /var/log/secure
bantime = 1800
findtime = 600
maxretry = 5
3. iptables
IP제한용 규칙 적용 부분
fail2ban 에서 이 부분을 제어하는 경우가 있다.
* iptables 규칙 목록 확인
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
[ 이 부분에 내용이 추가되있다면 IP가 막힌 것이다. ]
4. pam_tally2
* 주요 설정 파일 위치
/etc/pam.d/password-auth # SSH 기준
/etc/pam.d/system-auth # 로그인 기준 (여기서 적용되어도 SSH 로그인시 체크한다.)
* 적용 내용
auth required pam_tally2.so deny=5 onerr=fail unlock_time=120
account required pam_tally2.so
로 적용시 6회 비밀번호가 틀렸을 경우 이후 올바른 비밀번호로 로그인해도 로그인 안된다.
(제한 시간은 120초)
* 관리 명령어
* pam_tally2로 락 내용 확인
# pam_tally2
Login Failures Latest failure From
root 10 01/14/21 18:14:44 ---.137.---.131
[NONAME] 2 01/14/21 17:54:43 ---.137.---.131
* pam_tally2 락 해제
# pam_tally2 --user 사용자이름 --reset