Що не договорюють сервіси по захисту від DDoS або чому захист не працює

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

Тут-то нас і чекало велике здивування — замовник був абсолютно не захищений.

Давайте розберемося що ж сталося, але спочатку трохи теорії.

Не буду описувати, що таке DDoS атака, зазначу лише, що вони діляться на 2 типи:

— DDoS Layer 3&4 по моделі OSI. Одна з характеристик даної атаки — велика кількість пакетів, якими атакується ресурс. На даний момент середня потужність атаки по світу — 9,7 Gb/s і 19 Mpps.
— DDoS Layer 7 по моделі OSI, тобто атака на рівень додатків. Як правило, атака не містить велику кількість пакетів (на порядки нижче, ніж при DDoS L3&4), швидше характеризується точковим ударом по слабкому місцю атакується сайту.

Підключення до сервісів захищає від DDoS атак відбувається наступним чином:

— Для захищеного ресурсу в DNS адресу прописується захищає;
— Клієнт вказує, на якій ip адреса пересилати очищений трафік (як правило, на ту ж адресу, який і був до підключення до сервісу). Можливо підняття тунелю.

Зараз я спеціально не розбираю випадок підключення за допомогою BGP, там теж не все так добре, але основна маса клієнтів підключаються саме через зміни у записи DNS.

Замовник задоволений, повністю розслаблений і упевнений в завтрашньому дні! Але, насправді, саме в той момент, коли замовник розслабився, він став ще менш захищеним!

Давайте розглянемо, чому або як можна обійти захист.

Дійсно, при спробі отримати ip-адресу замовника по імені сайту ми отримуємо ip-адресу сервісу по захисту:

$ nslookup www.ХХХХХХХХ.uk
www.ХХХХХХХХ.uk canonical name = xxx.incapdns.net.
Name: xxx.incapdns.net
Address: 149.126.xxx.xxx

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

IP Address Location IP Address Owner Last seen on this IP
149.126.xxx.xxx Binghamton — United States Incapsula Inc. 2015
149.126.yyy.yyy Binghamton — United States Incapsula Inc. 2015
zzz.zzz.zzz.zzz United States HOSTER LTD 2014


В результаті ми бачимо, що його попередній ip-адреса — zzz.zzz.zzz.zzz; більш того, тепер ми знаємо, що він знаходиться на майданчику HOSTER LTD в США (далі буде зрозуміло, чому це теж важливо).

Залишається тільки уважно подивитися на сервер, який має ip-адресу і ми вже точно знаємо, що це шуканий нами сервер замовника.

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

Нижче я опишу рекомендації по правильному використанню подібних сервісів.

Як не дивно, але ні один з найпопулярніших — як на Заході, так і в Росії сервісів по захисту від DDoS — не дає ніяких рекомендації з цього питання своїм клієнтам.

Так що ж необхідно робити?

Як тільки ви хоч раз засвітили свій ip-адресу в сервісі DNS, ви більше ніколи не зможете видалити цю інформацію — вона завжди буде доступна в DNS history. Більш того, ви засвітили своє місцезнаходження (хостер, комерційний ЦОД тощо).
Хочете повністю убезпечити себе — йдіть з цього місця. Як тільки ви залишилися, ваш сервіс будуть атаковані, якщо ви уявляєте хоч якусь цінність для атакуючих.

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

1) У вас невеликий сайт і ви спочатку розмістили його у hosting провайдера. Правильні дії — налаштувати http server таким чином, що б він брав запити тільки від ip-адрес захищає (так ви точно зніміть можливість атаки DDoS Layer 7) і змінити ip-адресу (захист від DDoS Layer 3&4). У цьому випадку, нападники не зможуть знайти ваш сайт прямо, але це не означає, що ви в безпеці. Середній хостер в Росії має канали 1-5 Gb/s і якщо ви дійсно цікаві нападаючим, то вони зроблять атаку (DDoS Layer 3&4) на канали хостера і покладуть його і вас разом з ним.

2) У вас є виділений Virtual Private Server і на ньому розташовується ваш проект. Правильні дії:
— налаштувати http server таким чином, щоб він приймав запити тільки від ip-адрес захищає (так ви точно зніміть можливість атаки DDoS Layer 7);
— налаштувати firewall так, що б всі зайві порти були закриті і/або приймали з'єднання тільки від відомих вам ip-адрес. Якщо ви цього не зробили з самого початку при підключенні до сервісу захисту від DDoS, то, можливо, атакуючі вже вивчили ваш сервер і дізналися, які порти відкриті, а які ні (атакуючі зробили fingerprint вашої системи). Це значить, що вони знають, яку машину їм треба шукати в мережі провайдера;
— змінити ip-адресу (захист від DDoS Layer 3&4).

Якщо ви залишилися на існуючому хмарному провайдера, ви все одно не в безпеці. Найбільш вразлива частина хмарного провайдера — консоль управління (навіть у Amazon вона не дуже добре захищена). На канали невеликого хмарного провайдера атакуючі можуть провести DDoS атаку Layer 3&4 і покласти всі хмара.

3) У вас великий проект і багато серверів, розташованих в якомусь комерційному Цоді. Такий проект найскладніший захисту. Необхідно підійти комплексно до цієї задачі, зміною ip і налаштуванням firewall нічого не вирішити (але це не означає, що цього не треба робити). Як мінімум, вам необхідно змінити сітку, яку вам видав провайдер. Саме змінити, а не додати нову, інакше, вас навіть не треба шукати — атакуючі просто покладуть ваші канали, атакуючи стару сітку. Як правило, в таких проектах є сервіси, які не можна або неможливо поставити під захист від DDoS — подумайте як правильно рознести ці сервіси з різних мереж або, навіть, майданчиків, інакше вас знайдуть саме з ним (найпростіший приклад — MX запису поштової служби).

Висновок

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

Удачі вам та вашим проектам.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.