Як WAF Imperva забезпечує безпеку ваших вебресурсів

Вітаю всіх, хто читає цю статтю! Це знову я, майбутній експерт з кібербезпеки України — Антон Калакуцький, аналітик першої лінії SOC в компанії IT Specialist, ветеран та інвалід внаслідок війни! Давно вже не писав нічого нового на DOU, і днями подумав, що час настав.

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

Одразу зазначу для замовників компанії, в якій зараз працюю — всі скріншоти були взяті з мережі, і я нічого і нікого не засвітив :) Ну а тепер почнемо!

Що таке WAF

WAF (Web Application Firewall) — це веб-брандмауер, який захищає вебзастосунки від різних кібератак. Його основна функція полягає в моніторингу та фільтрації HTTP/HTTPS-трафіку між інтернетом і вебзастосунками. Це дозволяє запобігати атакам, спрямованим на їхні слабкі місця, як-то SQL-ін’єкції, XSS (міжсайтовий скриптинг), DDoS-атаки та інші.

Тепер трохи детальніше про WAF Imperva. Це хмарний (Cloud-Based) WAF. Тобто Imperva пропонує хмарне рішення для захисту вебзастосунків, яке працює за моделлю SaaS (Software as a Service).

Основні функції та принцип роботи Imperva WAF

Аналіз HTTP/HTTPS-трафіку

Imperva перехоплює весь вхідний і вихідний трафік, перевіряючи його на наявність шкідливих запитів.
Всі HTTP/HTTPS-запити перевіряються на відповідність правилам політик безпеки. Якщо виявлено щось підозріле або небезпечне, запит блокується.

Захист від OWASP Top 10

  • SQL-ін’єкції: запобігання несанкціонованим запитам до баз даних.
  • XSS (Cross-Site Scripting): захист від вставки шкідливих JavaScript-скриптів у вебсторінки.
  • Remote File Inclusion (RFI) та Local File Inclusion (LFI): захист від спроб включення небезпечних файлів.

Фільтрація на рівні застосунків

Imperva може блокувати специфічні типи запитів на основі вмісту HTTP-запитів, таких як ключові слова, розширення файлів, структура URL тощо.

Детекція ботів

