Защита игрового сервера от очень многих программ (IPTables)

WeSTMan

А вот тут текст!
Сообщения
854
Реакции
534
Использовать PREROUTING имеет смысл, там работают U32/ALGO STRING модули. Если ты конкретно знаешь какие пакеты невалидны, допустим TCP с левыми флагами, или идет атака A2S_MIXED - просто ограничить на уровне PREROUTING конкретно этот трафик, а внутри - все как обычно.
1: Нагрузка на CPU ниже.
2: Зная конкретные сигнатуры левого трафика - можно его заблокировать.
3: Можно напрямую помечать трафик левый в INPUT, а убивать в PREROUTING через кастомные цепочки.
Не использовать PREROUTING в связке с INPUT просто глупо. PREROUTING значительно сохраняет ресурсы CPU, и чувак скидывал схему - она реалистичная. (Ну для сравнения - без правил под атакой - 35% CPU везде, под атакой с правилами PRER - 20% CPU на одном ядре из 8).
У меня реализовано 160 правил под 8 серверов в PREROUTING, там куча правил которая смотрит на A2S соединения. А в INPUT реализован Hashlimit. И если IP умудряется попасть в этот лимит - он блокируется в PREROUTING. Если ты объединяешь правила для всех портов - если сработало правило - может произойти блокировка всех серверов, поэтому там нельзя совмещать правила по DPORTS. Конкретно разделяйте.
Я столкнулся как и Accelerator с атакой. Заказной (15-20к дурачки потратили, но точно хз сколько), A2S флуд с CAIDA-списков (IP-Spoofing). SYN-Flood/UDP Flood.
2.500000 пакетов A2S отбивал как мог. Забили порт - подключили внешние серверы-фильтры, и там тоже правил под 60 нагробастал. Понадобилась статья о Mikrotik RAW настройке (ибо там нечто подобное на серверах реализовано).
TCP-SYN отбил внешним сервером через SYN_LIMIT + там же встроенный TCP SYN COOKIES, ибо не проходит соединение если оно изначально не валидировано внешним сервером. С UDP значительно сложнее работать.
Какой у тебя инет канал?
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
162
Реакции
102
Какой у тебя инет канал?
Гигабитка, негарантированные 30 ТБ. Этого хватает ибо внешний скраббер по сути молотит трафик. Куча трафика, выше гигабита - фильтруется до 10 Мбит на порт. Если будут бить по всем портам IP Spoofing даже с размером пакета 1500 (обычный ETH/IP кадр) - Сервер не погибнет, а атаку всю отобьет (я рассчитал что в гигабитке умещается около 80к пакетов и 2.5кк мелких заголовков Only). Но там у меня есть проблема, ибо я заюзал IPTables транслятор на nf_tables - посмотрел вчера содержимое что он там накалякал - дико удивился через какие костыли это работает. Но работает, и фиг бы с ним. Перевести - это надо курить man nf_tables конкретно. Самые мерзкие протоколы типа NTP/DNS/TCP SYN/TCP SYN-ACK (основные протоколы DDoS) хостинг уже блокирует, а вот заказные атаки - нет. Поэтому пришлось малость поизвращаться и прошариться.
http://109.248.250.217/nftables.conf - если хочется заценить, че я там намудрил (вывод с транслятора внутрянки (внешку - надо оформлять). Логика очень сложная, и по хорошему там надо ИИ-шкой пройтись чтобы понятно было что за что отвечает, а файл на ПК дома. Вчера просто сайтом занимался, запилил мощное оформление для правил на MA.
Да, конечно система не идеальна, из-за отсутствия нормальных инструментов фильтрации - но если цель сохранить игроков любой ценой, и чтобы сервер не погиб - система более чем адекватная. Там чекаются порты с которых клиенты чаще всего подключены - и они разрешаются на внешнем фильтре, CG-NAT игроки - только определенный диапазон разрешен и то под LIMIT. Лучше пусть часть игроков дисконнектнет (и то не факт ибо подсети VALID я ввел через HLStatsX, игроки ещё меньше страдают от фигни) Фильтрация Stateful в INPUT. Stateless в PREROUTING. Если там пакеты с IP SPOOFING - приходят - увеличены параметры таблицы, ибо сервер не слабый, и больше памяти под Conntrack выделено - с NOTRACK вчера пытался покурить документацию, но че-то понял что я слишком жесточайше упоролся пока защищал сервер, и сам не всю логику догоняю, че я там изобрел. Как завещал нам великий Крузя - год назад только 2 знали как это работает, я и бог, теперь это знает только бог - (С) init.php Material Admin
Чеки - Source Engine Packets. 0x55-56-57-58 биты проверяются, 55 вроде (Могу ошибаться!) A2S_RULES вообще блокируется - выдает инфу о сервере, не влияет на мониторинги, максимум настройки не видны, но меня это не интересует.
Сообщения автоматически склеены:

