msjint40.dll丢失别急着下载,官方修复方法一步到位
2026/10/17 16:27:21
它是一款 Linux 系统下的入侵防御工具,核心作用是监控系统日志、识别恶意访问行为,并自动封禁对应的 IP 地址,常用于保护 SSH、FTP、Web 服务等。
/var/log/auth.log)。iptables/ufw)封禁该 IP,封禁时长可自定义。bash
运行
sudo apt update sudo apt install fail2ban -ybash
运行
sudo systemctl start fail2ban sudo systemctl enable fail2ban| 配置文件路径 | 作用 |
|---|---|
/etc/fail2ban/fail2ban.conf | 全局配置(日志级别、默认封禁时长等,一般无需修改) |
/etc/fail2ban/jail.conf | 预设规则模板(包含 SSH、Apache 等服务的默认配置) |
/etc/fail2ban/jail.d/ | 自定义规则目录(推荐在此新建.conf文件覆盖默认配置,避免修改jail.conf) |
bash
运行
sudo nano /etc/fail2ban/jail.d/ssh.confini
[sshd] enabled = true # 开启防护 port = ssh # 防护的端口(默认22) filter = sshd # 使用的规则过滤器(预设) logpath = /var/log/auth.log # 监控的日志文件 maxretry = 3 # 最大失败次数 findtime = 600 # 统计时间窗口(10分钟) bantime = 3600 # 封禁时长(1小时,0为永久封禁) ignoreip = 127.0.0.1/8 # 忽略的IP(可添加自己的办公IP)bash
运行
sudo systemctl restart fail2banbash
运行
sudo fail2ban-client status sshdbash
运行
sudo fail2ban-client set sshd unbanip 192.168.1.100bash
运行
sudo fail2ban-client set sshd banip 192.168.1.100ignoreip中添加自己的 IP,或者手动执行解封命令。iptables -L查看规则)。iptables,如需用ufw,需在jail.conf中设置banaction = ufw。这份配置针对Web 登录页面暴力破解(如 WordPress 后台、自定义登录页)和404 洪水攻击,分别适配 Nginx 和 Apache 服务。
iptables/ufw)正常运行wp-login.php)bash
运行
sudo nano /etc/fail2ban/jail.d/nginx-wordpress.confini
[nginx-wp-login] enabled = true port = http,https # 同时防护80和443端口 filter = nginx-wp-login # 对应filter目录下的规则文件 logpath = /var/log/nginx/access.log # Nginx访问日志路径,根据实际情况修改 maxretry = 5 # 5次失败尝试 findtime = 900 # 15分钟内 bantime = 3600 # 封禁1小时 ignoreip = 127.0.0.1/8 # 忽略本地IP,可添加自己的办公IPbash
运行
sudo nano /etc/fail2ban/filter.d/nginx-wp-login.conf写入以下内容(匹配wp-login.php的 403/401 错误):ini
[Definition] failregex = ^<HOST> -.*GET /wp-login.php.* (403|401) ignoreregex =如果是自研登录页,以返回401 Unauthorized为例:
/etc/fail2ban/jail.d/nginx-login.confini
[nginx-login] enabled = true port = http,https filter = nginx-login logpath = /var/log/nginx/access.log maxretry = 3 findtime = 600 bantime = 7200 ignoreip = 127.0.0.1/8/etc/fail2ban/filter.d/nginx-login.confini
[Definition] failregex = ^<HOST> -.*POST /login.* 401 ignoreregex =bash
运行
sudo nano /etc/fail2ban/jail.d/apache-wordpress.conf写入内容:ini
[apache-wp-login] enabled = true port = http,https filter = apache-wp-login logpath = /var/log/apache2/access.log # Apache默认日志路径,根据实际修改 maxretry = 5 findtime = 900 bantime = 3600 ignoreip = 127.0.0.1/8bash
运行
sudo nano /etc/fail2ban/filter.d/apache-wp-login.conf写入正则匹配规则:ini
[Definition] failregex = ^<HOST> -.*GET /wp-login.php.* (403|401) ignoreregex =针对大量请求不存在页面的攻击行为:
/etc/fail2ban/jail.d/apache-404.confini
[apache-404] enabled = true port = http,https filter = apache-404 logpath = /var/log/apache2/access.log maxretry = 20 # 短时间内20次404触发封禁 findtime = 300 # 5分钟窗口 bantime = 3600 ignoreip = 127.0.0.1/8/etc/fail2ban/filter.d/apache-404.confini
[Definition] failregex = ^<HOST> -.* 404 ignoreregex =bash
运行
sudo systemctl restart fail2banbash
运行
# 查看所有启用的jail sudo fail2ban-client status # 查看某个具体规则的封禁IP(以nginx-wp-login为例) sudo fail2ban-client status nginx-wp-logincat /var/log/nginx/access.log确认日志正常生成fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/nginx-wp-login.confignoreip中添加该 IPsudo fail2ban-client set nginx-wp-login unbanip 你的IP