Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Калі верыць статыстыцы, аб'ём сеткавага трафіку павялічваецца прыкладна на 50 працэнтаў кожны год. Гэта прыводзіць да росту нагрузкі на абсталяванне і, у прыватнасці, павялічвае патрабаванні да прадукцыйнасці IDS/IPS. Можна купляць дарагое спецыялізаванае жалеза, але ёсць варыянт танней - укараненне адной з сістэм з адкрытым зыходным кодам. Многія пачаткоўцы адміністратары лічаць, быццам усталяваць і сканфігураваць бясплатную IPS даволі складана. У выпадку з Suricata гэта не зусім дакладна паставіць і яе і пачаць адлюстроўваць тыпавыя напады з наборам бясплатных правіл можна за некалькі хвілін.

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata
Snort ці Suricata. Частка 1: выбіраемы бясплатную IDS/IPS для абароны карпаратыўнай сеткі

Навошта патрэбная яшчэ адна адкрытая IPS?

Доўгі час якая лічылася стандартам сістэма Snort распрацоўваецца з канца дзевяностых, таму першапачаткова яна была аднаструменнай. За доўгія гады ў ёй з'явіліся ўсе сучасныя фішкі, накшталт падтрымкі IPv6, магчымасці аналізу пратаколаў прыкладнога ўзроўня ці ўніверсальны модуль доступу да дадзеных.

Базавы рухавічок Snort 2.X навучыўся працаваць з некалькімі ядрамі, але так і застаўся аднаструменным і таму не можа аптымальна выкарыстоўваць перавагі сучасных апаратных платформаў.

Праблема была вырашана ў трэцяй версіі сістэмы, але яе рыхтавалі так доўга, што на рынку паспела з'явіцца напісаная з нуля Suricata. У 2009 годзе яе пачалі распрацоўваць менавіта як шматструменную альтэрнатыву Snort, якая валодае са скрынкі функцыямі IPS. Код распаўсюджваецца пад ліцэнзіяй GPLv2, але фінансавыя партнёры праекту маюць доступ да зачыненай версіі рухавічка. Некаторыя праблемы з маштабаванасцю ў першых версіях сістэмы ўзнікалі, але яны даволі хутка былі вырашаны.

Чаму Suricata?

У Suricata ёсць некалькіх модуляў (як і ў Snort): захопу, збору, дэкадаванні, выяўленні і высновы. Па змаўчанні захоплены трафік ідзе да дэкадавання адным струменем, хоць гэта больш нагружае сістэму. Пры неабходнасці патокі можна падзяліць у наладах і размеркаваць па працэсарах - Suricata вельмі добра аптымізуецца пад канкрэтнае жалеза, хоць гэта ўжо не ўзровень HOWTO для пачаткоўцаў. Варта таксама адзначыць наяўнасць у Suricata заснаваных на бібліятэцы HTP прасунутых сродкаў інспектавання HTTP. Яны ж могуць быць выкарыстаны для пратакалявання трафіку без дэтэктавання. Сістэма таксама падтрымлівае дэкадаванне IPv6, уключаючы тунэлі IPv4-in-IPv6, IPv6-in-IPv6 і іншыя.

Для перахопу трафіку могуць выкарыстоўвацца розныя інтэрфейсы (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), а ў рэжыме Unix Socket можна аўтаматычна аналізаваць захопленыя іншым сніферам файлы PCAP. Акрамя таго, модульная архітэктура Suricata спрашчае падлучэнне новых элементаў для захопу, дэкадаванні, аналізу і апрацоўкі сеткавых пакетаў. Важна таксама адзначыць, што ў Suricata блакіроўка трафіку ажыццяўляецца сродкамі штатнага фільтра аперацыйнай сістэмы. У GNU/Linux даступна два варыянты працы IPS: праз чаргу NFQUEUE (рэжым NFQ) і праз zero copy (рэжым AF_PACKET). У выпадку першым выпадку які трапляе ў iptables пакет накіроўваецца ў чаргу NFQUEUE, дзе можа апрацоўвацца на карыстацкім узроўні. Suricata праганяе яго па сваіх правілах і выносіць адзін з трох вердыктаў: ​​NF_ACCEPT, NF_DROP і NF_REPEAT. Першыя два тлумачэнні не патрабуюць, а апошні дазваляе прамаркіраваць пакеты і адправіць іх у пачатак бягучай табліцы iptables. Рэжым AF_PACKET адрозніваецца больш высокай хуткадзейнасцю, але накладвае на сістэму шэраг абмежаванняў: яна павінна мець два сеткавых інтэрфейсу і працаваць у якасці шлюза. Заблакаваны пакет проста не перасылаецца на другі інтэрфейс.

