Snor eller Suricata. Del 2: Installation och initial installation av Suricata

Enligt statistiken ökar volymen av nätverkstrafik med cirka 50 % varje år. Detta leder till en ökning av belastningen på utrustningen och ökar i synnerhet prestandakraven för IDS / IPS. Du kan köpa dyr specialiserad hårdvara, men det finns ett billigare alternativ - införandet av ett av systemen med öppen källkod. Många nybörjare har svårt att installera och konfigurera gratis IPS. I fallet med Suricata är detta inte helt sant - du kan installera det och börja avvärja typiska attacker med en uppsättning gratis regler inom några minuter.

Snor eller Suricata. Del 2: Installation och initial installation av Suricata
Snor eller Suricata. Del 1: Välja en gratis IDS/IPS för att skydda ditt företagsnätverk

Varför behöver vi en annan öppen IPS?

Länge ansett som standard, Snort har varit under utveckling sedan slutet av nittiotalet, så det var ursprungligen entrådigt. Under årens lopp har alla moderna funktioner dykt upp i den, såsom IPv6-stöd, möjligheten att analysera protokoll på applikationsnivå eller en universell dataåtkomstmodul.

Kärnmotorn Snort 2.X har lärt sig att arbeta med flera kärnor, men har förblivit entrådig och kan därför inte optimalt dra nytta av moderna hårdvaruplattformar.

Problemet löstes i den tredje versionen av systemet, men det tog så lång tid att förbereda att Suricata, skriven från grunden, lyckades dyka upp på marknaden. 2009 började den utvecklas just som ett flertrådigt alternativ till Snort, som har IPS-funktioner ur lådan. Koden distribueras under GPLv2-licensen, men projektets finansiella partner har tillgång till en stängd version av motorn. Vissa skalbarhetsproblem uppstod i de första versionerna av systemet, men de löstes snabbt.

Varför Surica?

Suricata har flera moduler (liknande Snort): fånga, fånga, avkoda, detektera och utmata. Som standard går den fångade trafiken före avkodning i en ström, även om detta belastar systemet mer. Vid behov kan trådar delas upp i inställningarna och fördelas mellan processorer - Suricata är mycket väl optimerad för specifik hårdvara, även om detta inte längre är en HOWTO-nivå för nybörjare. Det är också värt att notera att Suricata har avancerade HTTP-inspektionsverktyg baserade på HTP-biblioteket. De kan också användas för att logga trafik utan upptäckt. Systemet stöder även IPv6-avkodning, inklusive IPv4-i-IPv6-tunnlar, IPv6-i-IPv6-tunnlar och mer.

Olika gränssnitt kan användas för att fånga upp trafik (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), och i Unix Socket-läge kan du automatiskt analysera PCAP-filer som fångats av en annan sniffer. Dessutom gör Suricatas modulära arkitektur det enkelt att koppla in nya element för att fånga, avkoda, analysera och bearbeta nätverkspaket. Det är också viktigt att notera att i Suricata blockeras trafiken med hjälp av ett vanligt filter i operativsystemet. GNU/Linux har två alternativ för hur IPS fungerar: via NFQUEUE-kön (NFQ-läge) och via nollkopia (AF_PACKET-läge). I det första fallet skickas paketet som går in i iptables till NFQUEUE-kön, där det kan bearbetas på användarnivå. Suricata kör det enligt sina egna regler och utfärdar en av tre domar: NF_ACCEPT, NF_DROP och NF_REPEAT. De två första är självförklarande, medan den sista tillåter att paket taggas och skickas till toppen av den aktuella iptables-tabellen. AF_PACKET-läget är snabbare, men det medför ett antal begränsningar för systemet: det måste ha två nätverksgränssnitt och fungera som en gateway. Det blockerade paketet vidarebefordras helt enkelt inte till det andra gränssnittet.

En viktig egenskap hos Suricata är möjligheten att använda utvecklingar för Snort. Administratören har åtkomst, i synnerhet, till regeluppsättningarna Sourcefire VRT och OpenSource Emerging Threats, såväl som den kommersiella Emerging Threats Pro. Den enhetliga utdata kan tolkas med hjälp av populära backends, PCAP- och Syslog-utdata stöds också. Systeminställningar och regler lagras i YAML-filer, som är lätta att läsa och kan bearbetas automatiskt. Suricata-motorn känner igen många protokoll, så reglerna behöver inte vara knutna till ett portnummer. Dessutom praktiseras konceptet flowbits aktivt i Suricatas regler. För att spåra triggern används sessionsvariabler för att skapa och tillämpa olika räknare och flaggor. Många IDS:er behandlar olika TCP-anslutningar som separata enheter och kanske inte ser en koppling mellan dem som indikerar starten på en attack. Suricata försöker se helheten och känner i många fall igen skadlig trafik distribuerad över olika anslutningar. Du kan prata om dess fördelar länge, det är bättre att vi går vidare till installation och konfiguration.

Hur installerar jag?

Vi kommer att installera Suricata på en virtuell server som kör Ubuntu 18.04 LTS. Alla kommandon måste utföras på uppdrag av superanvändaren (roten). Det säkraste alternativet är att SSH in i servern som en normal användare och sedan använda sudo-verktyget för att höja privilegier. Först måste du installera paketen som vi behöver:

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

Ansluta ett externt arkiv:

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

Installera den senaste stabila versionen av Suricata:

sudo apt-get install suricata

Om det behövs, redigera konfigurationsfilens namn och ersätt standard eth0 med det faktiska namnet på serverns externa gränssnitt. Standardinställningarna lagras i filen /etc/default/suricata, och anpassade inställningar lagras i /etc/suricata/suricata.yaml. Konfigurering av IDS är mestadels begränsad till att redigera denna konfigurationsfil. Den har många parametrar som, till namn och syfte, sammanfaller med analoger från Snort. Syntaxen är dock ganska annorlunda, men filen är mycket lättare att läsa än Snort-konfigurationer och är väl kommenterad.

sudo nano /etc/default/suricata

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

Uppmärksamhet! Innan du börjar är det värt att kontrollera värdena för variablerna från vars-sektionen.

För att slutföra installationen måste du installera suricata-update för att uppdatera och ladda reglerna. Det är ganska enkelt att göra det här:

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

Därefter måste vi köra kommandot suricata-update för att installera Emerging Threats Open-regeluppsättningen:

sudo suricata-update

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

För att se listan över regelkällor, kör följande kommando:

sudo suricata-update list-sources

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

Uppdatera regelkällor:

sudo suricata-update update-sources

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

Återbesök uppdaterade källor:

sudo suricata-update list-sources

Om det behövs kan du inkludera tillgängliga gratiskällor:

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

Efter det måste du uppdatera reglerna igen:

sudo suricata-update

Detta slutför installationen och den initiala konfigurationen av Suricata i Ubuntu 18.04 LTS. Sedan börjar det roliga: i nästa artikel kommer vi att ansluta en virtuell server till kontorsnätverket via VPN och börja analysera all inkommande och utgående trafik. Vi kommer att ägna särskild uppmärksamhet åt att blockera DDoS-attacker, skadlig programvara och försök att utnyttja sårbarheter i tjänster som är tillgängliga från offentliga nätverk. För tydlighetens skull kommer attacker av de vanligaste typerna att simuleras.

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

Snor eller Suricata. Del 2: Installation och initial installation av Suricata

Källa: will.com

Lägg en kommentar