目前我有所有这些IP进来。有没有办法在数据包的内容中find一个共同的string,然后通过IPTables阻止攻击?
Oct 24 16:28:52 host kernel: [ 823.255566] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=176.3.80.132 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=242 ID=28861 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:28:54 host kernel: [ 825.252398] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=61.54.230.5 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=242 ID=56117 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:28:56 host kernel: [ 827.249315] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=88.59.138.26 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=249 ID=43596 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:28:58 host kernel: [ 829.246167] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=40.64.113.72 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=2417 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:29:00 host kernel: [ 831.243043] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=128.251.121.17 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=249 ID=34268 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:29:02 host kernel: [ 833.239921] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=68.242.45.172 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=249 ID=31174 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:29:04 host kernel: [ 835.236802] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=23.229.207.247 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=60655 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:29:06 host kernel: [ 837.233621] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=180.97.21.206 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=242 ID=47914 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 Oct 24 16:29:08 host kernel: [ 839.230530] Firewall: *SYNFLOOD Blocked* IN=eth0 OUT= MAC= SRC=110.248.74.43 DST=28.7.4.90 LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=30942 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
我可以使用tcpdump这样的权利?
tcpdump -ni eth0 -w file.cap -s 0 -c 1000 not port 80
没有。
这个想法使用正则expression式和iptables来阻止DDoS是一个坏的方法来解决这个问题。
您通过让您的ISP /提供商丢弃stream量来处理DDoS。 一旦到达你的服务器,它已经完成了它所要做的事情,这是浪费资源(带宽,处理能力等)。 在这一点上使用正则expression式将不会对攻击产生任何影响,只会浪费更多的处理能力,并阻止stream量对检测到的任何误报。 所以不要这样做。