今天我们在我们的服务器上运行apachebench来压力testing它。 当然,我们的系统达到了顶峰,磁盘I / O也是巨大的。 我们可以避免其他人进行这种“testing”或某种攻击来强调我们的系统吗?
我们在centos上运行apache,iptables正在运行。 不太确定避免这个问题的最好方法是什么?
IPTables可以限制每个来源主机每秒连接的数量。 xinetd也有类似的function; 但我不认为这是值得在Apache面前运行。 当然,DDOS攻击会超过这个限制(这是第一个'D')。 在这一点上,syncookies和一些基于路由器的限制可以防止你的机器崩溃,但服务将会受到影响。
您可以使用recent iptables模块来阻止来自特定ip的快速请求。 这里有一些例子的文章 。 如果您遇到更多的DoS攻击,而这些攻击压倒了您的带宽,那么在发生这种情况时可能需要让ISP参与。 您要研究的一般主题是拒绝服务(DoS)攻击。
在我们的networking饱和之前,需要6个quadcore xeon对着我们的一个Varnishcaching头端运行ab。 清漆似乎没有问题。 我们可以将我们的清漆机器升级到10g的连接,并推送更多的机器,但是有什么意义呢?
如果ab的一个实例正在压缩你的服务器,你可能想要分析你的web应用/堆栈。 ab只testing一个页面,这真的应该是任何webapp处理世界上最简单的事情之一。
当你得到相当数量的真实stream量时,会发生什么事情,模仿你的服务器的abtesting?