GXCOM 安全 SSH 暴力破解防护:如何在 Linux 上检测并阻止登录攻击
Cherry Servers 独立服务器、VPS、GPU 服务器和裸机基础设施

SSH 暴力破解防护:如何在 Linux 上检测并阻止登录攻击

成千上万的自动化机器人会扫描面向互联网的Linux服务器,寻找暴露在外的SSH服务。一旦发现22号端口处于开放状态,它们就会反复尝试各种用户名和密码,以获取未经授权的访问权限。.

生效 SSH 暴力破解防护 首先,要识别可疑的登录活动,阻止重复登录尝试,并替换不安全的认证方式。.

本指南介绍了如何检测 Linux 系统上的 SSH 暴力破解攻击、配置 Fail2ban、加强 SSH 身份验证,以及如何监控服务器,同时避免因误操作而被锁定在服务器之外。.

SSH 暴力破解防护:检测并阻止 Linux 登录攻击

什么是SSH暴力破解攻击?

SSH 暴力破解攻击是指对服务器的 SSH 服务进行反复登录尝试。攻击者可能会尝试常见用户名、已泄露的密码或自动生成的凭据列表。.

常见的预警信号包括:

  • 大量SSH登录尝试失败。.
  • 来自未知IP地址的身份验证多次失败。.
  • 尝试以 root 用户或不存在的用户身份登录。.
  • 意外成功的登录或新授权的 SSH 密钥。.

简答: 检查 SSH 身份验证日志,启用自动封锁功能,使用 SSH 密钥,禁用不必要的密码身份验证,并在可行的情况下限制 SSH 访问。.

1. 如何检测 SSH 暴力破解尝试

在 Ubuntu 或 Debian 系统上,SSH 身份验证事件可能会出现在:

sudo grep "密码错误" /var/log/auth.log

在某些基于 RHEL 的系统上,请检查:

sudo grep "密码错误" /var/log/secure

使用 systemd 日志的系统可通过以下方式检查 SSH 服务:

sudo journalctl -u ssh --since "1 小时前"

某些发行版使用该服务名称 sshd 而不是 ssh.

请留意反复出现的认证失败、被针对的用户名以及意外成功的认证事件。认证失败次数较多并不一定意味着攻击者已成功入侵。.

2. 使用 Fail2ban 阻止重复的 SSH 登录尝试

Fail2ban 会监控相关日志,并在多次认证失败后暂时封禁相关IP地址。.

在 Ubuntu 或 Debian 上:

sudo apt update
sudo apt install fail2ban

请创建一个本地 jail 配置,而不是直接编辑软件包的默认配置:

sudo nano /etc/fail2ban/jail.d/sshd.local

示例:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h

请确认已配置的jail能够读取系统的SSH认证事件,并且使用了兼容的防火墙后端。.

UltaHost 的 VPS、独立服务器和云托管解决方案

验证配置并重启服务:

sudo fail2ban-client -t
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

重要提示: 测试时请保持现有 SSH 会话处于打开状态。请谨慎配置受信任的管理 IP 排除规则,以减少意外锁定情况的发生。.

3. 使用 SSH 密钥代替密码

SSH 公钥认证能显著降低遭受密码猜测攻击的风险。.

在本地计算机上生成一对 Ed25519 密钥:

ssh-keygen -t ed25519

请使用受支持的方法将公钥安装到您的服务器上,例如:

ssh-copy-id 用户名@服务器IP

在禁用密码认证之前,请先在另一个终端中确认基于密钥的登录是否正常工作。.

然后检查 SSH 守护进程的配置,该配置通常位于:

/etc/ssh/sshd_config

对于所有管理员都拥有有效 SSH 密钥的环境,请考虑:

PasswordAuthentication no
PermitRootLogin no

在应用更改之前,请务必检查随附的配置文件和有效的 SSH 设置。.

使用以下命令验证配置:

sudo sshd -t

使用您所用发行版的正确服务名称重启 SSH 服务。请保持当前会话处于打开状态,直到新登录成功为止。.

4. 使用防火墙限制 SSH 访问

在防火墙上拦截不需要的 SSH 流量,可以减少不必要的身份验证尝试。.

在使用 UFW 的 Ubuntu 系统上,管理员可以允许来自可信管理地址的 SSH 访问:

