Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Volgens de statistieken neemt het volume van het netwerkverkeer elk jaar met ongeveer 50% toe. Dit leidt tot een toename van de belasting van de apparatuur en verhoogt met name de prestatie-eisen van IDS / IPS. U kunt dure gespecialiseerde hardware kopen, maar er is een goedkopere optie: de introductie van een van de open source-systemen. Veel beginnende beheerders vinden het moeilijk om gratis IPS te installeren en configureren. In het geval van Suricata is dit niet helemaal waar - u kunt het binnen enkele minuten installeren en beginnen met het afweren van typische aanvallen met een reeks gratis regels.

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata
Snuiven of Suricata. Deel 1: Een gratis IDS/IPS kiezen om uw bedrijfsnetwerk te beschermen

Waarom hebben we nog een open IPS nodig?

Snort werd lang beschouwd als de standaard, maar is in ontwikkeling sinds eind jaren negentig, dus het was oorspronkelijk single-threaded. In de loop der jaren zijn alle moderne functies erin verschenen, zoals IPv6-ondersteuning, de mogelijkheid om protocollen op applicatieniveau te analyseren of een universele module voor gegevenstoegang.

De core Snort 2.X-engine heeft geleerd om met meerdere cores te werken, maar is single-threaded gebleven en kan daardoor niet optimaal profiteren van moderne hardwareplatforms.

Het probleem werd opgelost in de derde versie van het systeem, maar de voorbereiding duurde zo lang dat Suricata, helemaal opnieuw geschreven, erin slaagde op de markt te verschijnen. In 2009 begon het precies te worden ontwikkeld als een multi-threaded alternatief voor Snort, dat kant-en-klare IPS-functies heeft. De code wordt gedistribueerd onder de GPLv2-licentie, maar de financiële partners van het project hebben toegang tot een gesloten versie van de engine. In de eerste versies van het systeem deden zich enkele schaalbaarheidsproblemen voor, maar die werden snel opgelost.

Waarom Surika?

Suricata heeft verschillende modules (vergelijkbaar met Snort): vastleggen, vastleggen, decoderen, detecteren en uitvoeren. Standaard gaat het vastgelegde verkeer voor het decoderen in één stream, hoewel dit het systeem meer belast. Indien nodig kunnen threads worden verdeeld in de instellingen en worden verdeeld over processors - Suricata is zeer goed geoptimaliseerd voor specifieke hardware, hoewel dit geen HOWTO-niveau meer is voor beginners. Het is ook vermeldenswaard dat Suricata geavanceerde HTTP-inspectietools heeft op basis van de HTP-bibliotheek. Ze kunnen ook worden gebruikt om verkeer te loggen zonder detectie. Het systeem ondersteunt ook IPv6-decodering, inclusief IPv4-in-IPv6-tunnels, IPv6-in-IPv6-tunnels en meer.

Er kunnen verschillende interfaces worden gebruikt om verkeer te onderscheppen (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), en in Unix Socket-modus kunt u automatisch PCAP-bestanden analyseren die door een andere sniffer zijn vastgelegd. Bovendien maakt de modulaire architectuur van Suricata het gemakkelijk om nieuwe elementen aan te sluiten om netwerkpakketten vast te leggen, te decoderen, te ontleden en te verwerken. Het is ook belangrijk op te merken dat in Suricata het verkeer wordt geblokkeerd door middel van een reguliere filter van het besturingssysteem. GNU/Linux heeft twee opties voor hoe IPS werkt: via de NFQUEUE-wachtrij (NFQ-modus) en via zero copy (AF_PACKET-modus). In het eerste geval wordt het pakket dat iptables binnenkomt, naar de NFQUEUE-wachtrij gestuurd, waar het op gebruikersniveau kan worden verwerkt. Suricata voert het uit volgens zijn eigen regels en geeft een van de drie uitspraken: NF_ACCEPT, NF_DROP en NF_REPEAT. De eerste twee spreken voor zich, terwijl de laatste het mogelijk maakt om pakketten te taggen en naar de top van de huidige iptables-tabel te sturen. De AF_PACKET-modus is sneller, maar legt een aantal beperkingen op aan het systeem: het moet twee netwerkinterfaces hebben en als gateway werken. Het geblokkeerde pakket wordt simpelweg niet doorgestuurd naar de tweede interface.