Важная фішка Suricata - магчымасць выкарыстання напрацовак для Snort. Адміністратару даступныя, у прыватнасці, наборы правіл Sourcefire VRT і OpenSource Emerging Threats, а таксама камерцыйныя Emerging Threats Pro. Уніфікаваную выснову можна аналізаваць з дапамогай папулярных бэкэндаў, таксама падтрымліваецца выснова ў PCAP і Syslog. Настройкі сістэмы і правілы захоўваюцца ў файлах фармату YAML, які лёгка чытаецца і можа апрацоўвацца аўтаматычна. Рухавічок Suricata распазнае мноства пратаколаў, таму ў правілах няма неабходнасці прывязвацца да нумара порта. Акрамя таго, у правілах Suricata актыўна практыкуецца канцэпцыя flowbits. Для адсочвання спрацоўвання выкарыстоўваюцца зменныя сесіі, якія дазваляюць ствараць і прымяняць розныя лічыльнікі і сцягі. Многія IDS разглядаюць розныя TCP-злучэнні як асобныя сутнасці і могуць не ўбачыць сувязі паміж імі, якая сведчыць аб пачатку нападу. Suricata імкнецца бачыць карціну цалкам і ў шматлікіх выпадках распазнае размеркаваны па розных злучэннях шкоднасны трафік. Аб яе перавагах можна разважаць доўга, мы лепш пяройдзем да ўсталёўкі і наладзе.

Як усталяваць?

Мы будзем усталёўваць Suricata на віртуальны сервер, які працуе пад кіраваннем Ubuntu 18.04/XNUMX LTS. Усе каманды неабходна выконваць ад імя суперкарыстальніка (root). Найбольш бяспечны варыянт - падлучыцца да сервера па SSH з правамі звычайнага карыстальніка, а затым прымяніць утыліту sudo для павышэння прывілеяў. Для пачатку неабходна ўсталяваць пакеты, якія нам спатрэбяцца:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

Падлучальны вонкавы рэпазітар:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

Усталёўваны апошнюю стабільную версію Suricata:

sudo apt-get install suricata

Пры неабходнасці правім канфігурацыйныя файлы імя, замяніўшы які выкарыстоўваецца па змаўчанні eth0 на фактычнае імя вонкавага інтэрфейсу сервера. Налады па змаўчанні захоўваюцца ў файле /etc/default/suricata, а карыстацкія - у /etc/suricata/suricata.yaml. Настройка IDS па большай частцы абмяжоўваецца праўкай гэтага канфігурацыйнага файла. У ім мноства параметраў, якія па назове і прызначэнню супадаюць з аналогамі з Snort. Сінтаксіс тым не менш зусім іншы, але файл чытаць нашмат прасцей чым канфігі Snort, да таго ж ён добра пракаментаваны.

sudo nano /etc/default/suricata

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Увага! Перад запускам варта праверыць значэнні зменных з часткі vars.

Каб завяршыць наладу спатрэбіцца ўсталяваць suricata-update для абнаўлення і загрузкі правіл. Зрабіць гэта даволі проста:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

Далей нам трэба запусціць каманду suricata-update для ўсталёўкі набору правіл Emerging Threats Open:

sudo suricata-update

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Для прагляду спісу крыніц правіл выконваем наступную каманду:

sudo suricata-update list-sources

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Абнаўляем крыніцы правіл:

sudo suricata-update update-sources

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Паўторна праглядаем абноўленыя крыніцы:

sudo suricata-update list-sources

Пры неабходнасці можна ўключыць даступныя бясплатныя крыніцы:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

Пасля гэтага неабходна яшчэ раз абнавіць правілы:

sudo suricata-update

На гэтым усталёўку і першасную наладу Suricata у Ubuntu 18.04/XNUMX LTS можна лічыць скончанай. Далей пачынаецца самае цікавае: у наступным артыкуле мы падключым віртуальны сервер да офіснай сеткі праз VPN і пачнем аналізаваць увесь уваходны і выходны трафік. Адмысловая ўвага надамо блакаванню нападаў DDoS, актыўнасці шкоднаснага ПА і спробам эксплуатацыі ўразлівасцяў у даступных з сетак агульнага карыстання сэрвісаў. Для навочнасці будуць змадэляваныя напады найболей распаўсюджаных тыпаў.

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Snort ці Suricata. Частка 2: усталёўка і першасная налада Suricata

Крыніца: habr.com

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