我的apache服务器正在获取DDoSed。 它看起来像所有的stream量是从俄罗斯文件共享站点的文件服务器的引荐。 我怎样才能阻止来自受感染网站的stream量?
以上这些答案都不会有帮助。
如果您的网站受到DDoS攻击,唯一真正可用的帮助来源是上游提供商的技术联系人。
是的,你可以在networking边缘拒绝和丢弃数据包,但是如果你的连接已经被来自外部的stream量所饱和,那么它就不会有丝毫的差别。
您需要与您的提供商合作,在stream量到达networking外部时将stream量丢弃,这种networking具有大量的备用冗余容量,并且更容易应用整个空路由块。
改变iptables或者在你的web服务器上重写,可能会给你一个停止攻击的印象,但是就像试图把一个绷带放在一个动脉血pipe上。
大量的攻击stream量甚至可以压垮你的内核,如果是在做iptables的话,stream量的下降也会占用CPU时间。 让您的ISP /运营商来做到这一点。
从他们的angular度来看也更容易。
你可以用DoS(来自任何站点)通过简单的限制数量来保护你的站点
此规则拒绝来自一个ip的多于10个连接:
iptables -A INPUT -p tcp -m tcp –dport 80 –tcp-flags FIN,SYN,RST,ACK SYN -m connlimit –connlimit-above 10 –connlimit-mask 32 -j REJECT –reject-with TCP重置
这logging了事件:
iptables -A INPUT -p tcp -m tcp –dport 80 –tcp-flags FIN,SYN,RST,ACK SYN -m connlimit –connlimit-above 10 –connlimit-mask 32 -j LOG – 日志前缀“ ABOVE_LIMIT ”
连接数只是一个例子,你必须设定你自己的价值。 但是如果你知道在这一刻,DoS正在把你从这个俄罗斯站点阻止这个ip的永久存在
iptables -I INPUT -s XXXX -j DROP
xxxx是本网站的IP地址。
大多数DDoS攻击来自多个IP地址,因此阻止一个IP地址可能无法“解决问题”。 然而,为了帮助我们(在真正的DDoS攻击中),我们需要更多的信息,比如什么types的DDoS是SYN洪水,ICMP洪水,别的什么等等。
回答你的具体问题
我怎样才能阻止来自受感染网站的stream量?
根据您的操作系统(是Ubuntu?CentOS?还是其他?),以及如何configuration它(是否是VPS?您拥有的物理服务器?),您可以使用IP表来阻止来自特定IP地址的请求:
iptables -I INPUT -s 1.2.3.4 -j DROP
如果这不能回答你的问题,那么给我们提供关于你的configuration,日志文件,服务器架构,到底发生了什么的更多信息。
如果通过DDoS你的意思是很多普通用户打你的网站和下载东西,最好的办法就是拒绝这些请求。
你最好通过查看日志find(头脑分享几行?)。
所以你设置了这样的东西。 你仍然会得到很多的连接,但是这些连接很快就被拒绝了,并且不会加载你的apache。
RewriteEngine on RewriteCond %{HTTP_REFERER} referingsite.com [NC] RewriteRule .* - [F]
或者您可以以其他方式进行操作,拒绝所有没有空的referer或referer的请求。
当然,如果只是普通的DDoS,这将无济于事。