Назад | Перейти на главную страницу

Apache получает DDoS-атаки

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

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

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

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

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

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

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

Вы можете защитить свой сайт от DoS (с любого сайта) простым ограничением количества существующих подключений на IP с помощью iptables.

Это правило отклоняет более 10 подключений с одного 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-сброс

И это регистрирует инциденты:

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"

Количество соединений - это только пример, вы должны установить собственное значение. Но если вы знаете, что в данный момент DoS наводняет вас с этого русского сайта, заблокируйте этот IP навсегда

iptables -I INPUT -s X.X.X.X -j DROP

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

Большинство DDoS-атак происходит с множества IP-адресов, поэтому блокировка только одного IP-адреса может не «решить проблему». Однако, чтобы мы могли помочь вам (в настоящей DDoS-атаке), нам потребуется гораздо больше информации, например, какой тип DDoS-атаки - это SYN-флуд, ICMP-флуд, что-то еще и т. Д.

Чтобы ответить на ваш конкретный вопрос ...

Как я могу заблокировать только трафик со взломанного сайта?

В зависимости от вашей ОС (это Ubuntu? CentOS? Что-то еще?) И того, как она настроена (это VPS? Физический сервер, которым вы владеете?), Вы можете использовать IP-таблицы для блокировки запросов, поступающих с определенного IP-адреса:

iptables -I INPUT -s 1.2.3.4 -j DROP

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

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

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

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

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

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

Конечно, если это обычный DDoS, это не поможет.