CityHost.UA
Допомога і підтримка

Що таке DDoS-атака та як захистити свій сайт/сервер

 5582
29.11.2021
article

В інтернеті існує багато хакерських технологій. Вони мають різні цілі — викрадення грошей чи даних, шантаж, усунення конкурентів. Найчастіше мотивація зводиться до незаконної фінансової вигоди, але бувають інші причини, які штовхають хакерів на розробку шкідливого програмного забезпечення.

Чорні програмісти винайшли чимало способів завдати шкоди веб-ресурсу чи серверу. Один із найпоширеніших — DDoS-атака.

 

 

Що таке DDoS-атака

DDoS-атака — це масоване бомбардування сервера одночасними сміттєвими запитами, які виснажують ресурси оперативної пам'яті та повністю забивають трафік. Атака призводить до відмови в обслуговуванні (Denial of Service): через перевантаженість каналу сайт перестає відповідати справжнім відвідувачам або зовсім відключається. У таких випадках кажуть: «Поклали (обвалили) DDoS-атакою».

Distributed Denial of Service - розподілена відмова в обслуговуванні

З відмовою в обслуговуванні ми розібралися, але що означає «розподілена» (Distributed)? Так у терміні зазначено факт, що атака здійснюється відразу з кількох пристроїв, вона розподілена.

Атакам можуть піддаватися сайти, мережі, поштові сервіси, мобільні додатки та інші веб-ресурси. DDoS-атаки відбуваються на всіх рівнях мережного підключення, тому мають багато різних видів та методів.

Наслідки успішної DDoS-атаки можуть бути катастрофічними – падіння у видачі через недоступність, повне відключення сервера дата-центром, збитки через простої сервісу, репутаційні втрати для компанії.

Звідки здійснюється атака

  1. Стресори. Це спеціальні сервіси, які надають потужності своїх серверів для стрес-тесту на здатність протистояти DDoS-атаці. Потрібно просто ввести адресу сайту, вибрати тип атаки, оплатити послугу та проаналізувати результат. Стресори позиціонуються як сервіс для тестування свого сайту і не вважаються шкідливими. Але такою послугою часто користуються й ті, хто хоче позбутися конкурентів. Зловмисники маскують свої IP-адреси за допомогою проксі-серверів, тому немає можливості відстежити, хто та з якою метою оплатив послугу. Потужність таких атак невелика, використовуються найпростіші види. Але цього достатньо, щоб покласти невеликий інтернет-магазин. Якщо говорити про хакерів — цим способом користуються новачки, які ще не мають достатньо знань та грошей для самостійних дій.

  2. Сервери. Для здійснення атак купуються чи орендуються сервери, які не були під блокуванням. На них встановлюється спеціальне програмне забезпечення для атак. Таким займаються вже просунуті хакери. Іноді серверів, які є в одного DDoS-хакера, недостатньо, щоб покласти сайт, і тоді він може звернутися до колег, щоб ті допомогли своїми потужностями за певний відсоток. Так можуть організовуватись цілі команди «ддосерів».

  3. Ботнет. Це найскладніша і найпотужніша з усіх систем для здійснення DDoS-атак. Спочатку потрібно створити армію «комп'ютерів-зомбі» — це і є ботнет. Так називають пристрої користувачів, контроль над якими захоплений зловмисниками. Захоплення управління здійснюється за допомогою вірусів, які розповсюджуються через розсилки чи зламані сайти. Вірус вбудовується в ОС і дозволяє хакеру віддалено віддавати команди. Власники навіть не знають про неправомірну поведінку своїх комп'ютерів, оскільки вірус ніяк себе не проявляє. Часто хакери мають велику базу таких зомбі, постійно її оновлюють та періодично кидають у бій. Ботнети бувають просто величезними – до кількох мільйонів машин. Вони живуть кілька років, а особливо великі навіть мають імена. Утримувати таке «господарство» дорого, потребує багато часу та знань, тому вважається найбільш просунутим рівнем. Замовники звертаються до власників ботнетів, щоб скористатися їхніми послугами. DDoS-атака ботнетом коштує дорого, але він здатний покласти навіть найпотужніший веб-ресурс.

 Ботнет

Алгоритм підготовки та здійснення DDoS-атаки

DDoS-атака — масштабний захід, який потребує якісної підготовки.

Етапи підготовки атаки:

  1. Вивчення жертви — збирання інформації про вразливості, по яких можна ефективніше вдарити: на яких серверах розміщено сайт, як написано код. Також залежно від отриманих даних вибирається метод атаки.

  2. На пристроях-ботах або серверах розгортається шкідливий код, за допомогою якого здійснюватиметься атака.

  3. Відбувається DDoS-атака, аналізуються результати. Якщо вона дала очікуваного ефекту, з'ясовуються причини. Потім напад може повторитись (і не раз).

