Три види атак
Мережевий флуд
Величезний обсяг трафіку забиває канал сервера. Сервер стає недоступним або лагає для всіх, а в журналі входів нічого нового не з’являється.
Флуд підключеннями
Тисячі підключень або пінгів списку серверів, які так і не стають гравцями. Канал вони не забивають, але тримають проксі зайнятим, доки той не перестане відповідати справжнім гравцям.
Бот-атака
Фейкові гравці проходять вхід, займають слоти й спамлять у чат. Кожен бот приходить справжнім підключенням, зазвичай через список проксі, тому для сервера він виглядає як гравець.
Чому плагін не зупинить DDoS
Плагін працює всередині проксі або сервера. Коли канал забитий або машина зайнята відкиданням пакетів, до роботи плагіна справа просто не доходить. Фільтрувати трафік треба ще до того, як він дійде до вашої машини: у мережі хостингу або в сервісі перед нею.
Звідки береться справжній захист від DDoS
- Багато хостингів Minecraft і деякі дата-центри, наприклад OVHcloud зі своєю фільтрацією для ігор, мають захист від DDoS і відсіюють атаки у своїй мережі, перш ніж вони дійдуть до вас.
- Захисний проксі, як-от TCPShield або Cloudflare Spectrum (на платних тарифах), стоїть перед сервером: гравці підключаються до його мережі, а до вас доходить лише чистий трафік. Увімкніть у сервісі PROXY protocol і поставте
haproxy-protocol = trueуvelocity.tomlабоproxy_protocol: trueуconfig.ymlBungeeCord (чи встановіть плагін сервісу), інакше ваш проксі бачитиме адреси сервісу замість адрес гравців, і бани за IP та перевірки адрес перестануть працювати. - Не розкривайте справжню адресу. Якщо нападники знають пряму адресу вашого проксі чи бекенда, вони оминуть захист, тому не використовуйте цю адресу ні для чого іншого й змініть її, якщо вона витекла.
Ці сервіси фільтрують трафік. Про гравців із VPN, обхід банів чи ботів, які проходять вхід, вони нічого не знають.
Що можна налаштувати на проксі
Обидва проксі вміють гальмувати одну адресу, яка підключається занадто часто:
- Velocity:
login-ratelimitуvelocity.toml, мінімальний час між входами з однієї адреси в мілісекундах. - BungeeCord:
connection_throttleіconnection_throttle_limitуconfig.yml.
Це допомагає проти флуду з кількох адрес, але не з тисяч. На власній машині від невеликого флуду підключеннями допоможе правило файрволу, яке обмежує кількість нових підключень з однієї адреси.
Бот-атаки: тут плагіни допомагають
Проти бот-атаки плагін якраз підходить, бо кожен бот приходить як вхід. Kordon перевіряє адресу кожного входу, переводить сервер у режим атаки, коли починається хвиля, і закриває мережі, якими користуються боти. Режим атаки є на всіх тарифах, зокрема на безкоштовному. Плагін перевірки на кшталт Sonar ловить ботів, які приходять із чистих адрес. Разом вони добре працюють на одному проксі.
Мережевий трафік Kordon не фільтрує, тому проти справжньої DDoS-атаки вам однаково потрібен хостинг. Дивіться, що робити під час бот-атаки.
Як зрозуміти, що саме відбувається
Якщо сервер недоступний або в усіх величезний пінг, а в журналі входів немає нових заходів і графіки хостингу показують сплеск трафіку, це DDoS: звертайтеся до хостингу. Якщо журнал заповнюється новими ніками, а слоти зайняті, це бот-атака: з нею впорається захист на проксі. Іноді обидві атаки поєднують, тому перевіряйте обидва варіанти.