全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 16972|回复: 0

Linux服务器被DDoS或CC攻击时如何封禁攻击者IP

[复制链接]
发表于 2019-11-1 20:11:14 | 显示全部楼层 |阅读模式
Linux服务器就是采用Linux系统的网络服务器,当Linux服务器遭到DDOS攻击或者CC攻击时,如果攻击流量非常大,那只能通过专业的网络安全公司接入高防来防御了,但如果是小流量的攻击时,我们可以通过使用 iptables 来手动封禁这些攻击者的IP,从而达到防护效果。今天墨者安全就来分享一下Linux服务器下如何获取攻击者IP然后进行封禁。


通过 netstat 获取攻击者 IP

如果攻击者攻击的是你的 Web 服务的话,默认是80端口,我们就可以使用下面的代码,如果攻击的不是80端口的话,将下面的两个数字80改为你被攻击的端口即可。如果你需要显示多条记录,请自己手动将head -n20调大即可。

netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20 | netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20


通过 tcpdump 获取攻击者 IP

在使用之前,请确保您的系统已经安装了tcpdump,Debian/Ubuntu系列快速安装如下:

apt-get install -y tcpdump

安装后,使用下面的代码即可。需要注意的是,-i eth0指的是你主网卡,如果你是 OpenVZ 的虚拟机的话,就改成您的网卡名venet0。同样你需要设置的是,port 80设置你被攻击的端口,-c 1000指 tcpdump 需要统计的记录数,他会在达到这个数之后显示结果。head -20设置你要显示的记录条数。

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -20


如何封禁 IP ?

通过上面的步骤,我们已经知道是谁在攻击我们了,现在我们就可以将他们拉入iptables禁止他们连接到服务器了。

封禁单个 IP
iptables -I INPUT -s 211.1.2.1 -j DROP

封禁一个 IP 段
iptables -I INPUT -s 211.1.2.0/16 -j DROP
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-11-23 00:56 , Processed in 0.061295 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表