避免人们在我们的服务器上运行“压力测试”/攻击(CentOS + Apache)

避免人们在我们的服务器上运行“压力测试”/攻击(CentOS + Apache)

今天我们在服务器上运行了 apachebench 进行压力测试。当然,我们的系统达到了峰值,磁盘 I/O 非常大。我们能否避免其他人运行此类“测试”或某种攻击来给我们的系统带来压力?

我们在 centos 上运行 apache,iptables 正在运行。不太确定避免该问题的最佳方法是什么?

答案1

IPTables 可以限制每个源主机每秒的连接数。xinetd也有类似的功能;但我认为不值得在 Apache 之前运行它。当然,DDOS 攻击会超出该限制(这是第一个“D”)。此时,syncookies 和一些基于路由器的限制将防止您的机器崩溃,但服务无论如何都会受到影响。

答案2

您可以使用recent带有 iptables 的模块来阻止来自特定 IP 的快速传入请求。 这是一篇文章举几个例子。如果您遭遇更多 DoS 攻击,导致带宽超负荷,那么您可能需要让 ISP 介入。您要研究的一般主题是拒绝服务 (DoS) 攻击。

答案3

在我们的网络饱和之前,需要 6 个四核 Xeon 对我们的一个 Varnish 缓存头端运行 ab。Varnish 似乎没有问题。我们可以将 Varnish 机器升级到 10g 连接,并向其推送更多机器,但是,这有什么意义呢?

如果 ab 的一个实例正在压垮您的服务器,您可能需要分析您的 webapp/stack。ab 只测试一个页面,这实际上应该是任何 webapp 处理起来最简单的事情之一。

当您获得等量的实际流量,模拟压垮您服务器的 ab 测试时,会发生什么?

相关内容