Важливою функцією є Advanced Bot Protection, яка дозволяє виявляти і блокувати шкідливі боти, що можуть використовуватися для атак, включаючи brute force, web scraping, DDoS та інші автоматизовані атаки.
Містить функцію Account Takeover — захист від спроб злому облікових записів користувачів.

  • Захист від DDoS-атак

    Imperva WAF забезпечує захист від DDoS-атак, фільтруючи підозрілий трафік та обмежуючи доступ до серверів для забезпечення їх безперебійної роботи.

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

    Звіти та аналітика
    Imperva надає детальну аналітику атак і трафіку через панель керування. Це дає змогу відстежувати підозрілу активність, кількість заблокованих атак, трафік від ботів тощо.

    Attack Analytics
    Допомагає отримати інформацію про потенційні загрози та аналізувати джерела атак.

    SSL/TLS термінація
    WAF може термінувати (розшифровувати) SSL/TLS-з’єднання для аналізу зашифрованого трафіку. Після аналізу трафік може бути знову зашифрований і переданий на сервер.

    Переваги над локальними рішеннями:

    • Не вимагає значних технічних ресурсів на місці.
    • Швидке розгортання.
    • Оновлення і підтримка відбуваються автоматично на стороні провайдера.

    З власного досвіду скажу, що підтримка WAF Imperva відповідає дуже швидко і намагається максимально допомогти у вирішенні проблеми. Аж настільки, що пропонують дзвінок, щоб пояснити все наочно.

    Imperva Management Console

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

    Верхня панель інформації:

    • Websites (9). Кількість вебсайтів, що знаходяться під захистом WAF.
    • Protected Networks, Protected IPs, DNS zones. Метрики, що відображають кількість мереж, IP-адрес і DNS-зон, які захищає Imperva.
    • Time range. Last 7 days. Це вказує, що всі дані на панелі відображаються за останні 7 днів. Можна вибрати різний діапазон часу, в основному я дивлюсь за добу.

    Секція «Security» (Безпека). Ця секція містить ключові показники, пов’язані з виявленими порушеннями безпеки, атаками та іншими інцидентами:

    • WAF Violations (38 sessions, 153 events):
      • WAF Violations (Порушення політик WAF). Ця метрика відображає кількість сесій і подій, у яких було зафіксовано порушення політик безпеки.
      • 38 sessions. Кількість сесій, де відбулися порушення правил безпеки, визначених у WAF. Це може означати, що на ці сесії були спроби провести несанкціоновані дії або атаки.
      • 153 events. Загальна кількість порушень або спроб проведення атак. Події можуть включати блокування, попередження або інші реакції на загрози.
      • 111.1%. Це відсоткове збільшення кількості сесій із порушеннями порівняно з попереднім періодом. Великий відсоток може свідчити про загострення атак або загроз.
    • Alerted events (2). Кількість подій, на які система згенерувала попередження. Це ситуації, коли атака або підозріла активність не була автоматично заблокована, але була помічена для подальшого аналізу.
    • Blocked events (151). Це події, які були заблоковані WAF. Тобто система автоматично заблокувала доступ або зупинила атаку в реальному часі.

    Mitigated Bot Attacks (8). Вказує на кількість атак ботів, які система виявила і заблокувала. Боти можуть виконувати різні завдання, наприклад, спроби сканування вразливостей, DDoS-атаки або автоматизовані атаки з метою отримання несанкціонованого доступу.

    • 0%. Це означає, що кількість заблокованих ботів не змінилася порівняно з попереднім періодом.
    • Поділ на:
      • Captcha (0). Кількість подій, де користувачеві було запропоновано пройти тест CAPTCHA для визначення, чи є він людиною або ботом.
      • Identify (0). Ідентифіковані запити, які були зупинені без блокування (наприклад, через запит додаткових даних).
      • Blocked (8). Заблоковані атаки ботів, тобто спроби доступу були припинені.

    Volumetric DDoS attacks (0). Кількість атак типу DDoS (розподілене відмовлення в обслуговуванні), які спрямовані на перенавантаження сервісу великою кількістю запитів.

    Attack Analytics incidents (0). Кількість інцидентів, які були детально проаналізовані системою Imperva. Це включає в себе атаки, що потребували глибшого аналізу або взаємодії з аналітичною системою.

    Графік «Security events». Цей графік відображає хронологію подій безпеки за останні 7 днів. Нижче наведені основні метрики:

    • WAF events (141). Кількість подій, пов’язаних з роботою WAF. Це події, коли було порушено правила, або коли система виявила загрози.
    • ACL events (12). Події, пов’язані з правилами доступу (Access Control List). ACL контролює, хто і які ресурси може використовувати.
    • Mitigated bot attacks (8). Це заблоковані атаки ботів, що вказують на їхню активність.
    • Volumetric DDoS attacks (0). Кількість атак на об’єм трафіку, таких як атаки типу DDoS, дорівнює нулю.

    Секція «Top attacked websites». Тут показано вебсайти, які зазнали найбільшої кількості атак. В таблиці вказано:

    • Website. Адреса сайту, що зазнала атак (дані анонімізовані).
    • Events. Кількість подій або атак на кожен сайт.
      • Один вебсайт зазнав 140 атак, що є значним підвищенням на 833.3% у порівнянні з попереднім періодом.
      • Другий вебсайт зазнав лише 1 атаку.

    Секція «Performance» (Продуктивність). Ця секція відображає статистику щодо обробки запитів системою Imperva. Основні показники:

    • Total requests (3.2K). Загальна кількість запитів до сервера або вебсайту за останні 7 днів. Зростання на 7.1% порівняно з попереднім періодом свідчить про збільшення трафіку.
    • Requests with errors (1.1K). Кількість запитів, які призвели до помилок. Це може бути через несправності системи або спроби атаки. Зростання на 26.3% може вказувати на підвищену кількість невдалих або заблокованих спроб доступу.
    • Cached requests (144). Це запити, оброблені з використанням кешу. Вони допомагають зменшити навантаження на сервери, прискорюючи відповідь на часто повторювані запити. Зростання на <1% показує невелике збільшення використання кешування.
    • Cached bandwidth (9.47MB). Об’єм даних, які були передані через кеш. Цей показник зменшився на 3.8%, що може свідчити про зміни в структурі трафіку або меншу кількість повторюваних запитів.

    Вкладки:

    • View dashboard. Ця кнопка перенаправляє на більш детальну панель, де можна детальніше переглянути інформацію про певну метрику (наприклад, події WAF або атаки ботів).
    • Website DDoS. Вкладка для перегляду деталей атак на вебсайти типу DDoS.
    • Network DDoS. Вкладка для перегляду атак DDoS на рівні мережі.

    Панель «Account»:

    • Account Management. Доступ до управління акаунтом.
    • My Profile. Доступ до налаштувань профілю.
    • Sign Out. Вихід із системи.

    Думаю, все зрозуміло. Тепер перейдемо до тих вкладок, з якими я в основному працюю. Наприклад, вкладка «Application». Там в моєму випадку відбувається вся магія захисту!

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

    На основі скріншоту у вас відкрита панель управління в Imperva — платформі захисту вебзастосунків та даних, що використовується для моніторингу та управління веб-сайтами, захисту від атак на них через Web Application Firewall (WAF), а також інших загроз. Ось огляд вкладок, які видно на скріншоті:

    1. Websites
      Тут відображаються веб-сайти, які захищає WAF від Imperva. У цій вкладці представлено метрики для кожного сайту, зокрема:
      • Bandwidth (30 days): обсяг переданих даних за останні 30 днів.
      • Human Visits: кількість візитів, що визначені як людські (не автоматичні).
      • Bot Visits: кількість візитів від ботів (наприклад, пошукових систем або автоматичних сканерів).
      • WAF Sessions: кількість сесій, які пройшли через WAF.
      • Creation Date: дата створення запису для кожного сайту.
      • Status: відображає статус захисту ресурсу (зазвичай «захищено», що позначено зеленим значком).
    2. WAF (Web Application Firewall)
      Ця вкладка відповідає за захист вебзастосунків від типових атак, таких як SQL-ін’єкції, XSS (міжсайтові скрипти), DoS-атаки та інші загрози. Imperva WAF аналізує трафік і фільтрує зловмисний, дозволяючи лише безпечний доступ до сайту.
    3. API Security
      Відповідає за захист API від зловмисних запитів. API є частою ціллю для атак, оскільки вони відкривають можливість прямого доступу до внутрішньої логіки сервісу, тому їхня безпека має важливе значення.
    4. Advanced Bot Protection
      Захищає від зловмисних ботів. Наприклад, таких, що намагаються зібрати інформацію з сайту, запускати brute-force атаки або здійснювати DDoS. Відрізняє «хороших» ботів (як Google) від зловмисних і блокує підозрілу активність.
    5. Client Side Protection
      Відповідає за захист взаємодії користувача з веб-додатком на стороні клієнта. Це може включати захист від загроз, що атакують браузер користувача або впливають на взаємодію клієнта з сервісом.
    6. SSL/TLS
      Нова вкладка для управління SSL-сертифікатами та забезпечення безпечного шифрованого з’єднання для сайтів.
    7. Runtime Protection
      Також нова вкладка. Забезпечує захист під час виконання коду в реальному часі, що може бути корисним для виявлення й блокування атак у момент їх здійснення.
    8. Attack Analytics
      Аналітика атак дозволяє детально переглядати, які атаки були здійснені на сайти, які методи використовували зловмисники, і які атаки були заблоковані WAF.
    9. Security Events
      Ця вкладка показує всі безпекові події, що сталися за певний період часу, з детальною інформацією про атаки та дії, які були вжиті для їх блокування.
    10. Troubleshooting
      Вкладка для вирішення проблем і налагодження. Вона може містити журнали помилок або попередження про можливі проблеми з налаштуваннями.
    11. Reputation Intelligence
      Система інтелектуальної оцінки репутації IP-адрес, що аналізує підозрілий трафік з усього світу та визначає, чи є запити зловмисними на основі глобальної бази даних репутації.

    Одразу скажу, що я в основному працюю з вкладками Attack Analytics та Security Events, адже саме в них ми можемо детально розглянути всі атаки, які були здійснені на наші ресурси.

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

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

    На скріні вище ви можете бачити основні вкладки при налаштуванні безпеки вебресурсу в Imperva Management Console.

    Origin Servers:

    • Налаштування балансування навантаження між серверами.
    • Визначення правил маршрутизації трафіку.
    • Конфігурація перевірок працездатності серверів.
    • Налаштування SSL/TLS для з’єднань з вихідними серверами.
    • Управління заголовками запитів та відповідей.

    General:

    • Вибір режиму роботи WAF (моніторинг, блокування).
    • Налаштування політик кешування та стиснення контенту.
    • Конфігурація DDoS-захисту на рівні додатків.
    • Управління конфігурацією SSL/TLS для клієнтських з’єднань.
    • Налаштування географічної фільтрації.

    Login Protect:

    • Налаштування двофакторної автентифікації.
    • Встановлення лімітів на спроби входу.
    • Конфігурація захисту від атак на підбір паролів.
    • Налаштування політик складності паролів.
    • Управління сесіями та їх тайм-аутами.

    Security:

    • Створення та управління правилами безпеки.
    • Налаштування захисту від SQL-ін’єкцій, XSS та інших атак.
    • Конфігурація захисту від витоку даних.
    • Управління IP-репутацією та чорними списками.
    • Налаштування захисту API.

    WAF:

    • Тонке налаштування правил фільтрації запитів та відповідей.
    • Конфігурація захисту від OWASP Top 10 вразливостей.
    • Налаштування поведінкового аналізу для виявлення аномалій.
    • Створення користувацьких правил безпеки.
    • Управління виключеннями для правил WAF.

    Notifications:

    • Налаштування email-сповіщень про інциденти безпеки.
    • Інтеграція з системами SIEM для логування подій.
    • Конфігурація сповіщень через SMS або месенджери.
    • Налаштування порогів тригерів для різних типів сповіщень.
    • Створення користувацьких шаблонів сповіщень.

    Permissions:

    • Створення ролей з різними рівнями доступу.
    • Налаштування багатофакторної автентифікації для адміністраторів.
    • Управління доступом на основі IP-адрес.
    • Налаштування аудиту дій користувачів.
    • Інтеграція з корпоративними системами управління доступом.

    Хочу додати, що WAF Imperva надає захист за базовими правилами, які йдуть з коробки. Також можна самостійно налаштувати ACL (Access Control List) — це список правил, які контролюють доступ до ресурсів у мережі або на окремому пристрої.

    Основні функції ACL:

    • Контроль доступу. ACL дозволяє визначити, який трафік дозволений або заборонений для доступу до мережевих пристроїв або додатків.
    • Фільтрація трафіку. Використовується для фільтрації трафіку на маршрутизаторах, комутаторах або брандмауерах, що дає змогу вибірково дозволяти або блокувати пакети на основі заданих критеріїв.
    • Безпека. Забезпечує базовий рівень безпеки, обмежуючи доступ до певних ресурсів для певних користувачів або мереж.

    А ще для кожного ресурсу можна прописати кастомні правила, тобто підлаштувати WAF під ваші потреби!

    Ну і хочу додати, що всі ці правила дуже легко підключаються і відключаються.

    Imperva SecureSphere Policies Language

    До речі, кастомні правила пишуться на Imperva SecureSphere Policies Language — це спеціальна мова політик, яка дає змогу створювати та налаштовувати правила безпеки відповідно до потреб конкретної організації.

    Основні характеристики цієї мови:

    • Мова орієнтована на мережевий трафік та HTTP-запити.
    • Використовуються вирази для фільтрації трафіку за різними параметрами, такими як заголовки HTTP, тіла запитів, методи, типи файлів та інші метадані трафіку.
    • Можна використовувати регулярні вирази (Regular Expressions) для пошуку специфічних шаблонів у трафіку.
    • Правила можуть включати умови та дії, які визначають, як саме повинен реагувати WAF на певний тип трафіку.

    Але не турбуйтесь — не потрібно багато часу, щоб вивчити її й почати використовувати. Там все дуже легко і просто!


    Оце я порозписував тут, сам в шоці. До речі, під час написання цієї статті сам багато чого нового дізнався, і це, блін, круто! Треба все ж виділити час та прочитати офіційну документацію по WAF Imperva, щоб надавати ще більш якісні послуги захисту замовникам. Та й для професійного зростання це не буде зайвим!

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

  • 👍ПодобаєтьсяСподобалось6
    До обраногоВ обраному2
    LinkedIn
    Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
    Ctrl + Enter
    Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
    Ctrl + Enter

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

    Ті, хто потребує гнучкості та ручної кастомізації можуть розглянути on-premise Imperva WAF.

    P.S. В цій статті намішаний функціонал з інших типів підписок — з Network і DNS protection, on-prem WAF і ThreatRadar.

    о бачите, навіть з коментарів нове дізнаюсь! Дякую за уточнення)

    Гарна стаття 👍

    Чи розглядали cloudflare ?

    В них поперше є free пакети (і для більшості small може навіть medium бізнесу його вистачає. Особисто в мене десяток сайтів власних за ним. І це default мій сетеп сайту goddady (domain) -> cloudflare (dns/cdb/waf) -> scaleway (cloud servers) ).
    в Imperva — тіки trial
    cloudflare — має суттеву долю ринку відповідно і швидше бачить нові типи атак/бот мережі ітд
    cloudflare — надає безкоштовний захист ряду укр державних сервісів з початком війни

    мінуси — ціни певно, коли ти вже великий кліент для них.
    cloudflare не прибрали свої сервери з рашки (іноді трафік з укр роутится через них навіть) =(
    слідують принципу мережевого нетралітету (відповідно інфо помийку якусь рашки/днр ітд — по абузі не викидують, а чекають офіційного рішення від сша — санкцій проти ітд)
    це як + так і — звісно
    бо реакцій юристів тролів/трейдмарк моніторів теж — норм обробляють а не дають 48г як діджиталокеан без розбору кейсу

    у нас є в компанії проєкти, які захищені CLoudflare. Але я з ним сильно не працював(

    Підписатись на коментарі