封不完的IP?拦不住的爆破?这四招让黑客直接绝望!

各位运维工程师、系统管理员,面对SSH暴力破解,修改默认22端口就像是给家门换了一把没藏在垫子底下、但藏在花盆里的钥匙—能防君子,难防锲而不舍的小人。

今天,我们就来聊聊,当修改端口这一招已经失效,我们还能拿出哪些真正硬核的手段,构建一套立体化的SSH防御体系,让黑客知难而退,彻底绝望。

第一层:坚壁清野—让攻击者“找不到门”(基础加固)

在考虑高级方案前,请先确保这些基础操作都已到位,它们是防御的基石。

1. 禁用密码登录,强制使用密钥对认证

这是最有效、最根本的解决暴力破解的方法。暴力破解的是密码,如果我们根本不用密码,攻击就失去了意义。
操作: 编辑/etc/ssh/sshd_config,设置:

PubkeyAuthentication yes #将no改为yes

systemctl restart sshd

切记: 在关闭前,务必先在客户端生成SSH密钥对,并将公钥(id_rsa.pub)上传到服务器的~/.ssh/authorized_keys文件中,否则你会把自己也锁在门外!

2. 限制特权用户登录

禁止root用户直接远程登录,降低一旦密钥泄露带来的风险。

PermitRootLogin no #将yes改为no

systemctl restart sshd

第二层:精兵扼守—让攻击者 “进不了门”(访问控制)

光有坚固的门还不够,我们还要指定谁在什么时间、从哪来可以敲门。

1. 使用 Fail2ban:动态封禁,以暴制暴

Fail2ban 是一款经典的安全工具,它会监控系统日志(如/var/log/secure),当发现同一个IP在短时间内有多次失败登录尝试时,自动调用防火墙规则(iptables或firewalld)将其IP封禁一段时间。

优势: 自动化、节省资源、精准打击恶意IP,避免手动封禁的繁琐。

2. 防火墙白名单(最强之盾)

如果你的服务器有固定的办公网络IP或运维IP,这是终极解决方案。

操作(以firewalld为例):

# 首先,放行你修改后的SSH端口,比如50022
firewall-cmd --permanent --add-port=50022/tcp

# 然后,设置默认zone为drop,拒绝所有连接
firewall-cmd --set-default-zone=drop

# 最后,只将你的可信IP加入白名单(例如:192.168.1.100)
firewall-cmd --permanent --add-source=192.168.1.100

# 重载防火墙
firewall-cmd --reload

效果: 全世界只有你指定的IP可以访问你的SSH端口,其他所有扫描和攻击包在防火墙层就被丢弃,服务器本身甚至感觉不到它们的存在,极大减轻系统负载。

第三层:疑兵之计—让攻击者“不敢进门”(高级隐匿)

这一招旨在增加攻击者的成本和不确定性。

Port Knocking (端口敲门):

这是一个非常有趣的概念。SSH端口平时是完全关闭的。只有按照预设的“暗号”(顺序访问一系列指定的关闭的端口),防火墙才会临时打开SSH端口一段时间。

例如: 先用nmap扫描一下端口 1000,2000,3000(敲门),你的敲门服务检测到这个正确顺序后,自动开启SSH端口15秒供你连接。

优点: 极大提升了隐蔽性,SSH服务在绝大部分时间对扫描器是“隐身”的。
缺点: 配置稍复杂,需要额外的客户端工具或脚本配合,便利性有所下降。

第四层:运筹帷幄—让运维“高枕无忧”(监控与审计)

防御不是一劳永逸的,我们需要眼睛来确保一切正常。

1. 集中日志管理

将服务器上的SSH认证日志(/var/log/secure 或 /var/log/auth.log)实时同步到 centralized 日志平台(如ELK Stack、Graylog、Splunk)。这样不仅可以持久化存储,还能方便地做全局分析和告警。

2. 设置告警规则

在日志平台上设置告警:

  • 高频失败告警: 同一个IP来源,1分钟内出现10次Failed password立即告警。
  • 成功登录告警: 监控Accepted publickey或Accepted password事件,一旦有非管理员IP成功登录,立即触发最高级别告警,因为这可能意味着防线已被突破。

配置方案推荐:

对于绝大多数场景,推荐这套 “黄金组合”:

  1. 修改SSH端口 + 禁用密码登录(只使用密钥)。
  2. 部署Fail2ban,自动封禁暴力破解IP。
  3. 配置防火墙白名单,只允许公司IP段访问。
  4. 配置日志审计和成功登录告警。

这套组合拳打下来,你的SSH服务将固若金汤。攻击者会发现,你的服务器就像一座配备了隐形护盾、自动防御炮塔且只有特定DNA才能进入的堡垒,绝大多数都会放弃转而寻找更脆弱的目标。