DDoS 攻击能阻止我通过 SSH 进入我的服务器吗?

DDoS 攻击能阻止我通过 SSH 进入我的服务器吗?

DDoS 攻击能阻止我通过 SSH 进入我的服务器吗?

我的老板说没有,所以一定是服务器出了问题。然而,即使经过重写,我们仍然被 4-5 个不同的机器人robots.txt攻击.htaccess

我的 PHP 同事认为这是机器人所为,而且我也倾向于同意这一观点,但是这种攻击有可能阻止我自己通过 ssh 进入我的服务器吗?

答案1

绝对是的,因为 DDoS 攻击的目的是压垮服务器资源。这意味着您的平均负载会急剧上升,您的内存会达到最大容量,以至于需要交换到磁盘。而且这不一定只是对端口 22 的攻击。我管理过大量由于上述情况而无法访问的 Web 服务器。

解决此类问题的最佳方法是通过比 SSH 更靠近机器的远程控制台登录。例如在云服务器设置中,您可以选择启动基于 Java 的终端。但这当然取决于您是否具有这样的访问权限。

另一种选择是,在服务器遭受 DDoS 攻击时,痛苦地等待 SSH 连接。有时这种方法有效。但有时我必须打开几个窗口,看看哪个先通过。

编辑:如果你想主动检测你的系统是否正在耗尽资源,我强烈建议你使用监控。我在 Monit 中使用了类似这样的脚本,除了在发生问题时向我发送电子邮件外,它还执行两项操作。一是检测您的 Web 服务器是否无法访问(即:关闭)并自动重新启动。但对您来说,这个loadavg区域可能最有意义。我在这里将其设置为 7,如果平均负载持续为 7 或更高,它会尝试重新启动服务器以清除连接并尝试使其重新获得控制。使用 Monit 之类的操作几乎可以确保您在发生 DDoS 时能够更好地控制它。

check process apache with pidfile /var/run/apache2.pid
        start "/etc/init.d/apache2 start"
        stop  "/etc/init.d/apache2 stop"
        if failed host 127.0.0.1 port 80
                with timeout 15 seconds
        then restart
        if loadavg (1min) greater than 7
                for 5 cycles
        then restart
        alert [email protected] only on { timeout, nonexist, resource }

答案2

是的,但也有其他原因。

我假设您首先排除了 iowait,因此我的下一个建议是捕获 DNS 流量的数据包,并确保反向 DNS 查找正常运行。在极端情况下,即使身份验证成功,DNS 故障也可能会导致登录过程超时. (当然,如果UseDNS no设置为sshd_config,这完全没有意义)

正如其他人在评论中强调的那样,您向我们提供您的研究结果很重要,说明您认为 DDoS 导致您被锁定的原因。此问题可能有很多潜在原因,因此不要仓促下结论。

答案3

作为一名曾经遭受过 DDOS 攻击、在托管行业工作过并且拥有空路由受害者 IP 的人,DDOS 确实可以摧毁整个服务器及其提供的任何服务,以及设计不良的网络和该网络上的所有服务器。

确实,机器人也可以破坏服务器;这就是为什么你需要设置robots.txt一个crawl-delay减少机器人抓取网站的频率(有些机器人会忽略,crawl-delay所以必须被阻止;例如,百度会忽略,crawl-delay尽管它说他们不会在其网站上忽略)。

RewriteRule您可以使用文件中的 s来阻止恶意机器人.htaccess。以下是阻止百度的示例:

RewriteCond %{HTTP_USER_AGENT} Baiduspider/2\.0
RewriteRule ^.* - [R=404,L]

答案4

是的,但当且仅当攻击者攻击您的 SSH 端口(默认为 22)时,这会导致该端口的连接过载并禁止任何 SSH 连接,直到攻击停止。

相关内容