网站建设菜单栏设计邯郸做企业网站设计的公司
2026/1/2 8:25:12 网站建设 项目流程
网站建设菜单栏设计,邯郸做企业网站设计的公司,安徽省房地产开发项目管理系统,模板网站有利于优化它是一款 Linux 系统下的入侵防御工具#xff0c;核心作用是监控系统日志、识别恶意访问行为#xff0c;并自动封禁对应的 IP 地址#xff0c;常用于保护 SSH、FTP、Web 服务等。一、核心工作原理监控日志#xff1a;Fail2ban 会实时读取指定服务的日志文件#xff08;比如…它是一款 Linux 系统下的入侵防御工具核心作用是监控系统日志、识别恶意访问行为并自动封禁对应的 IP 地址常用于保护 SSH、FTP、Web 服务等。一、核心工作原理监控日志Fail2ban 会实时读取指定服务的日志文件比如 SSH 的/var/log/auth.log。匹配规则通过预设的正则表达式识别失败的登录尝试如 SSH 密码错误、Web 暴力破解。触发封禁当某个 IP 的失败次数在设定时间内达到阈值就会调用系统防火墙如iptables/ufw封禁该 IP封禁时长可自定义。自动解封封禁时间到期后会自动从防火墙规则中移除该 IP恢复访问。二、安装与基础配置以 Debian/Ubuntu 为例1. 安装 Fail2banbash运行sudo apt update sudo apt install fail2ban -y2. 启动并设置开机自启bash运行sudo systemctl start fail2ban sudo systemctl enable fail2ban3. 核心配置文件说明配置文件路径作用/etc/fail2ban/fail2ban.conf全局配置日志级别、默认封禁时长等一般无需修改/etc/fail2ban/jail.conf预设规则模板包含 SSH、Apache 等服务的默认配置/etc/fail2ban/jail.d/自定义规则目录推荐在此新建.conf文件覆盖默认配置避免修改jail.conf三、快速配置 SSH 防护最常用场景新建自定义配置文件避免修改默认配置bash运行sudo nano /etc/fail2ban/jail.d/ssh.conf写入以下内容并保存ini[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重启 Fail2ban 生效bash运行sudo systemctl restart fail2ban四、常用命令查看当前封禁的 IP 列表bash运行sudo fail2ban-client status sshd手动解封某个 IPbash运行sudo fail2ban-client set sshd unbanip 192.168.1.100手动封禁某个 IPbash运行sudo fail2ban-client set sshd banip 192.168.1.100五、常见问题与解决封禁后无法访问自己的 IP在ignoreip中添加自己的 IP或者手动执行解封命令。服务不生效检查日志路径是否正确、防火墙是否正常运行如iptables -L查看规则。适配不同防火墙默认用iptables如需用ufw需在jail.conf中设置banaction ufw。这份配置针对Web 登录页面暴力破解如 WordPress 后台、自定义登录页和404 洪水攻击分别适配 Nginx 和 Apache 服务。前置条件已安装 Fail2ban参考之前的安装步骤Web 服务日志路径正确且可被 Fail2ban 读取防火墙iptables/ufw正常运行一、 Nginx 防护配置场景 1防护 WordPress 登录页wp-login.php新建自定义规则文件bash运行sudo nano /etc/fail2ban/jail.d/nginx-wordpress.conf写入配置内容ini[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可添加自己的办公IP创建过滤规则文件Fail2ban 需要正则规则来匹配失败登录日志新建 filter 文件bash运行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 场景 2防护通用 Web 登录页自定义 401 错误如果是自研登录页以返回401 Unauthorized为例新建 jail 配置文件/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 二、 Apache 防护配置场景 1防护 WordPress 登录页新建 jail 配置文件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/8新建过滤规则文件bash运行sudo nano /etc/fail2ban/filter.d/apache-wp-login.conf写入正则匹配规则ini[Definition] failregex ^HOST -.*GET /wp-login.php.* (403|401) ignoreregex 场景 2防护 404 洪水攻击针对大量请求不存在页面的攻击行为新建 jail 配置/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 三、 生效与验证步骤重启 Fail2ban 服务bash运行sudo systemctl restart fail2ban查看防护规则状态bash运行# 查看所有启用的jail sudo fail2ban-client status # 查看某个具体规则的封禁IP以nginx-wp-login为例 sudo fail2ban-client status nginx-wp-login手动测试封禁可选多次访问受防护的登录页并输入错误密码然后执行上述状态命令查看自己的 IP 是否被封禁。四、 常见问题解决规则不生效检查日志路径是否正确cat /var/log/nginx/access.log确认日志正常生成验证正则规则fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/nginx-wp-login.conf误封正常 IP在ignoreip中添加该 IP手动解封sudo fail2ban-client set nginx-wp-login unbanip 你的IP

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询