介绍
Fail2ban 通过扫描错误日志来禁止某些 IP 访问服务,它会直接修改防火墙规则来阻止来自这些 IP的请求。
起因
我在使用 journalctl -xe --full 查日志时,发现大量的类似下面的日志:
sshd[13352]: pam_unix(sshd:auth): check pass; user unknown
sshd[13352]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=182.61.161.121
sshd[13352]: Failed password for invalid user chase from 182.61.161.121 port 58172 ssh2
sshd[13352]: Received disconnect from 182.61.161.121 port 58172:11: Bye Bye [preauth]
sshd[13352]: Disconnected from 182.61.161.121 port 58172 [preauth]
sshd[13354]: reverse mapping checking getaddrinfo for dynamic-ip-1868417225.cable.net.co [186.84.172.25] failed - POSSIBLE BREAK-IN ATTEM
sshd[13354]: Invalid user survey from 186.84.172.25 port 38058
sshd[13354]: input_userauth_request: invalid user survey [preauth]
可以发现是有陌生 IP 的用户在尝试破解 SSH 登录。
通过这条命令可以看到的确有大量失败登录的记录: