安装与配置 fail2ban

防22端口爆破自动封禁

  • 安装:sudo apt install fail2ban
  • 重启:sudo systemctl restart fail2ban
  • 配置文件:/etc/fail2ban/jail.d/sshd.local
  • 查看被封ip:sudo fail2ban-client get sshd banip

配置文件sshd.local如下:

[sshd]
# 启用此监狱
enabled = true
# 使用 systemd 后端来读取日志,避免找不到日志文件的问题
backend = systemd
# 监控的端口(ssh 对应 22 端口)
port = ssh
# 最大重试次数
maxretry = 3
# 统计时间窗口(秒)
findtime = 600
# 封禁时长(秒),-1 为永久封禁,请谨慎使用
bantime = 7200
# 忽略的IP地址段,如本地环回
ignoreip = 127.0.0.1/8 ::1

常用管理命令

配置完成后,你需要使用以下命令来管理和监控 Fail2ban 的运行状态

操作类别 命令 作用
服务管理 sudo systemctl start fail2ban 启动服务
sudo systemctl stop fail2ban 停止服务
sudo systemctl restart fail2ban 重启服务(修改配置后常用)
sudo systemctl status fail2ban 检查服务运行状态
sudo fail2ban-client reload 重新加载配置(不中断服务)
状态查询 sudo fail2ban-client status 查看所有激活的"监狱"(jail)
sudo fail2ban-client status sshd 查看特定监狱(如sshd)的详细状态,包括当前被禁IP
手动干预 sudo fail2ban-client set sshd unbanip <IP地址> 解封特定 IP
sudo fail2ban-client set sshd banip <IP地址> 手动封禁特定 IP