防止 DOS 攻击的第一步

信息安全 网络服务器 ddos 拒绝服务
2021-09-07 04:03:35

我的服务器目前正受到另一台服务器的攻击。这是我的日志:

root@my-server:/var/log# tail -f auth.log
Feb 19 11:53:08 my-server sshd[3745]: Disconnecting: Too many authentication failures for root [preauth]
Feb 19 11:53:08 my-server sshd[3745]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=125.32.114.181  user=root
Feb 19 11:53:08 my-server sshd[3745]: PAM service(sshd) ignoring max retries; 6 > 3
Feb 19 11:53:39 my-server sshd[3747]: Address 125.32.114.181 maps to 181.114.32.125.adsl-pool.jlccptt.net.cn, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Feb 19 11:53:41 my-server sshd[3747]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=125.32.114.181  user=root
Feb 19 11:53:44 my-server sshd[3747]: Failed password for root from 125.32.114.181 port 1680 ssh2
Feb 19 11:53:57  sshd[3747]: last message repeated 5 times
Feb 19 11:53:57 my-server sshd[3747]: Disconnecting: Too many authentication failures for root [preauth]
Feb 19 11:53:57 my-server sshd[3747]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=125.32.114.181  user=root
Feb 19 11:53:57 my-server sshd[3747]: PAM service(sshd) ignoring max retries; 6 > 3

防止此类攻击的第一步是什么?

3个回答

考虑到攻击者进行了完整的 tcp-ip 握手,安装OSSEC或 fail2ban 这样的HIDS应该可以很好地自动丢弃此流量。

将 SSH 移动到备用端口并不是一个坏主意。虽然它不会保护您免受花时间运行完整端口扫描的坚定攻击者的攻击,但它实际上可以阻止 99.9999% 的所有攻击。

绝大多数公共 Web 服务器甚至永远不会看到一个坚定的攻击者会花时间找到您的 SSH 端口。但是, Internet 上的所有服务器都可能会受到 22 端口的攻击,通常每天会受到数万次攻击。

这些 SSH 扫描是自动的、非个人的,并且通常会尝试非常有限数量的密码——每个攻击者尝试 10 到 10,000 次。因此,只要您所有的 SSH 密码都是长且不可预测的,您就不必担心。

尽管如此,SSH 密钥总是比密码好。特别是对于root,应该完全禁用密码验证。禁用以 root 身份直接登录(首选)或禁用文件中使用PermitRootLogin without-password的root 密码身份验证。sshd_config

第一个简单的解决方案是禁止攻击来自的 IP 地址。这可以在路由器或服务器本身上完成。通常之后 IP 更改并且攻击继续。

更新:另一个简单的解决方案可能是 IP 过滤。这可以在路由器和服务器防火墙上完成。这适用于仅从特定目的地使用 SSH 的情况。通常可能会有另一台机器用作多台服务器的入口。对于另一个 IP,该端口上的服务器将无法访问。

另一个非常简单的解决方案是将 SSH 放置到不同的端口号(如 9022 等)并将 22 保留为“空”。这就是“好奇心的安全”。更新:服务器在端口 22 上将无法访问,但当有人扫描您的端口时,您仍然容易受到攻击。

为了防止服务器上的暴力破解,您可以使用SSHGuard来保护多个服务或其他类似的实用程序,如前所述的fail2ban 。更新:这些工具会自动编辑防火墙规则,通常根据解析日志文件......而且他们可以做的更多。