Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

Wahi a nā helu helu, piʻi ka nui o ka ʻoihana pūnaewele ma kahi o 50% i kēlā me kēia makahiki. Ke alakaʻi nei kēia i ka hoʻonui ʻana i ka ukana ma nā mea hana a, ma ke ʻano nui, hoʻonui i nā koi hana o IDS / IPS. Hiki iā ʻoe ke kūʻai i nā lako lako kūikawā, akā aia kahi koho maʻalahi - hoʻokō i kekahi o nā ʻōnaehana open source. Manaʻo nā luna hoʻomalu hou he paʻakikī loa ka hoʻonohonoho ʻana a me ka hoʻonohonoho ʻana i kahi IPS manuahi. I ka hihia o Suricata, ʻaʻole ʻoiaʻiʻo loa kēia - hiki iā ʻoe ke hoʻouka a hoʻomaka i ka hoʻihoʻi ʻana i nā hoʻouka maʻamau me kahi hoʻonohonoho o nā lula manuahi i loko o kekahi mau minuke.

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata
Snort a i ʻole Suricata. Mahele 1: Ke koho ʻana i kahi IDS/IPS manuahi e pale i kāu pūnaewele hui

No ke aha mākou e makemake ai i kahi IPS wehe hou?

Ua noʻonoʻo lōʻihi i ka maʻamau, ua hoʻomohala ʻia ʻo Snort mai ka hopena o ka nineties, no laila ua hoʻomaka ʻia ʻo ia i hoʻokahi kaula. I loko o nā makahiki, ua loaʻa iā ia nā hiʻohiʻona hou a pau, e like me ke kākoʻo IPv6, ka hiki ke kālailai i nā protocol-level protocols, a i ʻole ka ʻike ʻikepili āpau.

Ua aʻo ʻia ka ʻenekini Snort 2.X e hana me nā cores he nui, akā ua hoʻomau ʻia i hoʻokahi kaula a no laila ʻaʻole hiki ke hoʻohana maikaʻi loa i nā paepae ʻenehana hou.

Ua hoʻoholo ʻia ka pilikia ma ke kolu o ka mana o ka ʻōnaehana, akā ua lōʻihi ka hoʻomākaukau ʻana a hiki i ka Suricata, i kākau ʻia mai ka wā ʻōpala, ke kū nei ma ka mākeke. I ka makahiki 2009, ua hoʻomaka ʻia e hoʻomohala pololei ʻia ma ke ʻano he ʻokoʻa multi-threaded iā Snort, nona nā hana IPS ma waho o ka pahu. Hāʻawi ʻia ke code ma lalo o ka laikini GPLv2, akā hiki i nā hoa kālā o ka papahana ke komo i kahi mana pani o ka mīkini. Ua kū mai kekahi mau pilikia me ka scalability i nā mana mua o ka ʻōnaehana, akā ua hoʻoholo koke ʻia lākou.

No ke aha ʻo Suricata?

Loaʻa iā Suricata kekahi mau modula (e like me Snort): hopu, loaʻa, decoding, ʻike a me ka hoʻopuka. Ma ka maʻamau, hele ka huakaʻi i hopu ʻia ma mua o ka hoʻokaʻawale ʻana i hoʻokahi kaula, ʻoiai ʻoi aku kēia i ka ʻōnaehana. Inā pono, hiki ke hoʻokaʻawale ʻia nā kaula i nā hoʻonohonoho a hoʻohele ʻia i waena o nā kaʻina hana - ʻoi loa ka maikaʻi o Suricata no nā lako kikoʻī, ʻoiai ʻaʻole kēia he pae HOWTO no nā mea hoʻomaka. He mea kūpono hoʻi e ʻike ʻia ua holomua ʻo Suricata i nā mea hana nānā HTTP e pili ana i ka waihona HTP. Hiki iā lākou ke hoʻohana no ka hoʻopaʻa inoa ʻana me ka ʻike ʻole. Kākoʻo pū ka ʻōnaehana IPv6 decoding, me IPv4-in-IPv6, IPv6-in-IPv6 tunnels a me nā mea ʻē aʻe.

