Увага, перевантаження! Як захистити сайт від DDoS-атак

535

За даними «Лабораторії Касперського», 42,9 % комп’ютерів, що належать комерційним організаціям, у 2017 році піддавалися кібератакам.

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

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

DDoS — це будь-які дії, мета яких «покласти» сайт повністю або навантажити його сторонніми завданнями так, щоб він став нагадувати лінивця з «Зверополиса». Але сам термін більше для юзерів, ніж технарів. Останні оперують тільки їм зрозумілими виразами на кшталт «DNS ампліфікація», «TCP Null атака», «SlowLoris» та іншими варіаціями на тему. Різновидів DDoS-атак багато, тому вступним повинен послужити теза:

Універсального захисту від усіх видів DDoS-атак не існує.

Якщо б вона існувала, «монстри» на кшталт Google чи Amazon не витрачали б мільярди доларів на киберзащиту і не оголошували періодично конкурси на пошук вразливостей з мільйонними призовими.

Головна небезпека DDoS-атаки — в процесі кіберзлочинці можуть знайти вразливість і запустити на сайт вірус. Саме сумний наслідок — крадіжка особистих даних користувачів і відведення клієнтської бази. Потім її можуть продати вашим конкурентам.

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

Чому атакують

Просто так комерційні сайти ддосят рідко. Є певна ймовірність, що на вас вирішив потренуватися школяр, що надивився відео на зразок цих:

Увага, перевантаження! Як захистити сайт від DDoS-атак

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

  • DDoS на замовлення. Якщо атака прилітає після запуску активної рекламної кампанії чи проведення маркетингових заходів, можливо, ви перейшли дорогу конкурентам. Іноді DDoS стає реакцією на конкретні дії: наприклад, завуальовану відсилання до конкурента в рекламі або просування по імені чужого бренда в контексті.
  • Вимагання. Варіант № 1. На електронну пошту приходить повідомлення від доброзичливця, який пропонує перевести йому деяку суму в биткоинах або сайт ляже. Найчастіше загрозу у виконання не приведуть, але можна нарватися і на реальних зломщиків. Варіант № 2. Сайт вже покладено, і від шахраїв надходить пропозиція заплатити за припинення атаки.
  • Сайт потрапив під роздачу. DDoS-атака може паралізувати роботу серверів вашого хостера, через що припиняється робота всіх його сайтів. Малоймовірно, але теж можливо.

Павло Арбузов, технічний директор хостингу REG.RU

Умовно можемо поділити атаки на сплановані і ненавмисні. Наприклад, 18 березня 2013 року хост-провайдер CyberBunker організував DDoS-атаку на компанію Spamhaus через потрапляння в чорний список за розсилку спаму. Це сама потужна DDoS-атака в історії — за оцінкою CloudFlare, близько 300 Гб/с.

Іноді власники сайтів приймають за DDoS-атаку так званий «слэшдот-ефект» (в рунеті зустрічається термін «хабраэффект»). Це відбувається, якщо на ресурс приходить набагато більше користувачів, ніж може пропустити хостинг. Це і є ненавмисна DDoS-атака. Наприклад, перед новорічними святами люди масово роблять покупки, трафік на інтернет-магазини зростає. Слабкий хостинг не витримує і падає. Якщо це відбувається, потрібно міняти хостера або переходити на тариф з більш широким каналом.

В цьому році я писав матеріал про маленькій, але гордій агрегаторі комерційної нерухомості в Москві для одного відомого бізнес-видання. А через 3 дні після публікації на його сайт обрушилася потужна DDoS-атака. Дізнатися джерело не вдалося, але зв’язок подій не виключена. Можливо, «перевірка на міцність» від конкурентів.

Що робити під час атаки

Якщо ніяких анти-DDoS заходів заздалегідь не прийнято, про атаку можна навіть не дізнатися. Іноді хостери вловлюють підозрілу активність і відправляють користувачеві лист. Частіше — ні. Буває, заглядаємо на сайт і бачимо щось на кшталт:

Увага, перевантаження! Як захистити сайт від DDoS-атак

Або знаходимо в «Метриці» провали по трафіку. Це ще не DDoS, але щось на нього схоже.

Як вийти з-під «Мінусинська»: два реальних кейса

Перевірка у командному рядку

Відкриваємо » командний рядок і вводимо ping {доменне ім’я}.

Увага, перевантаження! Як захистити сайт від DDoS-атак

Спочатку ми «пинганули» свій сайт і переконалися, що він працює – всі 4 тестових пакету пройшли обмін. Потім провели операцію на заблокованому ресурсі. Пакети сервером не прийняті.

Якщо сайт не працює, але пінгуєтся – проблема з браузером. Якщо не пінгуєтся – можливий DDoS.

Більш детальну інформацію може дати трасування. Використовуємо команду tracert {доменне ім’я}:

Увага, перевантаження! Як захистити сайт від DDoS-атак

На другій перевірці бачимо трасування ресурсу, заблокованого Роскомнаглядом (сторонній IP-адресу). Якщо обміну пакетами немає на останньому етапі (свій IP-адреса), це може вказувати на DDoS.

Перевірка сторонніми сервісами

Seogadget. Найпростіший інструмент для швидкої перевірки під час DDoS, вміє одночасно перевіряти кілька сайтів і знаходити причини недоступності.

Увага, перевантаження! Як захистити сайт від DDoS-атак

Код HTTP 200 вказує на те, що проблем з доступом не виявлено. Якщо в рядку » код буде HTTP 4**, є помилки на своїй стороні. Код HTTP 5** говорить про проблеми на стороні сервера.

Помилка HTTP 502 (bad gateway) свідчить про те, що сайт не справляється з навантаженням. Це може бути викликано DDoS-атакою.

Інструмент від Ping-Admin.ru. У налаштуваннях можна вибрати перевірку тільки для свого регіону, з Росії чи з інших країн. Дає детальну інформацію по 9 параметрам, тому корисний не тільки під час атак.

Увага, перевантаження! Як захистити сайт від DDoS-атак

Сервіс Who Is. Перевіряє працездатність сайту і показує технічні характеристики домену.

Увага, перевантаження! Як захистити сайт від DDoS-атак

Підключення через FTP

Встановіть будь-який зручний FTP-клієнт. Наприклад, Total Commander:

Увага, перевантаження! Як захистити сайт від DDoS-атак

Щоб додати сервер, потрібно заповнити картку:

Увага, перевантаження! Як захистити сайт від DDoS-атак

Дізнатися свій IP-адресу можна, наприклад, через сервіс Who Is за посиланням вище. А логін і пароль доступу до FTP приходили вам в інформаційному листі від хостера після реєстрації. Якщо це було давно, знайдіть їх в архівних повідомленнях.

Якщо FTP працює, а сайт, це може вказувати на DDoS-атаку або проблеми з веб-сервером.

Важливо! Призупиніть покази банерів і оголошень контекстної реклами, щоб не втрачати бюджет.

Блокування по IP

Цей метод допомагає тільки при слабкій атаці типу HTTP-флуд. Але марний для атак типу UDP або SYN-флуд. У них кожен новий паразитний пакет приходить з новим IP, тому відфільтрувати підключення не вийде.

HTTP флуд – це напрямок паразитних запитів на порт, який відповідає за призначення та розподіл пакетів даних, переданих на хост.

UDP-флуд – відсилання UDP-пакетів з великим обсягом даних на різні порти з метою перевантаження сервера та/або переповнення каналу зв’язку.

SYN-флуд – переповнення ресурсів сервера без відповіді паразитними запитами на синхронізацію з сервером.

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

Якщо ні, перейдіть до системні папки. Наприклад, на веб-сервері apache лог знаходиться за адресою:

/etc/httpd/logs/access_log