Какой у тебя инет канал?
Что-ж, ковыряйте, как обещал.
 

Вложения

  • SONNET_IPTABLES.txt
    31.4 КБ · Просмотры: 55
  • Документация к SONNET_IPTABLES.txt
    13.7 КБ · Просмотры: 52
Последнее редактирование:

WeSTMan

А вот тут текст!
Сообщения
854
Реакции
534
Гигабитка, негарантированные 30 ТБ. Этого хватает ибо внешний скраббер по сути молотит трафик. Куча трафика, выше гигабита - фильтруется до 10 Мбит на порт. Если будут бить по всем портам IP Spoofing даже с размером пакета 1500 (обычный ETH/IP кадр) - Сервер не погибнет, а атаку всю отобьет (я рассчитал что в гигабитке умещается около 80к пакетов и 2.5кк мелких заголовков Only). Но там у меня есть проблема, ибо я заюзал IPTables транслятор на nf_tables - посмотрел вчера содержимое что он там накалякал - дико удивился через какие костыли это работает. Но работает, и фиг бы с ним. Перевести - это надо курить man nf_tables конкретно. Самые мерзкие протоколы типа NTP/DNS/TCP SYN/TCP SYN-ACK (основные протоколы DDoS) хостинг уже блокирует, а вот заказные атаки - нет. Поэтому пришлось малость поизвращаться и прошариться.
http://109.248.250.217/nftables.conf - если хочется заценить, че я там намудрил (вывод с транслятора внутрянки (внешку - надо оформлять). Логика очень сложная, и по хорошему там надо ИИ-шкой пройтись чтобы понятно было что за что отвечает, а файл на ПК дома. Вчера просто сайтом занимался, запилил мощное оформление для правил на MA.
Да, конечно система не идеальна, из-за отсутствия нормальных инструментов фильтрации - но если цель сохранить игроков любой ценой, и чтобы сервер не погиб - система более чем адекватная. Там чекаются порты с которых клиенты чаще всего подключены - и они разрешаются на внешнем фильтре, CG-NAT игроки - только определенный диапазон разрешен и то под LIMIT. Лучше пусть часть игроков дисконнектнет (и то не факт ибо подсети VALID я ввел через HLStatsX, игроки ещё меньше страдают от фигни) Фильтрация Stateful в INPUT. Stateless в PREROUTING. Если там пакеты с IP SPOOFING - приходят - увеличены параметры таблицы, ибо сервер не слабый, и больше памяти под Conntrack выделено - с NOTRACK вчера пытался покурить документацию, но че-то понял что я слишком жесточайше упоролся пока защищал сервер, и сам не всю логику догоняю, че я там изобрел. Как завещал нам великий Крузя - год назад только 2 знали как это работает, я и бог, теперь это знает только бог - (С) init.php Material Admin
Чеки - Source Engine Packets. 0x55-56-57-58 биты проверяются, 55 вроде (Могу ошибаться!) A2S_RULES вообще блокируется - выдает инфу о сервере, не влияет на мониторинги, максимум настройки не видны, но меня это не интересует.
Сообщения автоматически склеены:


