Beskyt dit netværk mod ubudne gæster og uopfordrede angreb ved at installere og opsætte Snort IDS.

Hvis du er seriøs omkring netværkssikkerhed, er installation af en IPS- eller IDS-løsning et must for at styrke netværkets perimeter og aflede potentielt uønsket netværkstrafik.

Snort er en sådan berømt, gratis til personlig brug og open source IPS/IDS-løsning. Lad os lære, hvordan du kan installere og konfigurere Snort på Linux for at forsvare dit netværk mod cyberangreb.

Hvad er Snort?

Snort er en open source System til registrering og forebyggelse af netværksindtrængen (NIDS/IPS) software, der, som navnet antyder, hjælper med at sikre dit netværks perimeter ved at håndhæve regler og filtre, der registrerer og dropper potentielt ondsindede pakker, der er injiceret i dit netværk.

Med Snort vil du være i stand til at udføre avanceret logning af netværkstrafik, pakkesniffing og analyse og indstille op et stærkt system til forebyggelse af indtrængen, der beskytter dit netværk mod uønskede og potentielt ondsindede Trafik.

instagram viewer

Forudsætninger for at installere Snort

Før du installerer Snort, er der en foreløbig opsætning, der skal udføres. Dette omfatter for det meste opdatering og opgradering af dit system og installation af de afhængigheder, der kræves af Snort for at fungere korrekt.

Start med at opdatere og opgradere dit system.

På Ubuntu- og Debian-baserede Linux distros:

sudo apt update && apt upgrade -y

På Arch Linux og dets derivater:

sudo pacman -Syu

Om RHEL og Fedora:

sudo dnf opgradering

Med dit system opgraderet, fortsæt med at installere de afhængigheder, der kræves af Snort. Her er de kommandoer, du skal bruge for at køre:

På Ubuntu og Debian, kør:

sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libbenmalloc-dev libpcre++-dev

På Arch Linux skal du køre:

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf

For RHEL og Fedora skal du udstede følgende kommando:

sudo dnf installer gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

Derudover skal du også manuelt installere Data Acquisition Library, LibDAQ for Snort for at fungere korrekt og også gperftools til at generere byggefilerne.

Først skal du downloade LibDAQ-kildefilerne fra det officielle websted ved hjælp af wget-kommandoen. Udpak derefter arkivet og flyt ind i mappen ved hjælp af cd. Kør inde i mappen bootstrap og konfigurere scripts fortsætter derefter med at forberede filer med make og installere det med lave installation kommando.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./konfigurere
lave
sudo make install

Med LibDAQ installeret, skal du installere en sidste afhængighed: gperftools. Start med at få fat i kildefilerne fra GitHub-repoen. Udpak filerne, flyt ind i mappen, og kør konfigurationsscriptet. Til sidst skal du installere pakken ved at bruge kommandoerne make and make install.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./konfigurere
lave
sudo make install

Når disse afhængigheder er blevet installeret, kan du gå videre til de næste trin for at installere Snort.

Installer Snort From Source på Linux

Med den foreløbige opsætning af vejen, kan du nu fokusere på at installere selve softwaren. Du bygger det fra kilden, så tag først de nødvendige build-filer.

Brug kommandoen wget eller download filerne manuelt fra den officielle downloadside:

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

Hent:Snøfte

Når arkivet, der indeholder build-filerne er færdig med at downloade, skal du udpakke det ved hjælp af tar-kommandoen:

tar -xzvf fnys*

Flyt ind i den udpakkede mappe, kør konfigurationsscriptet, brug make-kommandoen til at forberede filerne, og installer dem til sidst med lave installation:

cd snort*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
cd bygge
lave
sudo make install

Snort vil nu blive installeret på dit system. Der er dog kun et trin mere, du skal fuldføre. Når ny software installeres manuelt, inkluderes installationsmappen og de nødvendige biblioteker muligvis ikke automatisk i systemets standardsti. Så du kan løbe ind i fejl, når du starter programmet.

For at undgå dette problem skal du køre kommandoen ldconfig. Det vil synkronisere systemets delte bibliotekscache med nyligt installerede biblioteker og binære filer. Kør enten kommandoen ldconfig fra en rodskal eller brug sudo-præfikset:

sudo ldconfig

Nu har du dækket alle de vigtige trin, der kræves for at installere Snort. For at bekræfte installationen skal du køre Snort-kommandoen med -V flag, og du skulle se et output, der returnerer versionsnavnet og andre data.

fnyse -V

Når du har verificeret Snort-installationen, skal du gå videre til de næste trin for at konfigurere den som en komplet IDS/IPS.

Indledende konfiguration af Snort på Linux

Effektiviteten af ​​Snort afhænger næsten udelukkende af kvaliteten af ​​regelsæt, som den leveres med.

Men før du kommer til opsætning af regler, skal du konfigurere netværkskortene til at arbejde med Snort, og du skal også teste, hvordan standardkonfigurationen håndteres af Snort. Start med at konfigurere netværkskortene.