Якщо хостер не дає туди доступ, можна написати в техпідтримку з проханням надати такі дані. В лог-файлі шукайте IP-адреси, які повторюються багаторазово. Потім в кореневій папці сайту створюємо файл з назвою .htaccess без розширення. Файл вписуємо рядка коду:

order allow,deny

deny from 111.111.11.11

deny from …

allow from all

Замість 111.111.11.11 вносите знайдені IP-адреси. Кожен наступний адреса має бути у новому рядку.

На жаль, часи, коли фільтрація IP була ефективна, пройшли. Сьогодні це рівносильно спробі відремонтувати Tesla X в гаражному кооперативі ключами на 17 і 19. Якщо хостер не дає доступу до логів, в логах немає повторюваних IP-адрес або, навпаки, їх там дуже багато, переходите на більш жорсткі заходи.

Історія однієї атаки

Олег Шестаков, засновник Rush Analytics.

16 листопада 2017 року сервери компанії Rush Analytics піддалися DDoS атаці з безлічі різних IP-адрес. У перші 20 хвилин наш технічний відділ намагався самостійно відфільтрувати паразитний трафік, але його було настільки багато, що велика частина проходила фільтри. Ще через 10 хвилин хостер нас відключив. Просто відключив сервер, заблокував доступ до нього на 48 годин і затер усі логи. У наступні 2 години ми розгорнули новий фронт-сервер на іншому майданчику і пішли за DNS-сервери Cloudflare.

З моєї точки зору, хостер повів себе дивно і навіть не намагався нам допомогти. В майбутньому будемо тримати резервну копію фронт-сервера на інший майданчику і використовувати систему очищення трафіку Cloudflare або Incapsula. Усім, хто працює на висококонкурентних ринках, рекомендую зробити так само.

Що не робити під час атаки

Не потрібно погоджуватися на умови шахраїв. На повідомлення з пропозицією припинити атаку за деяку суму найкраще не відповідати взагалі. Інакше вас будуть атакувати знову і знову. Підтримувати безперспективний DDoS на комерційний сайт довше 1-2 доби не вигідно. Рано чи пізно злочинці відступлять. Втрачені за час атаки клієнти — це ціна недостатньої уваги до захищеності ресурсу.

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

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

Згадаймо історію з власником платіжного агрегатора Chronopay Павлом Врублевским, який був звинувачений в організації DDoS-атаки, на 9 днів поклала сервери його конкурентів Assist.

Головним потерпілим визнано клієнт Assist Аерофлот. Втрати склали 146 мільйонів рублів. Понад 9 тис. осіб під час атаки не змогли купити квитки авіаперевізника онлайн.

Замовники і виконавці DDos-атаки можуть бути засуджені за ст. 272 КК РФ. Залежно від наслідків, злочин карається штрафом від 100 до 500 тис. рублів, обмеженням або позбавленням волі на строк від 1 до 7 років.

Чим корисна DDoS-атака

Павло Арбузов, технічний директор хостингу REG.RU:

Які проблеми хостингу виявляє DDoS-атака?

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

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

Як повинен вести себе хостинг-провайдер, якщо виявляється атака на сайт клієнта?

В ідеалі хостинг-провайдер повинен мати свою систему очищення трафіку або бути підключеним до сторонньої системі, щоб фільтрувати «паразитний» трафік. Якщо це так, ресурси клієнта не повинні страждати від DDoS-атак. Ми працюємо з DDos Guard і Stormwall PRO. Вони захищають від UDP/TCP-флуд, які зустрічаються найчастіше. Якщо захист від DDoS хостером не передбачена, йому простіше всього повністю відключити сайт, щоб DDoS-атака не вплинула на інших клієнтів.

За якими ознаками можна судити, що хостинг-провайдер відпрацював при атаці погано і його варто змінити?

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

Дослідження: дійсно унікальність контенту так важлива?

Готуємося до атаки: потрібні сервіси

Перевірка доступності