Навіщо використовують DDoS-атаки

Хакери прагнуть вивести сайти та сервери з ладу з різних причин:

  1. Усунення конкурентів. Компанії можуть замовляти атаки на сайти конкурентів. Якщо це великий комерційний портал, то навіть один день простою або сповільнення роботи призводить до величезних збитків.

  2. Шантаж. Зловмисники «обвалюють» сайт, після чого пишуть або дзвонять власникам, використовуючи контактні дані, вказані на веб-ресурсі. Вони вимагають виплатити певну суму за припинення атаки, яка може тривати кілька днів. Якщо робота компанії залежить від сайту, буває дешевше заплатити шахраям, інакше втрати будуть ще більшими.

  3. Політичні мотиви. Атака може здійснюватися на сайти державних організацій, політичних партій, окремих політиків, ЗМІ або використовуватися як акція протесту.

  4. Навчання. DDoS-атаки вимагають знань і досвіду, тому багато хто з них — це просто учнівські спроби «ддосерів».

  5. Розвага та марнославство. Атаки часто здійснюються через банальне бажання розважитися, спробувати свої сили чи показати колегам, на що здатний хакер.

  6. Особисті мотиви. DDoS-атаку може замовити будь-яка людина своєму кривднику. Бувало навіть таке, що чоловік, дізнавшись про зраду, замовляв атаку на сайт дружини, через яку вона вела бізнес.

  7. Інтернет-рекет. Зловмисник здійснює атаку та звертається до власника сайту з пропозицією: щомісяця платити суму, щоб сайт не падав. Інакше його атакуватимуть багато разів, доки жертва не здасться.

  8. Реклама. Хакер атакує сайт, потім пропонує власникам усунути вразливості, які він знайшов через такий непроханий стрес-тест.

Як захистити від DDoS-атаки свій сайт чи сервер

Захист здійснюється з двох сторін — зусиллями самого веб-майстра та провайдера, який надав хостинг або сервер в оренду. Тому дуже важливо вибирати постачальника послуг, який гарантує якісний захист від атак.

Технічна підтримка Cityhost працює цілодобово, організовуючи безпеку серверів та сайтів, розміщених на них. Спроби DDoS-атаки постійно відстежуються та усуваються вручну. Якщо атака дуже потужна і страждає на весь сервер — співробітники перенаправляють сайт на проксі-сервер і вже на ньому фільтрують трафік різними методами. Дата-центр також фільтрує надто активний протокол DDoS, якщо фізично забивається ширина каналу та виснажуються ресурси машини.

Коли починається DDoS-атака на сайт, наші адміністратори відразу це помічають. Але якщо власник бачить, що на сайт напали, не зайвим буде повідомити техпідтримку.

Кожна атака є унікальною, тому персонал техпідтримки завжди діє за ситуацією. Повного автоматичного захисту не існує, всі захисні програми можуть відфільтровувати лише найпростіші DDoS-атаки. Завдяки нашому досвіду попередніх років та множинних атак вже розроблені патерни захисту під певні кейси, що дозволяє справлятися з DDoS-атаками дуже ефективно та швидко.

Реальний випадок: власник веб-ресурсу вирішив повністю захистити свій сайт автоматичними методами. Він найняв хакера для тестування і після встановлення кожного нового рівня захисту той здійснював пробну атаку. В результаті веб-майстру вдалося повністю убезпечити свій сайт і хакер не зміг його покласти. Але через надлишок додаткових фільтрів кожна сторінка вантажилася по 20 секунд і звичайним користувачам було складно потрапити на сайт.

Так що спроби автоматизувати захист повинні бути в міру та не знижувати продуктивність сайту.

Але все ж таки веб-майстер може і навіть зобов'язаний зробити кілька кроків для базової безпеки сайту або орендованого сервера.

Для концептуального визначення методів захисту необхідно дати оцінку самому DDoS, проаналізувати, яким чином здійснюється атака. Це може бути:

  1. Одна підмережа

  2. Один User-Agent

  3. Один регіон

  4. Однаковий обсяг пакетів

  5. Один URL і т.д.

Отже, методи захисту повинні здійснюватися за результатом оцінки попередніх критеріїв. Наприклад, для підмереж потрібне блокування CIDR-маски мережі на рівні конфігурації фаєрволу.

Для User-Agents, пакетів або URL-адрес підійде блокування на рівні веб-сервера (правилом nginx або .htaccess, яке обмежує доступ до сайту).

Вихідний трафік із одного регіону блокується за допомогою модуля GeoIP.

