linux防止攻击 linux防止入侵设置
Linux failure2ban命令
fail2ban是一个开源的入侵防御工具,用于保护Linux服务器工作站设备破解攻击。它通过监控系统日志文件(如/var/log/auth.log)来检测恶意行为,如多次失败的SSH登录尝试,然后自动更新防火墙规则来阻止这些攻击者的IP地址。fail2ban核心功能实时监控日志
fail2ban持续监控指定的日志文件,寻找预定义模式的恶意行为。自动封禁IP
当检测到来自相同IP的多次失败尝试(可配置阈值),fail2ban会自动提示IP添加到防火墙阻止列表中。可配置的封禁时间
管理员可以设置最终封禁时间和多次破坏后的递增封禁时间。多服务支持
不仅支持SSH,还支持Apache、Nginx、FTP、邮件服务等多种服务的防护。邮件通知
可配置在封禁IP时发送邮件通知给管理员。
fail2ban 安装与配置安装方法
在基于 Debian/Ubuntu 的系统上实例:实例sudo apt updatesudo apt install failure2ban
在基于 RHEL/CentOS 的系统上实例:sudo yum install epel-releasesudo yum install failure2ban基本配置
fail2ban 的主要配置文件位于:/etc/fail2ban/jail.conf 登录后复制 -主配置文件(不直接建议)/etc/fail2ban/jail.local登录后复制-用户自定义配置(此处推荐修改)
复制自定义配置文件:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local登录后复制fail2ban 常用命令启动/停止/重启服务实例 sudo systemctl start failure2ban # 启动服务 sudo systemctl stop failure2ban # 停止服务 sudo systemctl restart failure2ban # 重启服务 sudo systemctl enable failure2ban # 设置开机自启查看服务状态 sudo systemctl status failure2ban登录后复制登录后复制查看被封禁的 IPsudo failure2ban-client status sshd登录后复制解封特定 IPsudo failure2ban-client set sshd unbanip 192.168.1.100登录后复制手动封禁 IPsudo failure2ban-client set sshd banip 192.168.1.100登录后复制fail2ban配置文件详细解主要配置参数实例[DEFAULT]#忽略的IP地址(白名单)ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24#封禁时间(秒)bantime = 600#检测时间窗口(秒)findtime = 600#最大尝试次数maxretry = 3# 使用的防火墙隔离banaction = iptables-multiport[sshd]# 是否启用 SSH protectenabled = true# 日志文件路径logpath = (sshd_log)s# 过滤器名称filter = sshd# 端口号port = ssh自定义过滤器
过滤器定义在/etc/fail2ban/filter.d/登录后复制目录中。例如,创建自定义SSH过滤器:
复制默认SSH过滤器:sudo cp /etc/fail2ban/filter.d/sshd.conf /etc/fail2ban/filter.d/sshd-custom.conf登录后复制
编辑自定义过滤器,修改正则表达式以匹配特定的失败模式。
fail2ban 实战示例保护 SSH 服务
编辑jail.local文件:sudo nano /etc/fail2ban/jail.local登录后复制
或添加修改以下内容:[sshd]enabled = trueport = sshfilter = sshdlogpath = /var/log/auth.logmaxretry = 3bantime = 3600findtime = 600登录后复制
重启fail2ban 服务:sudo systemctl restart failed2ban登录后复制保护 Apache 服务
确保jail.local中包含以下内容:[apache]enabled = trueport = http,httpsfilter = apache-authlogpath = /var/log/apache2/error.logmaxretry = 3bantime = 86400登录后复制
重启服务使配置生效。fail2ban 高级使用fail2ban的方法保护自定义服务
创建自定义过滤器文件:sudo nano /etc/fail2ban/filter.d/myapp.conf登录后复制
添加过滤规则(示例):[Definition]failregex = ^.* .* quot;POST /login.php.* 401ignoreregex =登录后复制
在jail.local中添加对应的jail:enabled = trueport = http,httpsfilter = myapplogpath = /var/log/myapp/access.logmaxretry = 5bantime = 3600登录后复制设置邮件通知
编辑jail.local文件:[DEFAULT]destemail = admin@example.comsender = failure2ban@example.commta = sendmailaction = (action_mwl)s登录后复制
确保系统已安装并配置了邮件发送工具(如sendmail或postfix)。fail2ban日志与故障排除查看fail2ban日志sudo tail -f /var/log/fail2ban.log登录后复制常见问题解决fail2ban 不工作检查服务是否运行:sudo systemctl status failed2ban登录后复制登录后复制检查日志是否有错误:sudojournalctl -ufail2ban登录后复制IP附带封禁确认日志路径正确检查过滤器正则表达式匹配日志增加日志级别调试:在jail.local中设置loglevel = DEBUG登录后复制错误封IP将可信IP添加到ignoreip列表减少maxretry或增加findtimefail2ban最佳实践
定期更新:保持fail2ban更新以获取最新的安全修复和功能改进。
合理配置:设置适当的maxretry和bantime不要将bantime设置过长,封锁误封用户也不要设置过短,否则防护效果有限
监控与审查:定期检查禁止封封了解攻击模式
多层防护:结合fail2ban与其他安全措施(如防火墙、强密码策略)考虑修改SSH默认端口
备份配置:备份自定义配置文件和过滤器记录所有修改以便故障恢复总结
fail2ban是Linux系统的重要工具,通过自动安全检测和阻止恶意行为,有效防止暴力破解攻击。正确的配置和使用fail2ban可以显着提高服务器的安全性,同时减少管理员手动控制的量。通过本文的介绍,您应该已经掌握了fail2ban的基本实现和高级配置技巧,能够根据实际需求定制自己的安全防护策略。
以上就是linux防止暴力破解是什么-fail2ban命令使用与实例的详细内容,更多请关注乐哥常识网其他相关文章!