Hiki ke hoʻohana ʻia nā ʻokoʻa like ʻole no ka hoʻopaʻa ʻana i nā kaʻa (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), a ma ke ʻano Unix Socket hiki iā ʻoe ke hoʻopaʻa i nā faila PCAP i hopu ʻia e kekahi sniffer. Eia hou, ua maʻalahi ka hoʻopili ʻana i nā mea hou no ka hoʻopili ʻana i nā mea hou no ka hopu ʻana, hoʻokaʻawale, hoʻokaʻawale a hoʻoponopono i nā ʻeke pūnaewele. He mea nui hoʻi e hoʻomaopopo ma Suricata, ua pāpā ʻia ke kaʻa me ka hoʻohana ʻana i ka kānana ʻōnaehana hana maʻamau. Ma GNU/Linux, loaʻa nā koho ʻelua no ka hana IPS: ma o ka queue NFQUEUE (mode NFQ) a ma o kope kope (AF_PACKET mode). I ka hihia mua, hoʻouna ʻia kahi packet e komo ana i nā iptables i ka queue NFQUEUE, kahi e hiki ai ke hana ʻia ma ka pae hoʻohana. Holo ʻo Suricata iā ia e like me kāna mau lula ponoʻī a hoʻopuka i hoʻokahi o nā ʻōlelo hoʻoholo ʻekolu: NF_ACCEPT, NF_DROP a me NF_REPEAT. ʻO nā mea mua ʻelua he wehewehe ponoʻī, akā ʻo ka mea hope e ʻae iā ʻoe e kaha i nā ʻeke a hoʻouna iā lākou i ka hoʻomaka o ka papa iptables o kēia manawa. ʻOi aku ka wikiwiki o ka mode AF_PACKET, akā ke kau nei i nā palena he nui i ka ʻōnaehana: pono e loaʻa i ʻelua mau kikowaena pūnaewele a hana ma ke ʻano he puka. ʻAʻole hoʻouna ʻia ka ʻeke paʻa i ka ʻaoʻao lua.

ʻO kahi hiʻohiʻona nui o Suricata ka hiki ke hoʻohana i nā hoʻomohala no Snort. Loaʻa i ka luna hoʻomalu, ʻo ia hoʻi, nā hoʻonohonoho kānāwai Sourcefire VRT a me OpenSource Emerging Threats, a me ka Emerging Threats Pro pāʻoihana. Hiki ke hoʻopaʻa ʻia ka hoʻopuka hoʻohui ʻia me ka hoʻohana ʻana i nā backends kaulana, a kākoʻo pū ʻia ka puka i PCAP a me Syslog. Mālama ʻia nā ʻōnaehana a me nā lula i nā faila YAML, maʻalahi ke heluhelu a hiki ke hana ʻia. ʻIke ka ʻenekini Suricata i nā protocols he nui, no laila ʻaʻole pono e hoʻopaʻa ʻia nā lula i kahi helu port. Eia kekahi, hoʻomaʻamaʻa ikaika ka manaʻo o ka flowbits i nā lula Suricata. No ka hahai ʻana i ka hoʻomaka ʻana, hoʻohana ʻia nā ʻano hoʻololi manawa, e ʻae iā ʻoe e hana a hoʻopili i nā helu helu a me nā hae. Manaʻo ka nui o nā IDS i nā pilina TCP like ʻole ma ke ʻano he hui kaʻawale a ʻaʻole ʻike paha i ka pilina ma waena o lākou e hōʻike i ka hoʻomaka ʻana o kahi hoʻouka kaua. Ke hoʻāʻo nei ʻo Suricata e ʻike i ke kiʻi holoʻokoʻa a i nā manawa he nui e ʻike i nā kaʻa ʻino i hoʻohele ʻia ma nā pili like ʻole. Hiki iā mākou ke kamaʻilio e pili ana i kāna mau pono no ka manawa lōʻihi; ʻoi aku ka maikaʻi o ka neʻe ʻana i ka hoʻonohonoho a me ka hoʻonohonoho.