Een belangrijk kenmerk van Suricata is de mogelijkheid om ontwikkelingen voor Snort te gebruiken. De beheerder heeft met name toegang tot de regelsets Sourcefire VRT en OpenSource Emerging Threats, evenals de commerciële Emerging Threats Pro. De uniforme uitvoer kan worden geparseerd met behulp van populaire backends, PCAP en Syslog-uitvoer wordt ook ondersteund. Systeeminstellingen en regels worden opgeslagen in YAML-bestanden, die gemakkelijk te lezen zijn en automatisch kunnen worden verwerkt. De Suricata-engine herkent veel protocollen, waardoor de regels niet gebonden hoeven te zijn aan een poortnummer. Daarnaast wordt het concept van flowbits actief beoefend in de regels van Suricata. Om de trigger te volgen, worden sessievariabelen gebruikt om verschillende tellers en vlaggen te maken en toe te passen. Veel IDS'en behandelen verschillende TCP-verbindingen als afzonderlijke entiteiten en zien mogelijk geen onderlinge verbinding die het begin van een aanval aangeeft. Suricata probeert het hele plaatje te zien en herkent in veel gevallen kwaadaardig verkeer verdeeld over verschillende verbindingen. Je kunt lang over de voordelen praten, we kunnen beter overgaan tot installatie en configuratie.

Hoe te installeren?

We gaan Suricata installeren op een virtuele server met Ubuntu 18.04 LTS. Alle commando's moeten worden uitgevoerd namens de superuser (root). De veiligste optie is om als normale gebruiker via SSH naar de server te gaan en vervolgens het sudo-hulpprogramma te gebruiken om de rechten te verhogen. Eerst moet je de pakketten installeren die we nodig hebben:

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

Een externe opslagplaats aansluiten:

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

Installeer de laatste stabiele versie van Suricata:

sudo apt-get install suricata

Wijzig indien nodig de naam van het configuratiebestand en vervang de standaardwaarde eth0 door de daadwerkelijke naam van de externe interface van de server. Standaardinstellingen worden opgeslagen in het bestand /etc/default/suricata en aangepaste instellingen worden opgeslagen in /etc/suricata/suricata.yaml. Het configureren van IDS is meestal beperkt tot het bewerken van dit configuratiebestand. Het heeft veel parameters die qua naam en doel samenvallen met analogen van Snort. De syntaxis is echter compleet anders, maar het bestand is veel gemakkelijker te lezen dan Snort-configuraties en wordt goed becommentarieerd.

sudo nano /etc/default/suricata

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

и

sudo nano /etc/suricata/suricata.yaml

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Aandacht! Voordat u begint, is het de moeite waard om de waarden van de variabelen uit de sectie vars te controleren.

Om de installatie te voltooien, moet u suricata-update installeren om de regels bij te werken en te laden. Het is vrij eenvoudig om dit te doen:

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

Vervolgens moeten we de opdracht suricata-update uitvoeren om de regelset Emerging Threats Open te installeren:

sudo suricata-update

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Voer de volgende opdracht uit om de lijst met regelbronnen te bekijken:

sudo suricata-update list-sources

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Regelbronnen bijwerken:

sudo suricata-update update-sources

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Opnieuw bezoeken van bijgewerkte bronnen:

sudo suricata-update list-sources

Indien nodig kunt u beschikbare gratis bronnen opnemen:

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

Daarna moet u de regels opnieuw bijwerken:

sudo suricata-update

Hiermee is de installatie en initiële configuratie van Suricata in Ubuntu 18.04 LTS voltooid. Dan begint het plezier: in het volgende artikel verbinden we een virtuele server via VPN met het kantoornetwerk en beginnen we met het analyseren van al het inkomende en uitgaande verkeer. We zullen speciale aandacht besteden aan het blokkeren van DDoS-aanvallen, malware-activiteit en pogingen om misbruik te maken van kwetsbaarheden in services die toegankelijk zijn via openbare netwerken. Voor de duidelijkheid worden aanvallen van de meest voorkomende typen gesimuleerd.

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Snuiven of Suricata. Deel 2: Installatie en eerste configuratie van Suricata

Bron: www.habr.com

Voeg een reactie