0

0

Linux 防止暴力破解策略实践

舞姬之光

舞姬之光

发布时间:2026-02-13 19:43:02

|

222人浏览过

|

来源于php中文网

原创

fail2ban未封禁sshd的根本原因是日志路径或正则不匹配:需确认logpath与实际日志路径(/var/log/auth.log或/secure)一致,用fail2ban-regex测试匹配;rhel 8+需配置syslogfacility authpriv;后端需与系统防火墙一致(iptables/nftables);openssh 8.9+日志格式变更要求更新filter的failregex。

linux 防止暴力破解策略实践

fail2ban 为什么连 sshd 都没封?

常见现象是配置完 fail2banjournalctl -u fail2ban 显示服务正常,但暴力扫 ssh 的 IP 就是不进 iptablesnftables 规则。根本原因通常是日志路径或正则没对上。

  • sshd 日志默认在 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS),fail2ban[sshd] 节里 logpath 必须精确匹配,不能写错路径或漏掉通配符
  • fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf 手动测试匹配效果,看有没有 Matched 行;没匹配上就说明 filter 规则压根没抓到失败登录行
  • RHEL 8+ 默认用 journaldsshd 日志可能不落盘,得在 /etc/ssh/sshd_configSyslogFacility AUTHPRIV 并重启 sshd,否则 fail2ban 读不到原始日志

iptables 还是 nftables

fail2ban 0.11+ 默认走 nftables,但很多生产环境还是老系统跑 iptables,混用会导致规则不生效甚至冲突。

  • 查当前后端:fail2ban-client get sshd banaction,输出是 iptables-multiport 还是 nftables-multiport
  • 强制指定后端:在 /etc/fail2ban/jail.local[sshd] 下加 banaction = iptables-multiport,同时确保系统没装 nftables 或已禁用其 service
  • 注意 iptablesINPUT 链顺序——如果已有 ACCEPT 规则在前,fail2ban 插入的 DROP 就会被跳过;用 iptables -L INPUT -n --line-numbers 确认位置

sshd 登录失败日志格式变了怎么办?

OpenSSH 8.9+ 默认禁用了密码认证(PasswordAuthentication no),且日志中失败提示从 Failed password 变成 userauth_pubkeyinvalid user,老版 sshd.conf filter 就会失效。

PopShort.AI
PopShort.AI

PopShort是一个AI短剧生成平台

下载
  • 检查实际日志内容:grep "Invalid user\|Failed password\|userauth_pubkey" /var/log/auth.log | tail -5
  • 升级 filter:用 fail2ban-client get sshd ignoreself 看是否误判本机 IP;把 /etc/fail2ban/filter.d/sshd.conf 替换为新版(或从 GitHub 拉官方最新版),重点看 failregex 是否覆盖 invalid userConnection closed by authenticating user
  • 避免过度封禁:加 ignoreregex = ^.*sshd.*@.*port.*$ 过滤扫描器伪造的源端口日志,防止误伤合法客户端

封禁后 SSH 连不上,怎么快速解封?

手抖把自己封了、或者开发同事被误杀,最急的是立刻恢复访问,而不是查日志。

  • 临时清空所有 fail2ban 封禁:fail2ban-client unban --all(注意不是 stop,停服务会丢状态)
  • 只解某个 IP:fail2ban-client set sshd unbanip 192.168.1.100
  • 如果 fail2ban 没响应,直接删防火墙规则:iptables -D INPUT -s 192.168.1.100 -j REJECTiptables)或 nft delete element inet fail2ban sshd { 192.168.1.100 }nftables
  • 别依赖 bantime 自动解封——默认 10 分钟太长,调试期建议设成 bantime = 60,确认稳定后再调高

真正麻烦的是多层防护叠加:比如云厂商安全组 + 主机 iptables + fail2ban,封一个 IP 得查三层,漏掉一层就以为“没封成功”。动手前先 curl ifconfig.me 确认当前出口 IP,再决定该去哪层解封。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

450

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

180

2023.10.30

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

287

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

218

2023.12.29

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.11.24

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2242

2026.01.21

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1500

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

712

2023.06.29

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

23

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9万人学习

Git 教程
Git 教程

共21课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号