Snort або Suricata. Частина 1: вибираємо безкоштовну IDS/IPS для захисту корпоративної мережі

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

Snort або Suricata. Частина 1: вибираємо безкоштовну IDS/IPS для захисту корпоративної мережі

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

Класифікація IDS/IPS

IDS (Intrusion Detection System) – призначена для реєстрації підозрілих дій у мережі або на окремому комп'ютері система. Вона веде журнали подій та повідомляє про них відповідального за інформаційну безпеку співробітника. У складі IDS можна виділити такі елементи:

  • сенсори для перегляду мережного трафіку, різних журналів тощо. 
  • підсистему аналізу, що виявляє в отриманих даних ознаки шкідливого впливу;
  • сховище для накопичення первинних подій та результатів аналізу;
  • консоль керування.

Спочатку IDS класифікувалися за місцем розташування: вони могли бути орієнтовані на захист окремих вузлів (host-based або Host Intrusion Detection System - HIDS) або захищати всю корпоративну мережу (network-based або Network Intrusion Detection System - NIDS). Варто згадати т.зв. APIDS (Application protocol-based IDS): вони відстежують обмежений набір протоколів прикладного рівня виявлення специфічних атак і займаються глибоким аналізом мережевих пакетів. Такі продукти зазвичай нагадують проксі та використовуються для захисту конкретних сервісів: веб-сервера та веб-додатків (наприклад, написаних на PHP), сервера баз даних тощо. Типовий представник цього класу – mod_security для веб-сервера Apache.

Нас більше цікавлять універсальні NIDS, які підтримують широкий набір комунікаційних протоколів та технології глибокого аналізу пакетів DPI (Deep Packet Inspection). Вони моніторять весь трафік, починаючи з канального рівня, і виявляють широкий спектр мережевих атак, а також спроби неавторизованого доступу до інформації. Часто такі системи відрізняються розподіленою архітектурою та можуть взаємодіяти з різним активним мережевим обладнанням. Зазначимо, що багато сучасних NIDS є гібридними і поєднують кілька підходів. Залежно від конфігурації та налаштувань вони можуть вирішувати різні завдання, наприклад захист одного вузла або всієї мережі. До того ж функції IDS для робочих станцій взяли він антивірусні пакети, які через поширення спрямованих на крадіжку інформації троянів перетворилися на багатофункціональні брандмауери, вирішальні зокрема завдання розпізнавання і блокування підозрілого трафіку.

Спочатку IDS могли тільки виявляти дії шкідливого програмного забезпечення, роботу сканерів портів, або, скажімо, порушення користувачами корпоративних політик безпеки. При настанні певної події вони повідомляли адміністратора, але досить швидко стало зрозуміло, що просто розпізнати атаку недостатньо її потрібно заблокувати. Так IDS трансформувалися на IPS (Intrusion Prevention Systems) — системи запобігання вторгнень, здатні взаємодіяти з мережевими екранами.

Методи виявлення

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

  • Сигнатурні IDS/IPS виявляють у трафіку деякі шаблони чи відстежують зміни стану систем визначення мережевої атаки чи спроби зараження. Вони практично не дають осічок та хибних спрацьовувань, але не здатні виявити невідомі загрози;
  • Аномалії IDS, що виявляють, не використовують сигнатури атак. Вони розпізнають поведінку інформаційних систем, що відрізняється від нормальної (включаючи аномалії в мережевому трафіку) і можуть визначити навіть невідомі атаки. Такі системи дають чимало помилкових спрацьовувань і за неписьменному використанні паралізують роботу локальної мережі;
  • Засновані на правилах IDS працюють за принципом: if ФАКТ then ДІЯ. По суті, це експертні системи з базами знань — сукупністю фактів і правил логічного висновку. Такі рішення трудомісткі у налаштуванні та вимагають від адміністратора детального розуміння роботи мережі. 

Історія розвитку IDS

Епоха бурхливого розвитку Інтернету та корпоративних мереж розпочалася у 90-ті роки минулого століття, проте просунутими технологіями мережевої безпеки фахівці спантеличені трохи раніше. В 1986 Дороті Деннінг і Пітер Нейман опублікували модель IDES (Intrusion detection expert system), що стала основою більшості сучасних систем виявлення вторгнень. Вона використовувала експертну систему для визначення відомих видів атак, а також статистичні методи та профілі користувачів/систем. IDES запускалася на робочих станціях Sun, перевіряючи мережевий трафік та дані додатків. В 1993 вийшла NIDES (Next-generation Intrusion Detection Expert System) - експертна система виявлення вторгнень нового покоління.

На основі робіт Деннінга та Неймана в 1988 році з'явилася експертна система MIDAS (Multics intrusion detection and alerting system), що використовує P-BEST та LISP. Тоді ж було створено засновану на статистичних методах систему Haystack. Ще один статистичний детектор аномалій W&S (Wisdom & Sense) роком пізніше розробили у Лос-Аламоській Національній лабораторії. Розвиток галузі йшов швидкими темпами. Наприклад, 1990 року у системі TIM (Time-based inductive machine) вже було реалізовано виявлення аномалій з допомогою індуктивного навчання на послідовних патернах користувача (мова Common LISP). NSM (Network Security Monitor) для виявлення аномалій порівнював матриці доступу, а ISOA (Information Security Officer Assistant) підтримував різні стратегії виявлення: статистичні методи, перевірку профілю та експертну систему. Створена в AT&T Bell Labs система ComputerWatch використовувала для перевірки та статистичні методи та правила, а перший прототип розподіленої IDS розробники Університету Каліфорнії отримали ще 1991 року – DIDS (Distributed intrusion detection system) за сумісництвом була і експертною системою.

