
运维服务
Nginx 根据客户端 IP 转发到不同 Web 服务器
最近在整理 Nginx 的配置时,遇到一种比较常见的需求:同一个访问入口,根据客户端的 IP 地址,把请求转发到不同的 Web 服务器。 比如,指定的办公网 IP 访问测试环境,其
Fail2Ban 的原理很直接:监控日志文件,用正则匹配失败记录,达到阈值后调用防火墙封禁 IP。它轻量、配置简单,非常适合用来保护 SSH。
安装(Ubuntu/Debian)
sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
核心配置:不要直接改 jail.conf,应创建 /etc/fail2ban/jail.local。一个保护 SSH 的实用配置如下:
[DEFAULT]
# 封禁 24 小时,10 分钟内失败 3 次触发
bantime = 86400
findtime = 600
maxretry = 3
# 务必把你的管理 IP 加进来,防止把自己封了
ignoreip = 127.0.0.1/8 ::1 你的公网IP
[sshd]
enabled = true
port = ssh
filter = sshd
# Ubuntu/Debian 用 auth.log;CentOS/RHEL 通常是 secure
logpath = /var/log/auth.log
配置完成后重启服务:sudo systemctl restart fail2ban。用 sudo fail2ban-client status sshd 可以查看当前封禁情况。
注意:Fail2Ban 能降低暴力破解速率,但无法消除弱密码本身的风险,SSH 密钥登录和禁用密码登录仍是更根本的措施。
评论 0