Что-ж, ковыряйте, как обещал.
Если я дам 2 гбит/с на игровой порт с ip udp spoof и валидными пакетами, то какое поведение будет у защиты?
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
162
Реакции
102
Если я дам 2 гбит/с на игровой порт с ip udp spoof и валидными пакетами, то какое поведение будет у защиты?
Очень сложно сказать точно!
2 Гбит IP/UDP со Spoof на допустим 27015... А содержимое пакетов какое? А с какого порта бить будешь?
С указанными условиями - твои 2 Гбита, это 5 миллионов пакетов сожмутся до 26 тысяч пакетов, при условии что Payload мелкий... Если бить ещё в открытые порты все разом, то суммарно 68к пакетов. Если атака с мелким Payload то её отфильтрует внутрянка. Если Null Zero Length || A2S - вообще пофигу, сразу в /dev/null атака улетит. Если пакет более 1260 байт - улетит в /dev/null оставшийся. Если фрагментированный трафик - в /dev/null. Если TTL == 1 - /dev/null. Если в районе от 28 до 53 байт - ограничитель для защиты кэша Source Engine - в /dev/null. Отключишь ты пару человек и всё, выходом за пределы лимита внешнего сервера фильтра. Серверу игровому будет ни холодно ни жарко. Conntrack - не переполнится тупо потому что у него таймауты сильно урезаны, записи увеличены (CPU/RAM позволяют + ZRAM и файл подкачки на такой случай [NVMe же]). Если содержимое пакетов случайное - ты частично попадешь в PREROUTING-сигнатуры. Частично в INPUT. В INPUT если попался - попал в PREROUTING DROP. В OUTPUT - сейчас блокируется отправка любого запроса на заблокированные адреса.
DNS/NTP/SSDP - бесполезно, фильтр на уровне хостинга - такая атака даже не дойдёт.
Использовать ботнеты с Reflection атаками - вообще даже до игрового сервера не дойдет. Многие SRC порты заблокированы на внешнем фильтре.
Короче ты только часть игроков отключишь по итогу атаки, но потом удивишься что сервер работает и ему как-то пофигу на твою атаку. И игроки подключаются и отключаются спокойно... Лучше реализовать можно только внутрянку в INPUT, но мне лень пока что.
Что там вообще...
INVALID трафик дропается, установленные, связанные подключения - принимаются. Если с IP поступает более 5 подключений с разных SRC-Port - улетает IP в блокировку. Если с IP более 80 пакетов в секунду идёт с кратковременным всплеском до 160 - тоже улетает в PREROUTING (Макс на вход - 66 игровых плюс Voice данные). Это ловит DoS-IP и флудеров или чит-клиенты которые решили пофлудить в Net_Channel + net_chan_limit_msec 125, потому что могу себе позволить из-за AMD Epyc 7763, 8 ядер, VMWare + 12 ГБ DDR4.
 
Последнее редактирование:

WeSTMan

А вот тут текст!
Сообщения
854
Реакции
534
Очень сложно сказать точно!
2 Гбит IP/UDP со Spoof на допустим 27015... А содержимое пакетов какое? А с какого порта бить будешь?
С указанными условиями - твои 2 Гбита, это 5 миллионов пакетов сожмутся до 26 тысяч пакетов, при условии что Payload мелкий... Если бить ещё в открытые порты все разом, то суммарно 68к пакетов. Если атака с мелким Payload то её отфильтрует внутрянка. Если Null Zero Length || A2S - вообще пофигу, сразу в /dev/null атака улетит. Если пакет более 1260 байт - улетит в /dev/null оставшийся. Если фрагментированный трафик - в /dev/null. Если TTL == 1 - /dev/null. Если в районе от 28 до 53 байт - ограничитель для защиты кэша Source Engine - в /dev/null. Отключишь ты пару человек и всё, выходом за пределы лимита внешнего сервера фильтра. Серверу игровому будет ни холодно ни жарко. Conntrack - не переполнится тупо потому что у него таймауты сильно урезаны, записи увеличены (CPU/RAM позволяют + ZRAM и файл подкачки на такой случай [NVMe же]). Если содержимое пакетов случайное - ты частично попадешь в PREROUTING-сигнатуры. Частично в INPUT. В INPUT если попался - попал в PREROUTING DROP. В OUTPUT - сейчас блокируется отправка любого запроса на заблокированные адреса.
DNS/NTP/SSDP - бесполезно, фильтр на уровне хостинга - такая атака даже не дойдёт.
Использовать ботнеты с Reflection атаками - вообще даже до игрового сервера не дойдет. Многие SRC порты заблокированы на внешнем фильтре.
Короче ты только часть игроков отключишь по итогу атаки, но потом удивишься что сервер работает и ему как-то пофигу на твою атаку. И игроки подключаются и отключаются спокойно... Лучше реализовать можно только внутрянку в INPUT, но мне лень пока что.
Что там вообще...
INVALID трафик дропается, установленные, связанные подключения - принимаются. Если с IP поступает более 5 подключений с разных SRC-Port - улетает IP в блокировку. Если с IP более 80 пакетов в секунду идёт с кратковременным всплеском до 160 - тоже улетает в PREROUTING (Макс на вход - 66 игровых плюс Voice данные). Это ловит DoS-IP и флудеров или чит-клиенты которые решили пофлудить в Net_Channel + net_chan_limit_msec 125, потому что могу себе позволить из-за AMD Epyc 7763, 8 ядер, VMWare + 12 ГБ DDR4.
Трафик будет идти со всех ip адресов v4, с разного src port, с разным TTL, с разным содержимым, но валидным, с разным размером байт. Это игровые пакеты + A2S
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
162
Реакции
102
Трафик будет идти со всех ip адресов v4, с разным TTL, с разным содержимым, но валидным, с разным размером байт. Это игровые пакеты + A2S
Если очень упрощенно - A2S запросы в лимите - 100% блокировка. Игровые пакеты - левые отбрасываются, вся атака с 2 Гбит превращается в 1-20мбит в секунду. Потеряется часть игроков, но не смертельно из-за особенностей внешнего фильтра. Сервер такое спокойно пережевывает. Ничего ему не будет. Проверено в боевых условиях именно такой атакой. 2.5 ляма было таких пакетов что-ли? Даже больше. Мне просто порт забили в самом начале.

