Не могу остановить DDOS
Мне нужна небольшая помощь в работе с ddos. Я испытываю 1db атаку на мой сервер, и я не знаю, как это остановить. (1 ГБс - максимальная скорость сервера.)
У меня есть следующие правила iptables:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
Однако с tcpdump я вижу пакеты, поступающие из порта 53
12:14:40.341410 IP 195.137.162.149 > x.x.x.x: ip-proto-17
12:14:40.341411 IP 193.169.188.52.53 > x.x.x.x.23495: 23454- 0/4/6 (234)
12:14:40.341414 IP 195.248.88.120 > x.x.x.x: ip-proto-17
12:14:40.341416 IP 193.19.184.42.53 > x.x.x.x.50529: 26701| 6/0/1 TXT[|domain]
12:14:40.341418 IP 192.41.13.71.53 > x.x.x.x.10634: 23454| 6/0/1 TXT[|domain]
12:14:40.341418 IP 50.97.53.214.53 > x.x.x.x.65437: 23454| 6/0/1 TXT[|domain]
12:14:40.341419 IP 192.3.130.149.53 > x.x.x.x.57519: 24820| 6/0/1 TXT[|domain]
12:14:40.341438 IP 195.182.58.136 > x.x.x.x: ip-proto-17
12:14:40.341441 IP 193.234.216.12 > x.x.x.x: ip-proto-17
12:14:40.341442 IP 195.228.85.145.53 > x.x.x.x.7903: 37969| 6/0/1 TXT[|domain]
12:14:40.341512 IP 192.195.177.60.53 > x.x.x.x.42871: 57501- 0/13/23 (718)
12:14:40.341552 IP 192.210.150.10.53 > x.x.x.x.41447: 25994| 6/0/1 TXT[|domain]
12:14:40.341556 IP 193.28.177.41 > x.x.x.x: ip-proto-17
iptables -xnvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
415575 293176304 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
24101 1323153 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
19725 1182436 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
2 104 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
13101233 35329988490 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 488686 packets, 518540789 bytes)
pkts bytes target prot opt in out source destination
в Nginx я
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
на этом скриншоте вы можете увидеть реальные цифры. мое обычное использование не более 5 Мб / с.
netstat -ntu | awk '{print $ 5}' | cut -d: -f1 | сортировать | uniq -c | сортировать -n | хвост | grep -v "127.0.0"
13 87.149.x.x
14 95.68.x.x
15 109.186.x.x
15 84.108.x.x
15 91.231.x.x
17 162.17.x.x
18 82.212.x.x
82 151.248.x.x
94 79.180.x.x
3 ответа
Насколько я вижу, iptables
вопрос - красная сельдь: ваши правила отбрасывают эти пакеты просто отлично, поэтому очень большое количество пакетов учитывается в вашем пятом и последнем правиле (DROP
правило).
Исходя из вашего вопроса, я полагаю, что вы хотите не просто отбросить их, а вообще не видеть их в своем порту, а этого можно достичь только путем разговора с вашим провайдером. Их простое блокирование всего входящего UDP-трафика с портом-источником 53, вероятно, приведет к остановке работы сервера, так как это приведет к поломке DNS, но если вы сможете перенастроить свой сервер на использование только двух или трех конкретных вышестоящих DNS-серверов, есть некоторый шанс получить вашего провайдера. заблокировать весь другой входящий порт 53 трафика.
Изменить: мои соболезнования по поводу вашего плохого поставщика. Я думаю, что проблема аппаратных брандмауэров не имеет значения: один из них не остановит трафик, доставляемый на ваш порт, он будет только сидеть между вашим портом и вашим сервером и останавливать ресурсы, потребляющие трафик на вашем сервере. Поскольку я не вижу никаких доказательств того, что это вызывает какие-либо проблемы с ресурсами на сервере, я не понимаю, как это вам поможет.
Действительно, для ответственного провайдера было бы вполне нормально согласиться временно блокировать определенные виды трафика в порт, но если ваш провайдер этого не сделает, то я не вижу, что вы можете сделать что-либо, кроме как пожать плечами, выдержав шторм, затем посмотрите на других поставщиков, когда ваш контракт будет продлен.
Предполагая, что размер вашего порта меньше 1 Гбит / с:
Простой ответ Получить аппаратный брандмауэр. Борьба с dDoS, особенно в диапазоне Gbps, не будет происходить на реальном сервере.
Если весь трафик идет от порта 53, попросите вашего провайдера заблокировать порт 53 в восходящем направлении.
Установите NGINIX и решите проблему. Это очень хорошая часть программного обеспечения, и она выполняет множество заданий, посвященных добавлению дополнительных инструментов или созданию конфигурации установки для вашей проблемы.