Beskytt nettverket ditt mot inntrengere og uønskede angrep ved å installere og sette opp Snort IDS.
Hvis du er seriøs når det gjelder nettverkssikkerhet, er det et must å installere en IPS- eller IDS-løsning for å befeste nettverksperimeteren og avlede potensielt uønsket nettverkstrafikk.
Snort er en slik kjent, gratis for personlig bruk og åpen kildekode IPS/IDS-løsning. La oss lære hvordan du kan installere og sette opp Snort på Linux for å forsvare nettverket ditt mot cyberangrep.
Hva er Snort?
Snort er en åpen kildekode System for oppdagelse og forebygging av nettverksinntrenging (NIDS/IPS) programvare som, som navnet antyder, hjelper til med å sikre nettverkets perimeter ved å håndheve regler og filtre som oppdager og slipper potensielt skadelige pakker injisert i nettverket ditt.
Med Snort vil du kunne utføre avansert logging av nettverkstrafikk, pakkesniffing og analyse, og angi opp et sterkt Intrusion Prevention System som beskytter nettverket ditt mot uønsket og potensielt skadelig trafikk.
Forutsetninger for å installere Snort
Før du installerer Snort, er det noe foreløpig oppsett å gjøre. Dette inkluderer for det meste oppdatering og oppgradering av systemet og installering av avhengighetene som kreves av Snort for å fungere skikkelig.
Start med å oppdatere og oppgradere systemet ditt.
På Ubuntu- og Debian-baserte Linux-distros:
sudo apt update && apt upgrade -y
På Arch Linux og dets derivater:
sudo pacman -Syu
På RHEL og Fedora:
sudo dnf oppgradering
Med systemet oppgradert, fortsett å installere avhengighetene som kreves av Snort. Her er kommandoene du trenger for å kjøre:
På Ubuntu og Debian, kjø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 libjemalloc-dev libpcre++-dev
På Arch Linux, kjør:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pulledporkxz zlib cmake pkgconf
For RHEL og Fedora, utfør 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
I tillegg må du også manuelt installere Data Acquisition Library, LibDAQ for Snort for å fungere ordentlig og også gperftools for å generere byggefilene.
Først laster du ned LibDAQ-kildefilene fra det offisielle nettstedet ved å bruke wget-kommandoen. Trekk deretter ut arkivet og gå inn i katalogen ved hjelp av cd. Inne i katalogen, kjør Støvelhempe og konfigurere skript fortsetter deretter med å klargjøre filer med make og installere det med gjøre installer kommando.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./Støvelhempe
./konfigurere
gjøre
sudo make install
Med LibDAQ installert, må du installere en siste avhengighet: gperftools. Start med å hente kildefilene fra GitHub-repoen. Pakk ut filene, flytt inn i katalogen og kjør konfigureringsskriptet. Til slutt, installer pakken ved å bruke make and make install-kommandoene.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./konfigurere
gjøre
sudo make install
Når disse avhengighetene er installert, kan du gå videre til de neste trinnene for å installere Snort.
Installer Snort From Source på Linux
Med det foreløpige oppsettet ute av veien, kan du nå fokusere på å installere selve programvaren. Du skal bygge den fra kilden, så hent de nødvendige byggefilene først.
Bruk wget-kommandoen eller last ned filene manuelt fra den offisielle nedlastingssiden:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
Nedlasting:Snøre
Når arkivet som inneholder byggefilene er ferdig nedlastet, pakk det ut ved å bruke tar-kommandoen:
tar -xzvf fnys*
Flytt inn i den utpakkede mappen, kjør konfigurasjonsskriptet, bruk make-kommandoen til å klargjøre filene, og installer dem til slutt med gjøre installer:
cd snort*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
cd bygge
gjøre
sudo make install
Snort vil nå bli installert på systemet ditt. Det er imidlertid bare ett trinn til du trenger å fullføre. Når ny programvare er installert manuelt, kan det hende at installasjonsmappen og nødvendige biblioteker ikke automatisk inkluderes i systemets standardbane. Så du kan støte på feil når du starter programmet.
For å unngå dette problemet, må du kjøre kommandoen ldconfig. Det vil synkronisere systemets delte bibliotekbuffer med nylig installerte biblioteker og binærfiler. Kjør enten ldconfig-kommandoen fra et rotskall eller bruk sudo-prefikset:
sudo ldconfig
Nå har du dekket alle de viktige trinnene som kreves for å installere Snort. For å bekrefte installasjonen, kjør Snort-kommandoen med -V flagg, og du skal se en utgang som returnerer versjonsnavnet og andre data.
fnyse -V
Når du har verifisert Snort-installasjonen, gå videre til de neste trinnene for å sette den opp som en fullverdig IDS/IPS.
Innledende konfigurasjon av Snort på Linux
Effektiviteten til Snort avhenger nesten helt av kvaliteten på regelsettene som den leveres med.
Men før du kommer til å sette opp regler, må du konfigurere nettverkskortene til å fungere med Snort, og du må også teste hvordan standardkonfigurasjonen håndteres av Snort. Start med å konfigurere nettverkskortene.
Sett nettverksgrensesnittet til promiskuøs modus:
sudo ip-lenke satt dev interface_name promisc på
Ved å bruke ethtool, deaktiver Generic Receive Offload (GRO) og Large Receive Offload (LRO) for å forhindre at større nettverkspakker blir avkortet:
sudo ethtool -K interface_name gro av lro av
Test hvordan Snort presterer med standardkonfigurasjonen:
snort -c /usr/local/etc/snort/snort.lua
Dette skal returnere et vellykket utgangssignal om at du har installert og satt opp Snort riktig i systemet ditt. Nå kan du tukle med funksjonene og eksperimentere med forskjellige konfigurasjoner for å finne det beste settet med regelsett for å sikre nettverket ditt.
Sett opp regler og håndhev dem med snørr
Med de grunnleggende innstillingene på plass er Snort nå klar til å forsvare omkretsen din. Som du vet trenger Snort regelsett for å bestemme trafikkens gyldighet, la oss sette opp noen fellesskapsbaserte gratis regelsett for Snort.
Snort leser regelsett og konfigurasjoner fra spesifikke kataloger. Så først, bruk mkdir og touch-kommandoene, lag noen viktige kataloger for å lagre 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 katalogene opprettet, kan du laste ned fellesskapets regelsett fra den offisielle nettsiden ved å bruke wget-kommandoen:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Når regelsettet er ferdig nedlastet, pakk det ut og kopier det over til /usr/local/etc/rules/ katalog.
tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/
For å kjøre Snort med regelsettet, kjør denne kommandoen:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none
Fordeling av kommandoen:
- -c setter banen til standard konfigurasjonsfil
- -R angir banen til regelsettet som skal håndheves
- -Jeg setter grensesnittet
- -s forkaster snaplen-grensen
- -k ignorerer kontrollsummer
Dette bør validere konfigurasjonen og håndheve alle regelsettene på Snort. Så snart den fanger opp nettverksforstyrrelser, vil den varsle deg med en konsollmelding.
Hvis du ønsker å opprette og håndheve ditt eget regelsett, kan du lære mer om det fra offisielle dokumentasjonssider.
Sett opp logging med snørr
Som standard sender ikke Snort ut noen logger. Du må spesifisere med -L flagg for å starte Snort i loggingsmodus, definere loggfiltypen og -l flagg for å angi loggkatalogen for at Snort skal dumpe loggene.
Her er kommandoen for å starte Snort med logging aktivert:
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 /snurre
Fordeling av kommandoen:
- -c setter banen til standard konfigurasjonsfil
- -R angir banen til regelsettet som skal håndheves
- -Jeg setter grensesnittet
- -s forkaster snaplen-grensen
- -k ignorerer kontrollsummer
- -L aktiverer loggingsmodus og definerer loggfiltypen
- -l definerer banen for å lagre logger
Merk at i eksempelkommandoen er loggingskatalogen satt til /var/log/snort. Selv om dette er anbefalt praksis, står du fritt til å lagre loggene dine andre steder.
Du kan lese loggfilene fra Snort fra katalogen du definerte eller sende dem til SIEM-programvare som Splunk for videre analyse.
Legg til Snort som en System Startup Daemon
Selv om du har installert og satt opp Snort, må du sørge for at den begynner å kjøre ved oppstart og kjører som en bakgrunnsdemon. Å legge den til som en automatisk startsystemtjeneste vil sikre at Snort er oppe og forsvarer systemet ditt til enhver tid det er online.
Slik legger du til en Snort-oppstartsdemon på Linux:
- Start med å lage en ny systemd servicefil:
trykk på /lib/systemd/system/snort.service
- Åpne filen i et tekstredigeringsprogram du ønsker og fyll den med følgende data. Du kan endre flaggene for å passe dine behov:
[Enhet]
Description=Snort Daemon
After=syslog.target network.target
[Service]
Type=enkel
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 - Lagre og avslutt filen. Deretter bruker du tjenesten og systemctl-kommandoer, aktiver og start skriptet:
sudo systemctl aktiver snort.service
sudo snort start
Snort-bakgrunnsdemonen skal nå være i gang. Du kan bekrefte statusen til skriptet ved å bruke systemctl status snørr kommando. Det skal gi en positiv utgang.
Nå vet du hvordan du kan beskytte nettverket ditt med Snort IDS
Selv om implementering av IDS er en god praksis, er det et passivt tiltak enn et aktivt. Den beste måten å forbedre og garantere nettverkets sikkerhet på er å kontinuerlig teste det og se etter feil å fikse.
Penetrasjonstesting er en fin måte å finne utnyttbare sårbarheter og lappe dem.