服务器受到DDOS攻击-如何找出IP?


20

我的服务器受到DDOS攻击,我想阻止正在运行的IP,我应该寻找什么日志来确定攻击者的IP?


2
您如何确定服务器受到攻击?在我看来,您需要查看某种类型的TCP会话表(Windows上为netstat)才能做出此确定,并且这样做会看到连接到服务器的主机的ip地址,这将使您产生疑问模拟。
joeqwerty 2010年

Answers:


43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

看一下最上面的IP地址。如果有任何其他产品脱颖而出,那将是防火墙。

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

这将查看当前活动的连接,以查看是否有任何IP连接到端口80。您可能需要更改cut -c 45-,因为IP地址可能不在第45列开始。您的网络服务器,它也会被选中。

如果这些IP都不大可能出现任何超出正常范围的IP,则您需要假定您有一个僵尸网络在攻击您,并且需要在日志中查找特定的模式以查看其作用。针对wordpress网站的常见攻击是:

GET /index.php? HTTP/1.0

如果您查看网站的访问日志,则可以执行以下操作:

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

它会向您显示最常访问的网址。您可能会发现他们正在点击特定的脚本,而不是加载整个站点。

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

将允许您查看常见的UserAgent。他们可能在攻击中使用了一个UserAgent。

诀窍是找到与正常流量中不存在的攻击流量相同的东西,然后通过iptables,mod_rewrite或Webhost上游对其进行过滤。如果您受到Slowloris的打击,Apache 2.2.15现在提供了reqtimeout模块,该模块允许您配置一些设置以更好地防御Slowloris。


非常感谢,这个周末我一定会调查。
网络

优秀。非常有用,简直很棒。Allinonescript.com(allinonescript.com)遍布全球的开发者的知识获取知识。
Vadivel S '18 -4-12

只要您正确设置了access_log:tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d''| sort | uniq -c | sort -nr | more这应该可行。为我工作,
–ustbuster

7

仅供参考-您应该尝试与您的ISP合作,看看他们是否可以在您的上游阻止它。


4

这里有一些很好的技巧。我还要添加以下内容:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

将其放在别名下(例如nn)。这将为您提供更多已建立连接的ip的“图形”透视图。

希望这可以帮助。

对于那些无法正常工作的人,我已修复了语法,因此它可以在Ubuntu下为我运行:

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'

3

我最喜欢检查DOS攻击的日志文件是/ var / log / secure(在Redhat / Centos / Fedora下...)和/var/log/auth.log(在ubuntu,debian下)。您将看到攻击者的源IP登录尝试失败,大多数情况下是基于字典的攻击。



0

哪个发行版?

我认为该日志在Ubuntu的/var/log/apache2/access.log下...可能也是Debian。

以sudo身份运行updatedb,然后从命令行找到access.log。

编辑:我相信这只会发生在他们通过请求页面或直接通过端口80打到您的情况下。如果他们正在打其他端口,您将不会看到所需的信息,您将需要检查并查看哪个进程在该端口上运行,并查看该进程的连接日志。


0

如果怀疑某个特定端口,可以使用tcpdump查看它是哪个地址$ tcpdump -vv端口X


0

如果您使用的是分布式DOS,则肯定有不止一个IP可以阻塞,并且IP可能是伪造的,最好像mfinni所说的那样询问您的ISP 。同样,这可能不仅仅是针对您服务器的DOS,而是诱骗者无法隐藏真正的攻击,因此请检查所有公开的服务是否均由最新软件运行。您可能也对mod_dosevasive for Apache感兴趣。


2
IP很难伪造成网络攻击。由于有效的Web连接需要进行syn / ack握手,因此您必须足够幸运,才能使用具有正确序列号的伪造IP地址ack来使伪造攻击站点的有效负载正常工作。UDP / ICMP流量是无连接的,并且确实允许伪造数据包,但是,大多数主机会阻止这些数据包。
user6738237482 2010年

0

首先,您必须确定DOS的类型。有些攻击是非常隐秘但有效的(慢速),其中一些攻击是如此之重,可能会使ISP崩溃(ICMP泛滥的原因是其带宽高于ISP来源)。

确定DOS的类型后,请致电您的ISP并询问他们是否可以过滤流量。

我已经看到ICMP泛滥成灾,以至于我们不得不要求上游ISP通过BGP社区过滤掉目标IP。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.