Защита сервера от DDoS атак

Материал из Википедия MyArena.ru
Версия от 14:48, 27 ноября 2024; Ykpon (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

На нашем хостинге каждый клиент по-умолчанию получает защиту своего сервера от DDoS-атак. На игровых серверах (тарифы с оплатой за слоты и ресурсы) никаких действий по настройке защиты в панели предпринимать не нужно.
На VDS и выделенных серверах присутствует возможность тонкой настройки защиты. Ниже Вы увидите описание этих возможностей.

Игровая защита

Игровая защита.

Так как большинство игровых серверов использует протокол UDP, необходимо подстраиваться под протокол каждого приложения и защищать его индивидуально. Все игровые тарифы, которые Вы можете заказать в разделе "Услуги", автоматически защищаются нами от атак. Но на VDS и выделенных серверах Вам необходимо самостоятельно в настройках защиты добавить игровой сервер, указать тип сервера и порты, которые он использует. Весь остальной UDP-трафик, который не фильтруется, будет попадать под ограничения шейпера. Мы готовы индивидуально разработать и обеспечить защиту от DDoS-атак для тех приложений, которых на данный момент нет у нас в списке.

Основные настройки

Основные настройки.

Шейпер

Весь UDP-трафик, который идет на неизвестные порты (которых нет в списке серверов*), ограничивается шейпером. Это сделано для того, чтобы атаки на неизвестные UDP-порты не влияли на сервер. Чем больше значение шейпера, тем больше трафика пройдет к серверу в момент атаки на неизвестные UDP-порты.
Например, если у Вас запущен какой-то сервер, использующий UDP-протокол, при этом не добавленный под защиту во вкладке "Игровая защита", подвергся атаке, а значение шейпера равняется 20, то на сервер будет проходить всего 20Mbit трафика. Соответственно, работа всего сервера парализована не будет.
ВНИМАНИЕ Не рекомендуется выставлять значение шейпера равным пропускной способности сервера. В противном случае при атаке на неизвестный порт будут страдать все сервисы на Вашем сервере.

UDP-пакеты

Как и в случае с ограничением объема трафика, рекомендуется ограничить максимально допустимое количество пакетов, принимаемых сервером в секунду. ВНИМАНИЕ Не рекомендуется устанавливать ограничение количества UDP пакетов в секунду (PPS) более 4000.

TCP/UDP защита

TCP/UDP защита.

Вы можете ограничить количество подключений к порту с одного IP-адреса. Это может послужить одним из инструментов для защиты от DDoS-атак.
ВНИМАНИЕ Прежде чем ограничивать количество подключений, Вам следует убедиться, что Вы устанавливаете лимит с запасом. Например, если Вы определили, что к добавляемому порту среднее количество одновременных легитимных подключений составляет 20, а максимальное 25, то добавлять рекомендуется не менее 25.

Фаервол

Фаервол.

Здесь Вы можете ограничить доступ к портам (одному порту или диапазонам) по IP. Если нажать на поле под колонкой "Тип", можно выбрать протокол, для которого создается правило. Таким образом, например, можно запретить доступ к порту для всех, кроме конкретных IP. На конкретном примере отображено как запретить доступ к порту 22 (SSH) для всех и разрешить только с одного IP (12.34.56.78):

Блокировка 22 порта.

ВНИМАНИЕ Добавлять правила необходимо в правильном порядке. Сначала Вам необходимо прописать разрешающие правила, а после уже добавить запрещающее.

* список известных игровых серверов и прочих приложений:
Counter-Strike 1.6, Counter-Strike: Condition Zero, Half-Life, Counter-Strike: Source v34, Counter-Strike: Source, Counter-Strike: Global Offensive, Team Fortress 2, Left 4 Dead, Left 4 Dead 2, Half-Life 2: Deathmatch, Garry's Mod, Day of Defeat: Source, Insurgency, Zombie Panic, Minecraft, GTA San Andreas Multiplayer, GTA: Multi Theft Auto, GTA V: RAGE-MP, GTA V: FiveM, Just Cause 2, Arma 3, Rust, Rust Legacy, ARK: Survival Evolved, Unturned, Hurtworld, Rising Storm 2: Vietnam, Red Orchestra 2: Multiplayer, Teamspeak 3, HLTV

Защита FTP-сервера

пример настройки proftpd сервера
В случае с FTP, если добавить под защиту 21 порт (по-умолчанию, порт FTP сервера), а остальные TCP-порты заблокировать, то передача файлов работать не будет. Так устроен FTP протокол.
Чтобы передача файлов работала и при этом не разрешать TCP полностью, рекомендуется указать диапазон пассивных портов FTP сервера и добавить эти порты под защиту. В конфиге /etc/proftpd/proftpd.conf необходимо найти следующие строки:

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts 49152 65534

Раскоментируйте параметр "PassivePorts" (удалите перед ним #) и пропишите свой диапазон. Например:

PassivePorts 49152 49154

Здесь диапазон из 3 портов - их нужно добавить под защиту.

Защита пассивных FTP-портов.

3 и даже 2 портов достаточно для того, чтобы передача файлов работала корректно и быстро.
Лимиты для защиты портов из диапазона:

Подключений с одного IP: 5
Лимит новых сессий TCP сессий в секунду: 10
Таймаут TCP сессии: по-умолчанию

Лимиты для защиты 21 порта:

Подключений с одного IP: 2
Лимит новых сессий TCP сессий в секунду: 5
Таймаут TCP сессии: по-умолчанию

Таких лимитов и количества портов, выделенных FTP-серверу, будет достаточно для его корректной и быстрой работы. Это не ограничивает количество одновременных передач на сервер. Поэтому имейте ввиду, что количество одновременных передач не должно превышать лимит на каждом защищаемом порту.