Indstil netværksgrænsefladen til promiskuøs tilstand:

sudo ip-link sat dev interface_name promisc til

Brug ethtool til at deaktivere Generic Receive Offload (GRO) og Large Receive Offload (LRO) for at forhindre større netværkspakker i at blive trunkeret:

sudo ethtool -K interface_name gro off lro off

Test, hvordan Snort klarer sig med standardkonfigurationen:

snort -c /usr/local/etc/snort/snort.lua

Dette skulle returnere et vellykket udgangssignal om, at du har installeret og opsat Snort korrekt i dit system. Nu kan du pille ved dens funktioner og eksperimentere med forskellige konfigurationer for at finde det bedste sæt regelsæt til at sikre dit netværk.

Opsæt regler og håndhæv dem med Snort

Med de grundlæggende indstillinger på plads er Snort nu klar til at forsvare din perimeter. Som du ved, har Snort brug for regelsæt for at bestemme gyldigheden af ​​trafikken, lad os opsætte et par community-made, gratis regelsæt til Snort.

Snort læser regelsæt og konfigurationer fra specifikke mapper. Så først, ved hjælp af mkdir og touch-kommandoerne, skal du oprette et par vigtige mapper til at gemme regler og andre relevante data for Snort:

sudo mkdir -p /usr/local/etc/{lister, so_rules, rules} 
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist

Med disse mapper oprettet, kan du downloade fællesskabets regelsæt fra det officielle websted ved hjælp af wget-kommandoen:

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

Når regelsættet er færdig med at downloade, skal du udpakke det og kopiere det over til /usr/local/etc/rules/ vejviser.

tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/

For at køre Snort med regelsættet skal du udføre denne kommando:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k ingen

Opdeling af kommandoen:

  • -c indstiller stien til standardkonfigurationsfilen
  • -R angiver stien til det regelsæt, der skal håndhæves
  • -jeg indstiller grænsefladen
  • -s kasserer snaplen grænse
  • -k ignorerer kontrolsummer

Dette bør validere konfigurationen og håndhæve alle regelsæt på Snort. Så snart den opfanger netværksforstyrrelser, vil den advare dig med en konsolmeddelelse.

Hvis du ønsker at oprette og håndhæve dit eget regelsæt, kan du lære mere om det fra officielle dokumentationssider.

Konfigurer logning med snorken

Som standard udsender Snort ingen logfiler. Du skal angive med -L flag for at starte Snort i logningstilstand, definere logfiltypen og -l flag for at indstille logføringsmappen, så Snort kan dumpe logfilerne.

Her er kommandoen til at starte Snort med logning aktiveret:

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none -L filtype -l /var/log /snøfte

Opdeling af kommandoen:

  • -c indstiller stien til standardkonfigurationsfilen
  • -R angiver stien til det regelsæt, der skal håndhæves
  • -jeg indstiller grænsefladen
  • -s kasserer snaplen grænse
  • -k ignorerer kontrolsummer
  • -L aktiverer logningstilstand og definerer logfiltypen
  • -l definerer stien til at gemme logfiler

Bemærk, at i eksempelkommandoen er logføringsmappen sat til /var/log/snort. Selvom dette er anbefalet praksis, er du fri til at gemme dine logfiler andre steder.

Du kan læse logfilerne fra Snort fra den mappe, du har defineret, eller sende dem til SIEM-software som Splunk for yderligere analyse.

Tilføj Snort som en System Startup Daemon

Selvom du har installeret og opsat Snort, skal du sørge for, at den begynder at køre ved opstart og kører som en baggrundsdæmon. Tilføjelse af det som en auto-start systemtjeneste sikrer, at Snort er oppe og forsvarer dit system til enhver tid, det er online.

Sådan tilføjer du en Snort-startdæmon på Linux:

  1. Start med at oprette en ny systemd servicefil:
    tryk på /lib/systemd/system/snort.service
  2. Åbn filen i en teksteditor efter eget valg, og udfyld den med følgende data. Du kan ændre flagene, så de passer til dine behov:
    [Enhed]
    Beskrivelse=Snorte Dæmon
    After=syslog.target network.target
    [Service]
    Type=simpel
    ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var /log/snort -D -L pcap -i ens33
    [Installere]
    WantedBy=multi-user.target
  3. Gem og afslut filen. Brug derefter tjenesten og systemctl kommandoer, aktiver og start scriptet:
    sudo systemctl aktivere snort.service
    sudo snort start

Snort-baggrundsdæmonen skulle nu være oppe og køre. Du kan bekræfte scriptets status ved hjælp af systemctl status fnys kommando. Det bør returnere et positivt output.

Nu ved du, hvordan du beskytter dit netværk med Snort IDS

Selvom implementering af IDS er en god praksis, er det en passiv foranstaltning end en aktiv. Den bedste måde at forbedre og garantere dit netværks sikkerhed på er ved løbende at teste det og se efter fejl, der kan rettes.

Penetrationstest er en fantastisk måde at finde udnyttelige sårbarheder og lappe dem.