Про проблеми з доступом на сайт, ви повинні дізнатися відразу ж. Використовуйте сервіси, які з заданою періодичністю перевіряють сайт і автоматично інформують власника про недоступність.

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

  • Моніторинг доступності від RU-Center. Сервіс від найбільшого російського хостинг-провайдера. У лінійці три тарифу. Найпростіший — 150 рублів на місяць, найдорожчий — 1 тис. рублів. Розрізняються кількістю моніторів і типами перевірки. Перевірки по HTTP, DNS, PING. Інформує, якщо сайт потрапляє під фільтри пошукових систем як носій вірусів. Автоматичне повідомлення про недоступність сайту поштою. Є 14-денний тестовий режим.
  • Ping-Admin.ru. Самий популярний сервіс моніторингу сайтів в рунеті. Відрізняється гнучкою ціновою політикою. Абонентської плати та інших видів стандартної тарифікації немає. Можна вибрати з усіх способів перевірки потрібні і платити тільки за них. Багато способів автоматичного повідомлення: пошта, SMS, Telegram, RSS і багато іншого. Тестового режиму немає, але кожен новий користувач отримує на рахунок 1 $, якого вистачить на термін від 2 тижнів до 1,5 місяців (залежить від кількості підключених послуг).
  • Моніторинг сайтів від REG.Ru. Є постійна безкоштовна версія з обмеженим функціоналом. Сайт перевіряється одним монітором з періодичністю 1 годину. Повідомлення про недоступність приходить на електронну пошту. Платний тариф починається з 99 рублів на місяць. На ньому є SMS-інформування, перевірка з будь-якою періодичністю. Заодно можна відстежувати зміну позицій ключових слів у пошуковиках.

Файрвол

Файрвол — це готова система фільтрів, яка допомагає захистити сайт від сміттєвого трафіку ще до того, як він добереться до сайту. Основна функція файрвола — боротьба з вірусами. Від DDoS він захищає остільки оскільки, але для слабких атак його достатньо. Тим більше, обійдеться він дешевше повноцінного Anti-DDoS.

  • Virusdie. Вартість — 1490 рублів в рік і 149 рублів в рік для кожного подальшого сайту. Автоматично видаляє віруси, захищає від грабинга, шкідливого коду, веде статистику відображених загроз і формує чорний список по IP. Є редактор коду, через який можна додавати, редагувати і видаляти скрипти. Вбудована функція підсвічування підозрілого коду. Можна налаштувати періодичність бекапа і автоматично відновлювати серйозно пошкоджений сайт за останньою успішної сохраненке.
  • Превентивний захист від Revisium. Вартість — 4000 рублів одноразово, гарантія — 6 місяців. В послугу входить діагностика та сканування сайту, установка прав і доступів на безпечні, відключення «небезпечних» функцій, обмеження доступу до адмінки. Сайт підключається до системи захисту, яка відстежує підозрілі підключення до сайту і формує з них звіти.
  • Virus Detect. Вартість — 2000-3000 рублів одноразово. Гарантія — 1 рік. Система захищає від прямого доступу до PHP, доступу до адміністративної панелі, блокує підозрілі запити. Налаштовуються права на доступ до файлів і папок, встановлюється захист від SQL-ін’єкцій, XSS-атак, RFI/LFI вразливостей.

