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's 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

Дадаць каментар