Linux SSH 防御:利用防火墙限制 SSH 协议暴力尝试

陌辰小哥_8585

陌辰小哥_8585

2026-08-14

259人浏览

原创

核心是控频、封源、持久化:用iptables/nftables对new状态ssh连接限速(如3/分钟),结合日志分析自动封禁恶意ip,再持久化规则并关闭密码登录、禁用root直连等ssh自身加固。

linux ssh 防御:利用防火墙限制 ssh 协议暴力尝试

直接用防火墙限制 SSH 暴力尝试,核心是“控频 + 封源 + 持久化”,不是简单加一条 DROP 规则就能奏效。重点在于让防火墙能识别异常行为,并自动响应。

用 iptables/nftables 设置连接频率限制

这是最基础也最关键的一步,不依赖日志解析,靠内核 netfilter 实时拦截:

  • 对新连接(--syn)做每分钟限速:比如允许每个 IP 每 60 秒最多发起 3 次新 SSH 连接(端口 22 或自定义端口),超限即 DROP
  • 命令示例(iptables):
    iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/minute --limit-burst 3 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j DROP
  • nftables 写法更简洁:
    nft add rule ip filter input tcp dport 22 ct state new limit rate 3/minute burst 3 packets accept
    nft add rule ip filter input tcp dport 22 ct state new drop
  • 注意:limit 模块只对 NEW 状态生效,不影响已建立的合法会话;burst 值设太小易误伤,设太大则失去防护意义

结合日志动态封禁恶意 IP

仅靠限速不能应对慢速、分布式或已绕过限速的攻击,需配合日志分析实现精准封禁:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 从 /var/log/auth.log 或 /var/log/secure 提取连续失败登录的 IP(如 10 分钟内失败 ≥5 次)
  • 用脚本自动执行 iptables -I INPUT -s IP -j DROP 或 nft add rule ip filter input ip saddr IP drop
  • 封禁后记录到本地文件(如 /etc/iptables/banned_ips),避免重复添加
  • 建议搭配定时任务(如每 5 分钟运行一次),但不要过于频繁,防止 I/O 和规则膨胀

确保规则持久化且不被覆盖

重启后规则消失等于没设,尤其在使用 firewalld 或 systemd-networkd 的系统上容易冲突:

  • iptables 用户:执行 iptables-save > /etc/sysconfig/iptables(CentOS/RHEL)或 iptables-save > /etc/iptables/rules.v4(Debian/Ubuntu)
  • nftables 用户:将规则写入 /etc/nftables.conf 并启用服务:systemctl enable --now nftables
  • 若系统启用了 firewalld,先停用:systemctl disable --now firewalld,否则两者规则会互相干扰
  • 检查 SELinux 是否影响:如修改了非标端口,需用 semanage port -a -t ssh_port_t -p tcp 2222 授权

配合 SSH 服务本身做减法

防火墙是外层屏障,SSH 配置才是根本防线,二者必须协同:

  • 关闭密码登录:PasswordAuthentication no,强制密钥认证——暴力破解立刻失效
  • 禁用 root 直接登录:PermitRootLogin no,并确认 AllowUsers 只列出必要账户
  • 缩短登录宽限期:LoginGraceTime 30s,减少攻击窗口
  • 限制最大认证尝试次数:MaxAuthTries 2,配合防火墙限速形成双重卡点

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4405

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

395

21

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

40

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

40

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

60

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

160

15

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习