Спочатку IDS були пропрієтарними, але вже 1998 року Національна лабораторія ім. Лоуренса в Берклі випустила Bro (у 2018 році вона була перейменована на Zeek) — систему з відкритим вихідним кодом, яка використовує власну мову правил аналізу даних libpcap. У листопаді того ж року з'явився використовуючий libpcap сніфер пакетів APE, який через місяць був перейменований в Snort, а пізніше став повноцінною IDS/IPS. Тоді почали з'являтися і численні пропрієтарні рішення.

Snort та Suricata

Багато компаній віддають перевагу безкоштовним IDS/IPS з відкритим вихідним кодом. Довгий час стандартним рішенням вважалася вже згадана Snort, але зараз її потіснила система Suricata. Розглянемо їх переваги та недоліки трохи докладніше. Snort комбінує переваги сигнатурного методу із можливістю виявлення аномалій у реальному часі. Suricata також дозволяє використовувати інші методи, крім розпізнавання атак по сигнатурах. Система була створена групою розробників, що відокремилася від проекту Snort, і підтримує функції IPS, починаючи з версії 1.4, а в Snort можливість запобігання вторгненням з'явилася пізніше.

Основна відмінність між двома популярними продуктами полягає в наявності у Suricata можливості використання GPU для обчислень в режимі IDS, а також більш просунутої IPS. Система спочатку розрахована на багатопотоковість, тоді як Snort - продукт однопотоковий. Через свою давню історію та успадкований код він не оптимально використовує багатопроцесорні/багатоядерні апаратні платформи, тоді як Suricata на звичайних комп'ютерах загального призначення дозволяє обробляти трафік до 10 Гбіт/сек. Про подібності та відмінності двох систем можна розмірковувати довго, але хоча двигун Suricata і працює швидше, для не дуже широких каналів це не має важливого значення.

Варіанти розгортання

IPS необхідно розмістити таким чином, щоб система могла спостерігати за підконтрольними сегментами мережі. Найчастіше це виділений комп'ютер, один інтерфейс якого підключається після прикордонних пристроїв і «дивиться» через них незахищені мережі загального користування (Інтернет). Інший інтерфейс IPS підключається на вхід сегмента, що захищається, щоб весь трафік проходив через систему і аналізувався. У більш складних випадках сегментів, що захищаються, може бути кілька: скажімо, в корпоративних мережах часто виділяють демілітаризовану зону (DMZ) з доступними з Інтернету сервісами.

Snort або Suricata. Частина 1: вибираємо безкоштовну IDS/IPS для захисту корпоративної мережі

Така IPS може запобігати спробам сканування портів або злому за допомогою перебору паролів, експлуатації вразливостей у поштовому сервері, веб-сервері або скриптах, а також інші різновиди зовнішніх атак. У випадку, якщо комп'ютери локальної мережі будуть заражені шкідливим програмним забезпеченням, IDS не дозволить їм зв'язатися з розташованими зовні серверами ботнета. Для більш серйозного захисту внутрішньої мережі швидше за все буде потрібна складна конфігурація з розподіленою системою і недешевими керованими комутаторами, здатними дзеркалувати трафік для підключеного до одного з портів інтерфейсу IDS.

Часто корпоративні мережі зазнають розподілених атак, спрямованих на відмову в обслуговуванні (DDoS). Хоча сучасні IDS вміють з ними боротися, наведений вище варіант розгортання навряд чи допоможе. Система розпізнає шкідливу активність та заблокує паразитний трафік, але для цього пакети мають пройти через зовнішнє інтернет-підключення та потрапити на її мережевий інтерфейс. Залежно від інтенсивності атаки, канал передачі може не впоратися з навантаженням і мета зловмисників буде досягнуто. Для таких випадків ми рекомендуємо розгортати IDS на віртуальному сервері з більш продуктивним інтернет-з'єднанням. Підключити VPS до локальної мережі можна через VPN, а потім потрібно налаштувати через нього маршрутизацію всього зовнішнього трафіку. Тоді у випадку DDoS-атаки не доведеться ганяти пакети через підключення до провайдера, вони будуть заблоковані на зовнішньому вузлі.

Snort або Suricata. Частина 1: вибираємо безкоштовну IDS/IPS для захисту корпоративної мережі

проблема вибору

Виявити лідера серед безкоштовних систем дуже складно. Вибір IDS/IPS визначається топологією мережі, потрібними функціями захисту, а також особистими перевагами адміну та його бажанням поводитися з налаштуваннями. Snort має більш давню історію і краще документований, хоча і Suricata інформацію також неважко знайти в мережі. У будь-якому випадку для освоєння системи доведеться докласти певних зусиль, які зрештою окупляться — комерційні апаратні та апаратно-програмні IDS/IPS коштують досить дорого і не завжди поміщаються до бюджету. Жаліти про витрачений час не варто, бо хороший адмін завжди підвищує кваліфікацію за рахунок роботодавця. У цій ситуації усі залишаються у виграші. У наступній статті ми розглянемо деякі варіанти розгортання Suricata і практично порівняємо більш сучасну систему з класичною IDS/IPS Snort.

Snort або Suricata. Частина 1: вибираємо безкоштовну IDS/IPS для захисту корпоративної мережі

Snort або Suricata. Частина 1: вибираємо безкоштовну IDS/IPS для захисту корпоративної мережі

Джерело: habr.com

Додати коментар або відгук