- Порты с 1-1024 - блокировка полная.
- Порты с Reflection - блокировка полная.
- Порты с диапазона 11211,1900,5353,5000,1434,32768:32775 - блок.
- Порты с диапазона 7547,5555,37215,52869,17185,53413 - блок.
- Порты с диапазона CG-NAT (1025 - 8192) - Лимит 10к пакетов в секунду.
- Подключения с белого списка CIDR блоков - разрешен полностью, внутренний справится.
- Подключения с GEOIP - 6к пакетов максимум.
- Порт 27005 - разрешен, лимит 3200 пакетов.
- Все неуказанные обрабатываются GeoIP-правилами.
- NTP/DNS/SSDP/LDAP - блокировка полная.
- TCP - блокировка полная.
Ну до 20к пакетов добьешь, всю атаку сожрет внешний фильтр, остатки - внутренний фильтр. 20к пакетов для сервера - это полная фигня, справляется легко. DDoS превращается в уровень DoS, только рандомные адреса - поэтому в такие моменты я хочу сделать интересную фичу с NOTRACK, но пока не знаю как это реализовать грамотнее.
 
Последнее редактирование:

WeSTMan

А вот тут текст!
Сообщения
854
Реакции
534
Если очень упрощенно - A2S запросы в лимите - 100% блокировка. Игровые пакеты - левые отбрасываются, вся атака с 2 Гбит превращается в 1-20мбит в секунду. Потеряется часть игроков, но не смертельно из-за особенностей внешнего фильтра. Сервер такое спокойно пережевывает. Ничего ему не будет. Проверено в боевых условиях именно такой атакой. 2.5 ляма было таких пакетов что-ли? Даже больше. Мне просто порт забили в самом начале.

- Порты с 1-1024 - блокировка полная.
- Порты с Reflection - блокировка полная.
- Порты с диапазона 11211,1900,5353,5000,1434,32768:32775 - блок.
- Порты с диапазона 7547,5555,37215,52869,17185,53413 - блок.
- Порты с диапазона CG-NAT (1025 - 8192) - Лимит 10к пакетов в секунду.
- Подключения с белого списка CIDR блоков - разрешен полностью, внутренний справится.
- Подключения с GEOIP - 6к пакетов максимум.
- Порт 27005 - разрешен, лимит 3200 пакетов.
- Все неуказанные обрабатываются GeoIP-правилами.
- NTP/DNS/SSDP/LDAP - блокировка полная.
- TCP - блокировка полная.
Ну до 20к пакетов добьешь, всю атаку сожрет внешний фильтр, остатки - внутренний фильтр. 20к пакетов для сервера - это полная фигня, справляется легко. DDoS превращается в уровень DoS, только рандомные адреса - поэтому в такие моменты я хочу сделать интересную фичу с NOTRACK, но пока не знаю как это реализовать грамотнее.
Как я посмотрел твои правила, то при такой атаке - у тебя полностью перестанет сервер отвечать на A2S + забьётся канал, если хостинг не предоставляет защиту. Обычно они ограничивают порт, а если так, то начнёт лагать и все игроки повылетают, т. к. Трафик будет забит мусором (валидными игровыми пакетами). Так же у тебя будут ошибки по переполнению таблицы hash limit.

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

Обычно атаки до 1 Гбит/с являются детской игрой, так как любой стрессер бесплатно тебе выдаст такую производительность, а вот атаки более умные - вот это уже поинтереснее.

Если тебе интересно протестировать свою защиту, то я могу найти уязвимости в ней и эксплуатировать, но это потребует аренды тачки, за твой счёт

