缓解匿名 DOS(tor 与幽门螺杆菌结合)

信息安全 ddos 拒绝服务
2021-09-07 15:55:11

我在 youtube 上发现了这个相当可怕的视频,它把 DOS 带到了一个全新的水平,让它看起来像是来自多个来源。作为对 Rsnake (Robert Hansen) slowloris.py 脚本的反制措施,该漏洞主要存在于 Apache Web 服务器中,通过在 Apache 配置文件中限制来自单一来源的并发连接数来解决。

想象一下这两者的结合:
1- PyLoris 可以利用 SOCKS 代理和 SSL 连接,并且可以针对 HTTP、FTP、SMTP、IMAP 和 Telnet 等协议;正确配置后,它使用低带宽,使得单台机器可以关闭服务器
2- Tor 通过在由世界各地的志愿者运行的分布式中继网络中反弹您的通信来保护您:它可以防止有人监视您的互联网连接了解您访问的网站,并防止您访问的网站了解您的实际位置。Tor 可与您现有的许多应用程序一起使用,包括 Web 浏览器、即时消息客户端、远程登录和其他基于 TCP 协议的应用程序。

有什么方法可以检测到这种拒绝服务
,强烈鼓励任何建议或讨论

4个回答

sarepta:首先,我是PyLoris的作者,所以我对此进行了大量研究。事实上,你所设想的攻击是我在开发 PyLoris 时专门编写的攻击——当前版本甚至捆绑了一个帮助应用程序 tor_switcher.py,该应用程序通过多个 Tor 出口节点路由攻击。

检测基于 Tor 的洪水的唯一好方法是根据已知的 Tor 出口节点检查源 IP 地址。这对于黑名单或 mod_security 之类的插件来说是微不足道的。在我的研究中,mod_antilors 不会阻止 PyLoris+Tor 矢量,因为它是基于 IP 地址的。我个人防止这种攻击的选择是使用 Apache 以外的任何服务器来处理来自 Internet 的直接连接。这可能意味着使用像Varnish这样的反向代理来编组请求或为您的 Web 服务器切换到像nginx这样的东西。

除了重新考虑您的基础架构之外,我确实认为低超时、IP 连接限制、最小数据传输速率、最大连接时间限制和最大请求​​大小的组合可以为这种形式的攻击提供足够的保护。我说这一切的免责声明是没有办法阻止这种形式的攻击,并且应该彻底考虑这些配置以衡量它们对每个服务器的影响。

为了反驳 Tom Leek 的断言,即 Tor 不是执行拒绝服务攻击的有效方式,PyLoris 和 SlowLoris 是应用层攻击,而不是基于压倒性带宽。事实上,像这些使用的连接耗尽方法是在受限制的环境中工作的少数技术之一(请参阅伊朗绿色革命中的 Slow/PyLoris 的使用)。在 *loris 攻击的高峰期,服务器可能会遇到不到 1kbps 的流量。

为了反驳 DW 的推理,Atlas Networks 的Pravail APS的一大卖点是能够防止 PyLoris 和 SlowLoris(在他们早期的手册中明确说明)。这种攻击方法没有像 LOIC 这样的标准 HTTP 泛洪那么普遍,但这仅仅是因为它是一种更难正确使用的技术。

上周我花了很多时间分析一次针对我的服务器的大型攻击。攻击首先来自一个很容易被阻止的僵尸网络。事实上,我的防火墙自动阻止了它。

第二次攻击是由通过 TOR 发送的 http 请求构成的。一开始,我下载了 IP 地址的 TOR 列表(从这里https://check.torproject.org/cgi-bin/TorBulkExitList.py)并将它们全部阻止,然后我分析了数据包,发现它们有许多标志相似之处我能够根据标志阻止数据包。

我希望这有帮助。

只需对 Slowlaris 攻击使用标准防御即可。

Tor 不太可能成为有效的攻击工具。它是高度限速的,攻击者将无法通过它发送许多攻击数据包。我不会担心太多。

重要的是要记住,这种攻击本质上是可检测的。这意味着,如果它确实发生在您身上,您将很容易发现。这也意味着如果它经常发生在其他人身上,我们会听到它。这种攻击并未被其他人广泛报道的事实表明,这可能不是您需要非常担心的高优先级攻击。

如果有人想对您的网站发起 DOS 攻击,他们更有可能使用技术含量较低的方法,例如尝试用大量数据包淹没您的网络连接。因此,专注于防御最可能发生的风险。例如,安排一个可以抵御此类 DOS 攻击的 CDN 或托管站点。(这也将有助于对抗 Slowloris,作为附带好处。)对于小型网站,您可以查看 CloudFlare 或竞争对手。

另请参阅如何最好地防御针对 Apache Web 服务器的“slowloris”DOS 攻击?Slowloris DOS 缓解指南mod_antiloris

Tor不是执行分布式拒绝服务攻击的有效方法。Tor 通过多个中继传播请求,但没有放大。任何来自 Tor 网络的东西都必须在某个时候进入。一个单独使用他的 PC 的攻击者,试图用无数的请求淹没你的服务器,必须首先通过他的 ISP 从他自己的 PC 中获取他的请求。他会先失败。

Tor 擅长隐藏源,但不是僵尸网络要通过大量请求溢出服务器来进行 DoS,攻击者必须能够发送大量请求,这需要使用比您的服务器更大的服务器(尤其是它的网络带宽),或者使用大量可以通信的机器通过他们的网络连接到您的服务器(因此 DDoS 中的第一个 D)。