Pehea e hoʻouka ai?

E hoʻokomo mākou iā Suricata ma kahi kikowaena virtual e holo ana i ka Ubuntu 18.04 LTS. Pono e hoʻokō ʻia nā kauoha āpau ma ke ʻano he superuser (root). ʻO ka koho paʻa loa e hoʻopili i ka kikowaena ma o SSH ma ke ʻano he mea hoʻohana maʻamau, a laila hoʻohana i ka pono sudo e hoʻonui i nā pono. Pono mua mākou e hoʻokomo i nā pūʻolo e pono ai mākou:

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

Hoʻohui i kahi waihona waho:

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

E hoʻouka i ka mana hou loa o Suricata:

sudo apt-get install suricata

Inā pono, e hoʻoponopono i ka inoa faila hoʻonohonoho, e hoʻololi i ka eth0 paʻamau me ka inoa maoli o ke kikowaena waho o ka kikowaena. Mālama ʻia nā hoʻonohonoho paʻamau ma ka faila /etc/default/suricata, a mālama ʻia nā hoʻonohonoho maʻamau i /etc/suricata/suricata.yaml. Ua kaupalena ʻia ka hoʻonohonoho IDS i ka hoʻoponopono ʻana i kēia faila hoʻonohonoho. Loaʻa iā ia nā ʻāpana he nui, i ka inoa a me ke kumu, i hui pū me kā lākou mau analogues mai Snort. He ʻokoʻa loa ka syntax, akā ʻoi aku ka maʻalahi o ka faila ma mua o Snort configs, a ua ʻōlelo maikaʻi ʻia.

sudo nano /etc/default/suricata

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

Nānā! Ma mua o ka hoʻomaka ʻana, pono ʻoe e nānā i nā waiwai o nā mea hoʻololi mai ka ʻāpana vars.

No ka hoʻopau ʻana i ka hoʻonohonoho, pono ʻoe e hoʻokomo i ka suricata-update e hoʻohou a hoʻoiho i nā lula. He mea maʻalahi ke hana i kēia:

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

A laila pono mākou e holo i ke kauoha suricata-update e hoʻokomo i ka Emerging Threats Open ruleset:

sudo suricata-update

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

No ka ʻike ʻana i ka papa inoa o nā kumu kānāwai, e holo i kēia kauoha:

sudo suricata-update list-sources

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

Hōʻano hou i nā kumu kānāwai:

sudo suricata-update update-sources

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

Ke nānā hou nei mākou i nā punawai hou:

sudo suricata-update list-sources

Inā pono, hiki iā ʻoe ke hoʻokomo i nā kumuwaiwai manuahi i loaʻa:

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

Ma hope o kēia, pono ʻoe e hōʻano hou i nā lula:

sudo suricata-update

I kēia manawa, hiki ke noʻonoʻo ʻia ka hoʻonohonoho ʻana a me ka hoʻonohonoho mua ʻana o Suricata ma Ubuntu 18.04 LTS. A laila hoʻomaka ka leʻaleʻa: ma ka ʻatikala aʻe e hoʻopili mākou i kahi kikowaena virtual i ka ʻoihana keʻena ma o VPN a hoʻomaka i ka nānā ʻana i nā kaʻa komo a me waho. E nānā nui mākou i ka pale ʻana i ka hoʻouka ʻana o DDoS, ka hana malware, a me ka hoʻāʻo e hoʻohana i nā nāwaliwali o nā lawelawe i hiki ke loaʻa mai nā pūnaewele lehulehu. No ka akaka, e hoʻohālikelike ʻia nā hoʻouka ʻana o nā ʻano maʻamau.

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

Snort a i ʻole Suricata. Mahele 2: Hoʻokomo a hoʻonohonoho mua o Suricata

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka