Как защитить сервер от DDOS атак
Защита сервера от DDoS атак
На нашем хостинге каждый клиент по-умолчанию получает защиту своего сервера от DDoS-атак. На игровых серверах (тарифы с оплатой за слоты и ресурсы) никаких действий по настройке защиты в панели предпринимать не нужно.
На VDS и выделенных серверах присутствует возможность тонкой настройки защиты. Ниже Вы увидите описание этих возможностей.
Содержание
Игровая защита
Так как большинство игровых серверов использует протокол UDP, необходимо подстраиваться под протокол каждого приложения и защищать его индивидуально. Все игровые тарифы, которые Вы можете заказать в разделе “Услуги”, автоматически защищаются нами от атак. Но на VDS и выделенных серверах Вам необходимо самостоятельно в настройках защиты добавить игровой сервер, указать тип сервера и порты, которые он использует. Весь остальной UDP-трафик, который не фильтруется, будет попадать под ограничения шейпера. Мы готовы индивидуально разработать и обеспечить защиту от DDoS-атак для тех приложений, которых на данный момент нет у нас в списке.
Основные настройки
Шейпер
Весь UDP-трафик, который идет на неизвестные порты (которых нет в списке серверов*), ограничивается шейпером. Это сделано для того, чтобы атаки на неизвестные UDP-порты не влияли на сервер. Чем больше значение шейпера, тем больше трафика пройдет к серверу в момент атаки на неизвестные UDP-порты.
Например, если у Вас запущен какой-то сервер, использующий UDP-протокол, при этом не добавленный под защиту во вкладке “Игровая защита”, подвергся атаке, а значение шейпера равняется 20, то на сервер будет проходить всего 20Mbit трафика. Соответственно, работа всего сервера парализована не будет.
ВНИМАНИЕ Не рекомендуется выставлять значение шейпера равным пропускной способности сервера. В противном случае при атаке на неизвестный порт будут страдать все сервисы на Вашем сервере.
UDP-пакеты
Как и в случае с ограничением объема трафика, рекомендуется ограничить максимально допустимое количество пакетов, принимаемых сервером в секунду. ВНИМАНИЕ Не рекомендуется устанавливать ограничение количества UDP пакетов в секунду (PPS) более 4000.
TCP/UDP защита
Вы можете ограничить количество подключений к порту с одного IP-адреса. Это может послужить одним из инструментов для защиты от DDoS-атак.
ВНИМАНИЕ Прежде чем ограничивать количество подключений, Вам следует убедиться, что Вы устанавливаете лимит с запасом. Например, если Вы определили, что к добавляемому порту среднее количество одновременных легитимных подключений составляет 20, а максимальное 25, то добавлять рекомендуется не менее 25.
Фаервол
Здесь Вы можете ограничить доступ к портам (одному порту или диапазонам) по IP. Если нажать на поле под колонкой “Тип”, можно выбрать протокол, для которого создается правило. Таким образом, например, можно запретить доступ к порту для всех, кроме конкретных IP. На конкретном примере отображено как запретить доступ к порту 22 (SSH) для всех и разрешить только с одного IP (12.34.56.78):
ВНИМАНИЕ Добавлять правила необходимо в правильном порядке. Сначала Вам необходимо прописать разрешающие правила, а после уже добавить запрещающее.
Как защитить свой VPS хостинг от DdoS-атак?
DDoS-атака – один из самых распространенных видов интернет-мошенничества, ведь далеко не все злоумышленники хотят украсть ваши деньги или завладеть личной информацией. Некоторые из них просто заинтересованы в том, чтобы препятствовать нормальному ведению бизнеса и сорвать привычную работу вашего сайта.
DDoS-атака не является случайной – это тщательно спланированный и скоординированный комплекс действий, направленный на то, чтобы на какое-то время сделать вашу веб-страницу недоступной для пользователей. Исследования показали, что одна треть всех простоев в работе сайтов связана именно с DDoS-атаками. Это реальная угроза вашему ресурсу, которая может стоить репутации и спровоцировать отток посетителей.
И даже если ваш сайт размещен на VPS хостинге, вы также не можете быть уверены в том, что его никто не атакует. Хотя защитить свой VPS от DDoS-атак не так сложно, достаточно знать и применять некоторые правила. Мы подготовили несколько таких рекомендаций, и надеемся, они вам действительно помогут!
Что необходимо проверить и настроить?
Если ваш сайт расположен на VPS, уровень атаки можно определить самостоятельно, временно отключив веб-сервер и проанализировав свои логи. Конечно, если вы чувствуете, что защита от DDoS-атак – не ваш профиль и вы нуждаетесь в практических советах, лучше сразу обратиться к специалистам.
1. Firewall
Первый уровень защиты вашего VPS от DDoS-атак – правильная настройка и активное использование Firewall. Перед его установкой/настройкой советуем отключить все сервисы, которыми вы не пользуетесь. Да и в принципе запускать на веб-сервере, где размещены сайты, какие-либо еще сервисы, – не очень удачная идея. Для этого лучше создать отдельный VPS.
С помощью Firewall вы можете закрыть все порты, оставляя открытыми только HTTP, HTTPS и SSH. Дело в том, что браузеры посетителей подключаются исключительно к HTTP или HTTPS-портам, поэтому все другие подсоединения совершаются не настоящими людьми и должны быть отклонены. Также рекомендуем переместить ваш SSH сервер на другой, более нестандартный порт.
Защита от DDoS-атак включает в себя также и проверку заголовков входящих пакетов на соответствие протоколу TCP. Боты часто используют некорректные пакеты, чтобы эксплуатировать уязвимости программного обеспечения сервера и мешать его нормальной работе.
2. Защита от HTTP-, ICMP-, UDO- и SYN-флуда
Для защиты вашего VPS от DDoS-атак важно определить, какой именно это вид атаки: HTTP-, ICMP,- UDO или SYN-флуд, и в зависимости от этого решить, какие меры нужно принять.
HTTP-флуд является одной из самых простых DDoS-атак, вызванной атакующей стороной, которая заставляет сервер задействовать максимально возможные ресурсы для ответа на каждый HTTP-запрос (GET или POST). Для предотвращения HTTP-флуда нужен правильно настроенный и оптимизированный веб-сервер. Выбирая между Apache и Nginx, специалисты отдают предпочтение последнему, так как он менее ресурсоемкий и более стабильный. Чтобы избежать вмешательства в работу вашего сайта, вы также можете проанализировать access логи и на основе результатов написать соответствующий паттерн. Это позволит автоматически отлавливать ботов и банить их запросы.
При ICMP-флуде на сервер отправляется аномально большое количество ICMP-пакетов (Internet Control Message Protocol) любого типа, особенно ping. Чтобы сделать веб-хостинг более надежным, советуем запретить ping – таким образом вы скроете вашу машину от интернет-ботов, сканирующих сети.
Атака, которая включает в себя повторяющуюся отправку SYN (synchronization) пакетов в каждый порт сервера с использованием фейковых IP-адресов, называется SYN-флудом. Для защиты веб-хостинга следует вычислить соединения в состоянии SYN_RECV и ограничить новые подключения от конкретного источника за определенный промежуток времени.
Также нужно учитывать и UDP-флуд. В этом случае злоумышленник посылает огромное количество UDP (User Datagram Protocol) пакетов в определенные или случайные порты удаленного сервера, забивая сетевой канал. Защитить сервер от такого рода атаки поможет ограничение подключений к серверу DNS.
3. Fail2ban
Если вы хотите иметь защищенный от DDoS-атак linux vps, советуем установить Fail2ban. Обычно эта утилита не включается в базовый набор, так что придется найти и установить ее самостоятельно. В Fail2ban из коробки уже настроены некоторые фильтры для веб-серверов, но все же лучше установить их самостоятельно. Для обеспечения защиты от DDoS виртуальные хосты следует настроить таким образом, чтобы логи для всех сайтов были общими. Это поможет защитить их при помощи всего лишь двух фильтров.
Используя Fail2ban, вы сможете настроить и защиту SSH-сервера, так что никто не будет претендовать на ваши права администратора.
Предупредить легче, чем бороться
Как бы то ни было, предотвратить DDoS-атаки гораздо легче, чем бороться с ними. Для этого нужно постоянно обновлять программное обеспечение на сервере, устанавливать дополнительные патчи и модули, а также правильно настраивать все серверы на вашем VPS. С учетом того, что обычному пользователю справиться со всеми этими задачами бывает нелегко, а у продвинутого не всегда есть на это время и желание, лучшим решением, как правило, является выбор надежного VPS-провайдера, которому можно переадресовать все эти заботы. Мы постоянно проводим мониторинг вашей системы, чтобы предупредить любые трудности, поэтому с нами никакая атака на VPS вам не страшна.
Защита от DDOS атак своими руками
GeekElectronics » Linux помощник » Защита от DDOS атак своими руками
Снова меня DDOS-ят. В этот раз атака не сильная и заметил я ее случайно во время очередного этапа самообразования с целью заполнения пробелов в знаниях в области безопасности.
Если кто-то открыл эту статью просто так, то рекомендую все же ее прочитать. Я все писал “понятным”языком для лучшего восприятия.
DoS–атака (Denial of Service) — закидывание неугодных ресурсов различным флудом, приводящее их к нокдауну. А DDoS–атака — это такая DoS–атака, которую осуществляет не один энтузиаст, а разгневанная толпа, желающая Страшный Суд, Ад и Погибель неправославному ресурсу. Весь профит этого метода заключается в том, что грамотно спланированную атаку невозможно отразить вообще. В результате сервер начинает как минимум безбожно тормозить при ответах на нормальные запросы, а то и вовсе ложится, не вынеся такого издевательства.
Проще говоря, что такое DoS? Это, к примеру, когда ведёшь разговор с кем-то, но тут подходит алкаш, и начинает громко нести бред. Говорить либо невозможно, либо очень сложно. Решение: зовёшь охрану, она скручивает синяка и уводит.
DDoS же отличается тем, что алкашей вбегает толпа многотысячная, и даже если позвать охрану, она банально не сумеет всех скрутить и увести.
Наиболее же эффективная атака такого плана выполняется не тысячами набежавших алкашей (ибо набор добровольцев, организация, синхронизация и прочее), а превращением в зомби уже имеющихся вокруг мирных юзеров. Они уже есть, уже ходят вокруг, уже оборудованы ртом — осталось только заставить их начать орать пациенту в ухо. Всем сразу и независимо от их желания, по команде, с исполнительностью и настойчивостью компьютера. В компьютерном мире такой захват душ обычно выполняется с помощью трояна.
Для начала нужно посмотреть сколько запросов идет с IP адресов клиентов. Для этого в консоли выполним команду:
netstat -ntu | awk ‘
Видно, что с IP 192.230.77.217 поступило 129 обращений. “Алкаш” (смотреть выше) один, значит не DDOS, а просто DOS–атака. Заголовок статьи менять уже не буду – позже поймете почему.
Ради интереса, можно посмотреть на какие порты идут обращения с этого IP адреса выполнив команду:
netstat -na | grep 192.230.77.217
Ага. 443 порт пользуется популярностью. Я думал как обычно на 80-й будет, но в принципе не важно.
Блокирую по всем портам исходящие и входящие соединения с этого IP адреса командами:
iptables -A INPUT -s 192.230.77.217 -j DROP
iptables -A INPUT -d 192.230.77.217 -j DROP
Исходящие блокирую “на всякий случай”. Вдруг меня взломают и начнут атаковать с моего сервера. Неприятностей потом будет куча, поэтому лучше подстраховаться.
Все порты блокирую на случай, если будет идти подбор паролей к FTP или еще к чему-то.
Проверяем заново текущую ситуацию после применения блокировки командой:
netstat -ntu | awk ‘
Все чисто. Враг не пройдет!
Автоматизация защиты при DDoS атаке
Понятно, что все вышеописанное ручками выполнять лениво и не практично. Давайте этот процесс автоматизируем для нашего удобства и оперативности реагирования на атаки.
На основе одного примера, найденного в Интернете, я написал свой скрипт для защиты от DoS и DDoS атак. Он получился простой, но очень эффективный. Скрипт блокирует IP адреса, количество подключений с которых превысило 50. Это значение можно изменять – скрипт хорошо прокомментирован.
# Находим все соединения на все порты и записываем их в файл ddos.iplist
netstat -ntu | awk ‘
# создаем DROP правила (не выдавать ответа сервера на запросы забаненых) для IP с количеством подключений более 50 и добавляем их в файл
awk ‘
# запускаем скрипт бана IP атакующих
bash /usr/local/ddos/iptables_ban.sh
# Очищаем скрипт, который производит бан
cat /dev/null > /usr/local/ddos/iptables_ban.sh
Давайте его установим.
Для начала, необходимо создать рабочую папку для нашего скрипта. Вводим в консоли команду:
Теперь перейдем в эту папку командой:
Загружаем скрипт в эту папку командой:
Выставляем права 755 на файл скрипта командой:
chmod 777 /usr/local/ddos/ddos.sh
Запускаем скрипт для теста командой:
В папке со скриптом появятся два файла:
ddos.iplist – в него скидываются все подключения
iptables_ban.sh – сформированный скрипт для блокировки IP адресов
Теперь открываем файл /etc/crontab и добавляем в него следующие строки
*/5 * * * * root /bin/sh /usr/local/ddos/ddos.sh
@monthly root iptables -F
- Первая строка – запускает наш скрипт каждые 5 минут.
- Вторая – производит раз в месяц очистку всех блокировок (амнистия).
За неделю работы скрипта ситуация с банами IP сложилась следующая (команда iptables -L).
На этом все. Возникнут вопросы – пишите в комментариях.
Источники:
http://wiki.myarena.ru/index.php/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%BE%D1%82_DDoS_%D0%B0%D1%82%D0%B0%D0%BA
http://tucha.ua/uk/node/210