在我的Web服务器上获得大量的点击,并取消了我的httpd。 可能的DDoS?

我在我的服务器上有很多点击。 这台服务器通常几乎没有stream量,但每当我将服务器备份时,都会有不断的点击。 我得到以下错误第一ip_conntrack: table full, dropping packet然后我的httpd用完内存和我的服务器变得没有反应。 任何想法如何解决它?

我access_log最新的头。 我将http更改为hxxp

122.193.164.5 - - [27/Mar/2011:23:48:35 -0700] "GET hxxp://pubs.acs.org/templates/jsp/_style2/_achs/css/atypon-main.css HTTP/1.0" 200 174299 "hxxp://pubs.acs.org/doi/abs/10.1021/ac100095u" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"

218.29.188.217 - - [27/Mar/2011:23:48:38 -0700] "GET hxxp://rotator.adjuggler.com/servlet/ajrotator/913831/0/vh?ajecscp=1301294917498&z=pdn&dim=753179&kw=&click= http://ad.yieldads.com/clk?2,13%3B5900475f5cba1a74%3B12efb38a54b,0%3B%3B%3B1304299909,cl1GAPp3GABp04QAAAAAAEfOIQAAAAAAAgAAAAIAAAAAAP8AAAABGF1nJgAAAAAAJ6sXAAAAAAD1YSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn.A8AAAAAAAIAAwAAAAAAS6U4-y4BAAAAAAAAADY2ZjM3ZGE0LTU5MDctMTFlMC04MzUwLTAwMzA0OGQ3MjBhOABmlSoAAAA=,,http%3A%2F%2Fwww.healthcarefinancenews.com%2F , HTTP/1.0" 200 1181 " http://ad.yieldmanager.com/iframe3?cl1GAPp3GABp04QAAAAAAEfOIQAAAAAAAgAAAAIAAAAAAP8AAAABGF1nJgAAAAAAJ6sXAAAAAAD1YSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn.A8AAAAAAAIAAwAAAAAAwMqhRbbzxT.AyqFFtvPFP1yPwvUoXM8.XI.C9Shczz9mZmZmZmbWP2ZmZmZmZtY.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbr8TXwhPZCb-NEWYczMEV.VtRMDgbQFgGd6CwAAAAAA==,,http%3A%2F%2Fwww.healthcarefinancenews.com%2F,Z%3D300x250%26s%3D1603578%26_salt%3D954499605%26B%3D12%26m%3D2%26u%3Dhttp%253A%252F%252Fwww.healthcarefinancenews.com%252F%26r%3D1,66f37da4-5907-11e0-8350-003048d720a8 " "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040206 Firefox/0.8"

117.41.182.55 - - [27/Mar/2011:23:48:38 -0700] "GET hxxp://www5.tellgames.com/media/games/images/tellgames/120x90/02470dca7676598b9381e4c5dc2eef05.jpg HTTP/1.0" 200 4883 " http://us.tellgames.com/index.php?category=17&sortby=play&referer=ad2games " "Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)"

117.41.186.191 - - [27/Mar/2011:23:48:37 -0700] "GET hxxp://s0.2mdn.net/1361550/K2147_NBRD_FYEA_728.jpg HTTP/1.0" 200 41371 "hxxp://ad.doubleclick.net/adi/N3340.161249.ADNETIK.COM/B5252096.3;sz=728x90;click= http://ad.z5x.net/clk?2,13%3B6b9391cec2a21533%3B12efb389ce8,0%3B%3B%3B2955295377,s5mFAKglGQBtfoAAAAAAAJJyIQAAAAAAAgAAAAYAAAAAAP8AAAABGB5.JwAAAAAAd0IfAAAAAABy8CsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdhBAAAAAAAAIAAwAAAAAA6Jw4-y4BAAAAAAAAADY1YTAxMzY4LTU5MDctMTFlMC1iMTJmLTAwMzA0OGQ3NTRlMABwpioAAAA=,,http%3A%2F%2Fwww.providesearch.com%2F,;pc=[TPAS_ID];ord=[timestamp] " "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9"

173.252.208.155 - - [27/Mar/2011:23:48:38 -0700] "GET hxxp://ads.smowtion.com/st?ad_size=160x600&section=1739112 HTTP/1.0" 200 1336 "hxxp://www.consumerhealthdigest.info/category/health-information" "Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20030701"

61.139.105.162 - - [27/Mar/2011:23:48:38 -0700] "GET hxxp://therugged.com/wp-content/uploads/2011/01/Steph61-80x53.jpg HTTP/1.0" 200 2980 "hxxp://www.therugged.com/category/lifestyle#player" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1"

您正在托pipe这些域名吗? 我怀疑不是。

最近在我的机器上扫描了开放的http代理,我看到了一个很大的增长 – 看起来你可能运行一个开放的http代理(这跟运行一个开放的邮件转发一样糟糕 – 甚至更糟糕,因为大多数人现在执行龋如RBL和SPF的缓解措施)。

禁用代理/添加身份validation/限制到您的局域网地址。

OTOH如果你真的是所有这些领域的网站pipe理员,然后看看mod_evasive和mod_security。

从时间戳来看,它似乎不是一个非常高的命中率,但从知识产权,似乎是来自全国各地。 大多数networking服务器应该能够处理一秒钟的几次点击。 但是,您可以尝试一些方法来缓解您的问题。

  1. 如果其中某些连接通过保持打开的连接来阻止连接,则可以减less每个连接的保持活动超时。
  2. 通过减less监听进程和线程的最大数量来检查你的httpd是否消耗了太多的内存。
  3. 把你的networking服务器放在像varnish / pound之类的反向代理之后,并在边缘过滤目的连接,立即丢弃无效的连接。
  4. 加强你的服务器,以便能够处理大量的连接。 定期使用围攻阿帕奇替补testing,以确保您可以处理合理的负载。

这是一个小小的IPtables脚本,它将限制在特定时间段内来自单个IP的连接数量。 过去我们为此停止了这种事情。 它使用最近的模块(大多数现代操作系统将自动加载为IPtables模块)。

它看起来好像这些HTTP命中可能不会导致Web服务器的问题,但这将只限制来自IP的所有stream量,所以如果删除–dport选项,则不会仅仅关心HTTP命中。 与任何IPtables相关的:谨慎使用(如果是远程服务器,首先在本地尝试)。

iptables -F; iptables -X; iptables -nL

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl -j DROP

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl -j LOG --log-level info --log-prefix IP-DROP:

使用反向代理,我会build议Nginx,因为它的重量轻。

为您的域设置一个服务器部分,并为捕获所有请求默认一个。 任何到达catch全域的请求都返回一个404。

同时closuresKeepAlive,将其设置为0,您可能需要禁用默认区域的日志logging,直到攻击停止,否则会填满我们的磁盘。