Найпростіший і найшвидший метод — заблокувати регіон, якщо джерело ботнету виходить із однієї країни. Якщо джерела атаки розкидані глобально по світу — залишити доступним сайт на якийсь час лише для користувачів свого регіону, наприклад, для України.

Це дасть можливість знизити навантаження на сайт і робити подальші кроки щодо нейтралізації проблеми.

Додатково можна налаштувати фільтр Fail2ban та Firewall: блокувати IP-адреси, запити з яких здійснюються з певною періодичністю. Але при великих ботнет-мережах це не ефективно, оскільки завдання ресурсомістке: потрібно постійно аналізувати логи та здійснювати блокування за певним критерієм.

З універсальних методів захисту можемо порадити:

  1. Cloudflare — сервіс, що надає сайтам захист від DDoS-атак на платних та безкоштовних тарифах.
  2. Модуль nginx — обмежує швидкість запитів у певній зоні.
  3. Капча + cookie. Більшість ботів відсіється на момент прийняття cookie, другим захисним бар'єром буде капча. Якщо обидва критерії виконані — ласкаво просимо на сайт, якщо хоча б один ні — обмежити доступ до сайту.
    Але потрібно розуміти, що задача установки cookie та капчі має витрачати якнайменше ресурсів самої машини.
  4. Налаштування балансувальника навантаження (Load balancer) у вигляді проксуючого вузла, який фільтруватиме трафік і направлятиме його назад у точку (на сервер), де розміщений сайт.
    Ви повинні бути готові завжди мігрувати сайт на інший ресурс шляхом зміни DNS, підготовки конфігураційних файлів для проксі-машини і т.д.
  5. Відповідь 444. Найефективнішим з точки зору ресурсо-витрат сервера є повернення 444-відповіді nginx (немає відповіді), яка при виявленні підозрілого запиту скидає з'єднання, не чекаючи завершення скрипту.

Методів боротьби DDoS-атаками багато, але їх застосування обов'язково потрібно зробити первинний аналіз джерела.

Інструменти захисту на панелі хостингу Cityhost

У клієнтській панелі інструментів є можливості первинного захисту сайту від незаконного проникнення та DDoS-атак. Потрапити до розділу можна шляхом: Хостинг 2.0 ⇒ Кнопка «Управління» навпроти назви сайту ⇒ Вкладка «Безпека».

Цей інструментарій використовується не лише для запобігання DDoS-атакам, але й для боротьби з іншими методами хакерських вторгнень.

Розділ Безпека у панелі керування

  1. Захищені директорії. Ви можете встановити вхід за логіном та паролем для будь-якого розділу або сторінки. Захист можна використовувати для директорії адмінки, закритих розділів сайту або навіть головної сторінки. Щоправда, останній варіант підходить не завжди. Тоді при вході на головну сторінку кожному користувачеві доведеться вводити пароль — масовим веб-ресурсам це навпаки невигідно. А ось для закритих корпоративних форумів чи сайтів у період розробки такий захист від сторонніх осіб підійде чудово.

  2. Капча. Ранні версії дратували користувачів, змушуючи вибирати велосипеди та мотоцикли, тому веб-майстри часто відключали капчу. В останніх версіях достатньо поставити галочку навпроти слів «Підтвердіть, що ви не робот» — така проста дія відсікає ботам можливість потрапити на сайт. Капча може встановлюватися як обов'язково, так і включатися у відповідь на підвищений трафік з певного пристрою. Якщо з комп'ютера або смартфона надходить багато запитів, йому пропонують пройти перевірку, щоб переконатися, що він не є частиною ботнета. Cityhost встановлює обов'язкову капчу для адмінки CMS, щоб у неї не міг проникнути бот.

Приклад капчі

  1. Обмеження доступу. Забороняє доступ до сайту певним IP-адресам.

  2. Заблоковані User-Agents. Опція може забороняти доступ програмам, що діють від імені користувача в мережі. Найчастіше це браузери, а User-Agent — це рядок, який ідентифікує кожну клієнтську програму.

  3. Заблоковані URL-адреси. Дозволяє блокувати підозрілі посилання.

Останні три функції обмеження доступу встановлюються вручну для кожного випадку. Потрібно моніторити логи сайту і дивитися, з яких адрес або браузерів виходить занадто багато запитів. Такі «гості» вносяться до списку заборонених і більше не матимуть доступу до сайту.

DDoS-атака — поширена та руйнівна технологія, до якої вдаються все частіше через масовий переход бізнесу в онлайн у зв'язку з пандемією. Жертвою може стати будь-який сайт. Навіть якщо це невеликий блог, складно бути впевненим, що на ньому не захоче потренуватися хакер-початківець. Тому завдання кожного веб-майстра – подбати про надійний захист свого сайту чи орендованого сервера.


Сподобалася стаття? Розкажіть про неї друзям: