我的网络服务器被大量无效请求淹没

我的网络服务器被大量无效请求淹没

我的网络服务器(nginx)不断收到这样的请求:

23.244.104.206 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2947236&size=300x250&cb={CACHEBUSTER}&referrer={REFERRER_URL}&pubclick={INSERT_CLICK_TAG} HTTP/1.0" 200 612 "http://www.businessfull.net/?p=8167" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"
216.244.65.21 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2583052&referrer=http%3A%2F%2Fwww.excitingflashgames.com%2Fgame%2Frun_chicken_run.html&cb=78488 HTTP/1.0" 200 612 "http://www.excitingflashgames.com/game/run_chicken_run.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.04 Chromium/15.0.871.0 Chrome/15.0.871.0 Safari/535.2"

有数百个这样的请求,它们导致我的 http 服务器速度慢了很多。我可以用 iptables 来阻止这些请求吗?奇怪的是,他们试图访问我甚至没有托管的网站。我认为这在禁止他们方面很有用,但我不确定该怎么做。

答案1

这是一个众所周知的代理滥用漏洞的例子。某些版本的 Apache(安装了代理模块)通常配置不当或不安全,允许任何人通过您的 Web 服务器路由请求,实际上将其变成不知情的非法代理服务器(可用于令人不快的攻击)。

尽管 tomtom 建议将您的安全工作转移到 CloudFlare,但该解决方案相当简单,并且应该作为任何基本安全审核的一部分来实施(即使对于最基本的网站也是如此)。

基于 Vinícius Ferrão 的回答;安装 Fail2Ban 后,您将需要设置一个过滤器(在 debian/ubuntu 上,创建文件/etc/fail2ban/filter.d/nginx-proxy.conf)。

在此文件中输入以下内容:

# Block IPs trying to use server as proxy.
#
# Matches e.g.
# 192.168.1.1 - - "GET http://www.something.com/
#
[Definition]
failregex = ^<HOST> -.*GET http.*
ignoreregex =

然后在 fail2ban 配置文件中创建此块(通常在/etc/fail2ban/jail.conf):

## block hosts trying to abuse our server as a forward proxy
[nginx-proxy]
enabled = true
port    = 80,443
filter = nginx-proxy
logpath = /path/to/websites/access.log.file
maxretry = 2
bantime  = 86400

(替换logpath =为您网站的访问日志的路径)

这将使用默认阻止模式来禁止试图滥用您的网站作为正向代理的主机。

之后,我会考虑检查您的 nginx 配置,并使用控制来阻止任何人向您的服务器发出这些请求(如果不是来自特定 IP)。

希望这可以帮助!

答案2

情况不应该如此,但如果您不断从同一来源收到大量请求,而这导致您的服务器出现拒绝服务(DoS),您应该考虑使用类似fail2ban暂时禁止滥用客户端访问您的服务器的方法。

无论如何,如果您的最终目的地(您的服务器)之前没有一些安全设备,最好避免暴力攻击。

fail2ban您可以在其网站上获取更多信息:http://www.fail2ban.org这里有一些配置技巧可供使用fail2bannginxhttp://www.fail2ban.org/wiki/index.php/NginX

答案3

欢迎来到互联网。这里到处都是机器人,试图在连接的每台服务器上寻找漏洞。

忍受它。你没有什么可以做的。

有数百个这样的请求,它们导致我的服务器速度变慢了很多。

您在像 50 年前的硬件上运行服务器=?因为即使是最小的 VPS 也不会因为每秒数百个这样的请求而变得很慢。

相关内容