Напомню, что фаер твой не отбрасывает игровые пакеты тем способом, что я написал, а значит они все пройдут проверки и попадут на srcds
 

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
162
Реакции
102
1. Я знаю прикол с A2S, и знаю как его исправить, это легко, и спасибо что намекнул на недочет.
2. TTL - тут согласен - меньше 32 никогда на UDP/TCP не встречается в природе.
3. Канал не забъется гарантированного, см. пункт 4.
4. Правила разработаны под конкретный тип атаки, который ты явно указал (кстати под этот тип атаки правила и стоят), внешний фильтр грубо режет трафик, а внутренний добивает. Соответственно Hashlimit, с увеличенными лимитами и низкими таймаутами - творят чудо.
5. Буферы не переполнятся, ибо они увеличены.
6. 20 мбит флуда игровым трафиком - это не гигабит - выдержит спокойно, с учетом мощного CPU.
7. У меня появилась новая идея фильтрации по DSCP, потому что у TF2 он равен 24. Неочевидный прикол.
(Когда как)
 
Последнее редактирование:

Lappland_Saluzzo

Владелец Sibnet Software
Сообщения
162
Реакции
102
Как я посмотрел твои правила, то при такой атаке - у тебя полностью перестанет сервер отвечать на A2S + забьётся канал, если хостинг не предоставляет защиту. Обычно они ограничивают порт, а если так, то начнёт лагать и все игроки повылетают, т. к. Трафик будет забит мусором (валидными игровыми пакетами). Так же у тебя будут ошибки по переполнению таблицы hash limit.

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

Обычно атаки до 1 Гбит/с являются детской игрой, так как любой стрессер бесплатно тебе выдаст такую производительность, а вот атаки более умные - вот это уже поинтереснее.

Если тебе интересно протестировать свою защиту, то я могу найти уязвимости в ней и эксплуатировать, но это потребует аренды тачки, за твой счёт

Напомню, что фаер твой не отбрасывает игровые пакеты тем способом, что я написал, а значит они все пройдут проверки и попадут на srcds
"Напомню, что фаер твой не отбрасывает игровые пакеты тем способом, что я написал, а значит они все пройдут проверки и попадут на srcds"

Если сделать правило универсальным для всех портов:
  • Атака на один порт (например, 27015) будет применять лимиты и фильтры ко всем игровым серверам.
  • В результате, пока один сервер под атакой, легитимный трафик на другие порты (43335, 27050 и т.д.) тоже начнёт резаться.
  • Игроки на соседних серверах начнут вылетать, хотя их сервер даже не атакуют.
Зачем универсальность? Твое правило про 120 пакетов в секунду с IP адреса не учитывает СЕМЬЮ. Они могут играть с одного IP адреса, и ты ломаешь им игру. А по по поводу универсальности - Только под конкретную сигнатуру, не больше. Каждый порт — свои правила. Избыточность тут на руку, учитывая реальную производительность железа и таблицы RAW. nf_tables, который я отправил через транслятор, — ну и хрен с ним, главное работает, и я знаю, какие правила работают нормально и в таком убогом режиме.

К тому же конфиг уже устарел давно.

NOTRACK я реализовал и сильно углубился в трафик A2S. Пакеты установки соединения, разрыва соединения — если их слишком много, они отправляются в Вальгаллу. Conntrack не забивается.
Внешний фильтр атаку любой мощности режет до 10 Мбит в секунду на порт. Легитимные игровые пакеты? Если речь об A2S — защищено новым конфигом с KMP-алгоритмом, сильно ограничены или заблокированы части A2S-протокола. Обычный пинг — тоже под лимитом и жёстко фильтруется хэш-таблицей. Если превышение порога с одного IP — адрес блокируется и отправляется в самые первые правила RAW: блокировать всё из списка.

Про порт Source Engine 27005 — тут похоже, никто не слышал, а именно его надо открывать. На открытых сетях мгновенно сохраняешь 50% онлайна.
Чтобы не потерять онлайн, через агент телеметрии я вывел, откуда чаще всего подключаются знакомые игроки, и добавил их диапазоны DHCP в списки защиты. BGP View + GeoIP.
В случае атаки реализовано 2 механизма:
  • Сервер открыт и защищён больше чем наполовину.
  • Полная изоляция только по белым спискам и порту 27005 для серьёзных атак.
  • Особо хреновые вещи - адовые - уже уровень хостинга - Blackhole. И правильно - лучше пару дней посидеть в оффлайне чем убитый сервер.