sudo ufw allow from 203.0.113.10 to any port 22 proto tcp

请将示例中的 IP 地址替换为您实际的可信公共 IP 地址。.

在启用或修改防火墙规则之前,请确认当前的管理连接以及所有必需的服务仍被允许通过。.

对于远程管理,使用 VPN 或服务商支持的私有管理网络可以进一步降低 SSH 暴露的风险。.

5. 更改 SSH 端口能阻止攻击吗?

更改默认的 SSH 端口可能会减少针对 22 端口的自动化扫描,但这本身并不能提供强有力的安全保障。.

攻击者可以通过网络扫描发现其他端口。.

应优先采用基于密钥的身份验证、访问限制、软件更新以及自动攻击检测,而非依赖于非标准端口号。.

6. 监控 SSH 攻击和服务器运行状况

定期审查登录失败和登录成功的事件。调查陌生账户、意外出现的授权密钥以及配置变更。.

针对异常的身份验证活动配置警报,并保持可靠的服务器备份。.

高强度的攻击流量也可能影响日志记录量和资源使用情况。我们的 服务器性能监控指南 介绍了如何调查 CPU、内存、磁盘和网络的活动情况。.

有关恢复计划,请参阅我们的 专用服务器备份策略.

7. 选择 VPS 或独立服务器以实现安全管理

安全性取决于您的配置和维护做法,而不仅仅取决于您选择哪家托管服务提供商。.

Cherry 服务器 以及 ServerMania 在比较专用基础设施和服务器管理要求时,这些因素是需要考虑的。.

对于 VPS 或云部署,, Hostwinds 以及 卡马特拉 提供更多可供评估的基础设施选项。.

在选择套餐之前,请比较管理权限、防火墙功能、操作系统支持、备份选项以及技术支持责任。.

我们的 托管型与非托管型主机指南 解释了服务器管理职责的差异。.

8. SSH 暴力破解防护检查清单

  • 查看 SSH 身份验证日志。.
  • 配置并测试 Fail2ban。.
  • 使用 SSH 密钥,并禁用不必要的密码登录。.
  • 通过防火墙或私有网络限制 SSH 访问。.
  • 请定期安装安全更新。.
  • 监控成功的登录操作和账户变更。.
  • 维护经过测试的备份和恢复访问权限。.

如果您正在考虑是在VPS还是独立服务器上管理安全,请阅读我们的 专用服务器与VPS对比.

Cloudways 托管云主机——高性能、托管安全、自动备份和轻松扩展

常见问题解答

如何判断有人是否在对我的 SSH 服务器进行暴力破解?

请在 SSH 日志中查找反复失败的身份验证尝试,尤其是来自陌生地址或针对常见用户名的尝试。.

Fail2ban 能阻止所有 SSH 攻击吗?

不。它有助于阻止来自可识别来源的重复尝试,但不能替代安全的身份验证、更新和访问控制。.

我应该禁用 SSH 密码认证吗?

是的,当每位授权管理员均已验证基于密钥的访问功能正常,且已具备恢复方法时。.

仅更改 SSH 端口就够了吗?

不。这虽然可能减少后台扫描,但无法阻止有决心攻击者发现该服务。.

SSH 暴力破解攻击会影响服务器性能吗?

大量身份验证尝试可能会增加日志记录和处理活动,不过具体影响因服务器和攻击强度而异。.

最终裁决

可靠 SSH 暴力破解防护 结合了攻击检测、Fail2ban、SSH密钥认证、防火墙限制以及持续监控。.

首先检查日志,确保管理员访问权限的安全,并在关闭现有 SSH 会话之前测试每一项更改。.

检测 → 阻断 → 加强身份验证 → 限制访问 → 监控。.

© GXCOM.NET。本网站上的所有内容均代表我们团队的独立研究、编辑分析及原创见解。任何转载、引用或再发布均须注明原始来源,并附上原文链接。.https://www.gxcom.net/zh/ssh-%e6%9a%b4%e5%8a%9b%e7%a0%b4%e8%a7%a3%e9%98%b2%e6%8a%a4/
Hostwinds 云服务器、VPS 托管和独立服务器解决方案 DediXLAB Windows VPS、Linux VPS、独立服务器和混合服务器
订阅
通知
访客
0 评论
最旧的
最新 得票最多
返回顶部
0
很想听听大家的看法,请留言。.x