安装与配置 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 |