В настоящее время у меня есть все эти IP-адреса. Есть ли способ найти общую строку в содержимом пакетов и затем заблокировать атаку через 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
Нет.
Идея использовать регулярное выражение и iptables для предотвращения DDoS-атак является ошибочной. плохой подход к проблеме.
Вы боретесь с DDoS, заставляя вашего интернет-провайдера / провайдера сбросить трафик. Как только он достиг вашего сервера, он уже выполнил то, что намеревался сделать, а именно тратить ресурсы (пропускная способность, вычислительная мощность и т. Д.). Использование регулярного выражения на этом этапе не повлияет на атаку и только потратит больше вычислительной мощности, а также заблокирует трафик при обнаружении ложных срабатываний. Так что не делай этого.