最近我读到了亚马逊和贝宝上的拒绝服务攻击。我很好奇这是如何执行的。这些大公司必须拥有庞大的服务器,因此 DOS 需要数十亿个机器人才能访问它。
所以我的问题是
小智 5
从根本上说,这种拒绝服务攻击涉及向服务器发送超出其处理能力的请求。可能是大量机器人发送简单请求(尽管它不需要数十亿来关闭单个服务器 - 几千个顶部)或少数机器人发送众所周知的执行时间长的请求。
第二种攻击类型是最恶毒的,因为单个 bot 可以想象地关闭服务器。例如,当 MySQL变大时,它的LIMIT N OFFSET M
速度是出了名的慢M
,所以一个简单的攻击是快速连续请求 500 页中的 200-300 页,阻塞所有 MySQL 工作线程。在未受保护的服务器上,这可以通过 firebug 来完成。唯一的解决方案是识别成本高昂的操作,然后要么优化它们,使它们按顺序排列(以便阻塞站点的该部分不会影响站点的其余部分),要么检测需要昂贵操作的 IP 和除非遵守特定的等待间隔,否则拒绝执行该操作。
第一种攻击类型更难实现,因为你需要很多机器人。另一方面,停止服务器也更难:如果你有成千上万的机器人尽可能快地向你发送数据,你的带宽将被洪水吞噬,服务器对此无能为力(即使它完全拒绝了 99% 的请求),因此如果您认为自己可能成为目标,那么具有防洪功能的路由器是一个不错的选择。