在Debian 12中启用fail2ban
概要
SSH经常被莫名其妙的机器尝试登录,/var/log/btmp文件甚至高达数GB。为防止机器被长期爆破,推荐安装fail2ban,然而Debian 12默认安装的fail2ban无法正确启动,执行sudo systemctl status fail2ban时,会提示:
root@vm1022:~$ sudo systemctl status fail2ban
× fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sun 2025-02-23 08:49:15 UTC; 1s ago
Duration: 64ms
Docs: man:fail2ban(1)
Process: 4494 ExecStart=/usr/bin/fail2ban-server -xf start (code=exited, status=255/EXCEPTION)
Main PID: 4494 (code=exited, status=255/EXCEPTION)
CPU: 59ms
Feb 23 08:49:15 vm1022 systemd[1]: Started fail2ban.service - Fail2Ban Service.
Feb 23 08:49:15 vm1022 fail2ban-server[4494]: 2025-02-23 08:49:15,472 fail2ban.configreader [4494]: WARNING 'allowipv6' not defined in 'Definition'. Using default one: 'auto'
Feb 23 08:49:15 vm1022 fail2ban-server[4494]: 2025-02-23 08:49:15,479 fail2ban [4494]: ERROR Failed during configuration: Have not found any log file for sshd jail
Feb 23 08:49:15 vm1022 fail2ban-server[4494]: 2025-02-23 08:49:15,480 fail2ban [4494]: ERROR Async configuration of server failed
Feb 23 08:49:15 vm1022 systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION
Feb 23 08:49:15 vm1022 systemd[1]: fail2ban.service: Failed with result 'exit-code'.根本原因在于配置异常,只需一行脚本即可搞定。