Детские атаки блокируются по умолчанию.
Какова вероятность спуфинга порта 27005? Никакая, минимально. DNS/NTP/etc методы стандартные не проходят из-за защиты на самом хостинге.

Эфемерные порты — нужно знать конкретику: какой диапазон, где эта дыра, и бить конкретным методом, легитимными пакетами. UDP туда смысла бить нет — там rate limit на внешнем сервере.TCP SYN — я вас умоляю. У меня лимит на установку новых подключений, и работает внешний сервер защиты — SYN_LIMIT. До меня даже TCP не доходит просто если внешний сервер защиты тебя не проверил - а там целая сеть фильтров.

В белых списках также IP-адреса и DNS-имена мастер-серверов, главных серверов моего проекта, API и так далее.

По TTL — ну удачи. >128 — ушёл в лимит, поздравляю, DROP. Менее 32 — удачи, DROP.
A2S? Да боже мой, я вас умоляю — мне пофигу.

Валидные игровые пакеты? Пффф. Учитывая, что на одном порту допустим 10 тысяч левых игровых пакетов и мощное железо — смысл? Серверу пофигу, он это DROP-нет спокойно.

Краш-пакеты? tcpdump — блокируешь сигнатуру краш-пакета в RAW — забил хрен.

2.5 МЛН пакетов в секунду — 20% одного ядра, с внешкой — 1%. Сервер живёт спокойно.

Да господи, сама аренда тачки уже говорит о том, что на мой сервер надо тратить бабки, а я сделал всё бесплатно. Из 32 человек вылетит 6–8. Какая потеря? Онлайн всё равно восстановится через 20 минут, потому что сервер на слуху.

Ты зайдёшь на сервер и будешь слать лаг-пакеты? Удачи, net_chan_limit_msec 150 тебе привет передаёт.
Будешь с одного IP отсылать валидный мусор - удачи.
Множество IP - удачи. Если они из одного ASN/BGP/Страны - удачи господи.

IP Spoofing? Ладно. Атака будет погашена в любом случае. Какова вероятность что из белых списков постучатся? 0.083% вероятности?

Проблему с HashLimit я решил — она довольно легко решаема. Подключил кастомные цепочки в RAW — норм работает.

И да, нужно понимать: это насколько нужно быть потерянным в жизни, чтобы атаковать сервер в Team Fortress 2 и надеяться, что он ляжет? Не спорю, такое заблуждение есть. Если кому-то не нравится, как ты администрируешь, — но за 11 лет ведения своего проекта настолько серьёзные DDoS-атаки я встречаю впервые.

Обычно это выглядит так:
  • Кто-то обиделся на бане.
  • Нажал кнопку на стрессере.
  • Увидел, что сервер не лёг.
  • Пошёл дальше, потому что тратить ресурсы на цель, которая не умирает, — это невыгодно.
Я вообще к чему:
Мой сервер Team Fortress 2— не цель уровня «положить любой ценой». Это хобби-проект от ноунейма, который живёт 11 лет. Если для атаки на него нужно арендовать железо, изучать конфиг, подбирать лимиты и сигнатуры — значит, моя защита уже выполнила свою задачу. Атакующий либо отвалится на этапе разведки, либо потратит ресурсы, которые не окупятся результатом, (20 тысяч потратили - я РОВНО 0) ибо игроки вернутся, защита будет выстроена ещё хитроумнее (Я себя знаю, и слишком упрямый), а я ничего не потеряю.
А по поводу обиженных - могу сказать что моя система PARSEC с анти-твинком - работает просто изумительно. До такой степени что меня даже пугает эффективность. Просто читеры пытаются, пытаются - по 7 человек заходят, самобанятся, и потом поток уходит в ноль. Щас так и происходит - все кто забанился разово - никогда на сервер не зайдут. Их система выкашивает.
По поводу вылета игроков - Ну вылетят 25% игроков, и что? Мастер-сервера в белых списках + 27005 порт.
A2S - ну да, заблокируется, и что? У меня задача сохранять онлайн существующий в часы пика максимально, обеспечивая плавный игровой геймплей, но нужно иметь понимание - что 100% защиты никогда не существовало, всегда и везде есть лазейки. И если надо для блокировки валидного трафика вписать 1 правило в таблицу RAW - извольте. У меня главное - ядро онлайна защищено - остальное - наживное.
Да и к тому же - не может 1 человек выполнять работу как на Anti-DDoS хостингах - там оборудование посерьезнее, и фильтры тоже. А я это все сделал бесплатно :)
 
Сверху Снизу