Apache получает DDoS-атаки [дубликат]

На этот вопрос уже есть ответ здесь:

Мой сервер apache в настоящее время подвергается атаке DDoSed. Похоже, весь трафик - это переходы с файлового сервера российского файлообменника. Как я могу заблокировать только трафик, который идет со взломанного сайта?

2
задан 17 December 2011 в 18:21
4 ответа

Ни один из вышеперечисленных ответов не поможет.

Если ваш сайт подвергся DDoS-атаке, единственный реальный и полезный источник помощи - это технический контакт с вашим вышестоящим провайдером. .

Да, вы можете отклонять и отбрасывать пакеты на границе вашей сети, но это не будет иметь значения, если ваше соединение уже было загружено трафиком, поступающим извне. .

Вам необходимо работать с вашим провайдером, чтобы отбрасывать трафик, когда он достигает внешней части их сети, которая имеет много резервной избыточной емкости и к которой намного проще применить целые блоки нулевого маршрута.

Изменение iptables или перезапись на вашем веб-сервере может создать впечатление, что атака остановлена, но это похоже на попытку наложить повязку на перерезанную артерию.

Огромный объем атакующего трафика может даже перегрузить ваше ядро, если оно выполняет действия iptables, сброс трафика также требует времени процессора. Попросите своего интернет-провайдера / транзитного провайдера сделать это.
С их точки зрения тоже проще.

8
ответ дан 3 December 2019 в 08:39

Если под DDoS вы имеете в виду множество обычных пользователей, заходящих в ваш Интернет и скачивающих что-либо, лучше всего отклонить эти запросы реферера.

Лучше всего это найти, посмотрев журналы (вы хотите разделить несколько строк?).

Итак, вы настроили что-то вроде этого. У вас по-прежнему будет много соединений, но они будут быстро отклонены и не так сильно загружают ваш apache.

RewriteEngine on
RewriteCond %{HTTP_REFERER} referingsite.com [NC]
RewriteRule .* - [F]

Или вы можете сделать это другим способом и отклонить все запросы, у которых нет пустого referer или referer с вашего сайта.

Конечно, если это обычная DDoS-атака, это не поможет.

0
ответ дан 3 December 2019 в 08:39

You can defend your site from DoS(from any site) by simple limit number o existing connections per IP with iptables

This rule rejects more then 10 connections from one ip:

iptables -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

And this logs the incidents:

iptables -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j LOG --log-prefix "ABOVE_LIMIT"

Number of connections is only an example you must set your own value. Но если вы знаете, что в этот момент DoS наводняет вас с этого русского сайта, заблокируйте этот IP навсегда

iptables -I INPUT -s XXXX -j DROP

Где xxxx - это IP-адрес этого сайта.

2
ответ дан 3 December 2019 в 08:39

Most DDoS attacks come from numerous IP addresses, so blocking just a single IP address may not "fix the problem". However, in order for us to help you (in a true DDoS attack), we would need much more information, such as what type of DDoS is this - SYN flood, ICMP flood, Something else, etc...

To answer your specific question...

How can I block only the traffic which is coming from the compromised site?

Depending on your OS (is it Ubuntu? CentOS? Something else?) and how its configured (is it a VPS? Physical server you own?), you may be able to use IP Tables to block requests coming from a specific IP address:

iptables -I INPUT -s 1.2.3.4 -j DROP

If this doesn't answer your question, though, then give us more information about your configurations, log files, server architecture, what exactly is happening, etc...

1
ответ дан 3 December 2019 в 08:39

Теги

Похожие вопросы