Anti-DDoS захист

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

  • Cloudflare. Найбільший у світі сервіс Anti-DDoS. Вагома перевага — безкоштовний режим, хоча і обмежений по функціоналу. Платні тарифи починаються з 20 $ в місяць. За ці гроші ви отримуєте автоматичну оптимізацію швидкості сайту (кешування зображень, CSS, Javascript та інше), файрвол, систему фільтрації трафіку. У Cloudflare є аварійний режим i’m Under Attack, при активації якого для входу на сайт буде вимагатися капча. Режим дозволяє швидко відрізати сміттєвий трафік, відновити роботу сайту і зберегти хоча б частину клієнтів. Зверніть увагу, що у Cloudflare немає російського офісу, тому спілкуватися з техпідтримкою доведеться англійською. Якщо ваш сайт вже висить, можна скористатися безкоштовною послугою перевірки від Cloudflare. Якщо DDoS підтвердиться, вам запропонують зареєструватися та включити захист.
  • Anti DDoS від REG.RU. Є безкоштовний режим, який поширюється на захист за технологіями Layer 3-4 (IP malformed, ICMP flood, TCP SYN flood, TCP-malformed, ICMP smurf). Можна активувати платний режим, який захищає від Layer-7 (HTTP Flood і HTTPS Flood). Вартість — від 6 тис. рублів в тиждень. Платиш, коли йде атака і зберігається ризик її відновлення.
  • Anti-DDoS.PRO. Вартість — від 1500 рублів на місяць. Є файрвол для захисту від SQL-ін’єкцій та XSS атак. Зміна провайдера і перехід на свій хостинг не потрібно. Працює з технологіями Layer 3-4 і Layer-7.

Системна протидія DDoS-атакам

І ще раз основна теза:

Не можна захиститися від DDoS на 100 %, але можна пом’якшити втрати від атаки зловмисників і скоротити ймовірність атаки в цілому. Кращий спосіб захисту — комплексний підхід до безпеки сайту.

Системний підхід передбачає наступне:

  • Не економте на обладнанні. Витратьте трохи більше грошей на більш дорогий хостинг і сервер. Зверніть увагу на ширину каналу і кількість CPU. Як правило, при DDoS з’їдаються саме ці ресурси. Це не врятує від великих і запланованих нападів, але від атаки недосвідченого хакера або «хабраэффекта» точно захистить. Від «хабраэффекта» також можна врятуватися, використовуючи послугу хмарного хостингу. З його допомогою в будь-який момент можна додати відсутні для вашого проекту ресурси.
  • Використовуйте готові рішення. Базовий рівень захисту забезпечать безкоштовні сервіси. Серйозні технічні рішення вимагатимуть грошей, але у випадку інтернет-магазину чи іншого комерційного сайту простій може вийти ще дорожче.
  • Настройте на вашому сервері. Використовуйте розподіл трафіку між двома веб-серверами. Наприклад: Apache і проксі-сервер Nginx. Зверніться за цим до свого хостинг-провайдера. Зазвичай є готові рішення.
  • Займіться оптимізацією запитів. Постарайтеся уникати важких запитів, зробивши рефакторинг коду, додавши відсутні індекси бази даних та інше. Коли їх занадто багато, велика ймовірність відмови сервера навіть без DDoS-атаки.
  • Оптимізуйте швидкість роботи сайту. Ніж «важче» ваш сайт, тим простіше зловмисникам його «повалити». Ви впевнені, що вам потрібні всі «красоти», що споживають багато ресурсів? Але й переборщувати не варто — аскетичний сайт родом з 90-х буде працювати швидко, але от добре конвертувати в 2017 році — навряд чи.
  • І як ложки дьогтю: безпека безпекою, але не варто встановлювати злісну капчу на вході для кожного користувача на постійній основі. Це найефективніший спосіб відвадити половину клієнтів. Починайте з малого і удосконалюйте систему захисту ресурсу по мірі зростання бізнесу.

    В скарбничку любителям цікавих посилань:

    • Norse Attacking Map. Красива, але не дуже інформативна інтерактивна карта кібератак в режимі онлайн. Показує переважно віртуальні війни США з рештою світу.
    • Карта кіберзагроз «Лабораторії Касперського». Відстежує вилов комп’ютерних вірусів. Є статистика кількості заражень і типів вірусів по всьому світу і окремих країн. Можна встановити віджет на сайті або завантажити заставку «хранителя екрану».
    • Digital Attack Map. Спільна розробка Google і Arbor Networks. За запевненням творців, найбільша система в світі, охоплює близько третини світового інтернет-трафіку. Є стрічка DDoS-атак з 2012 року, можна подивитися статистику за будь-який день.