Oppdater, oppgrader og start på nytt
Forhåndsinstallert konfigurasjon
Installere Data Acquisition Library (DAQ)
Installerer Snort
Un-rooting Snort
Snort er et gratis nettverksinntrengningssystem (IDS). I mindre offisielle termer lar den deg overvåke nettverket ditt for mistenkelig aktivitet i sanntid . For øyeblikket har Snort pakker for Fedora, CentOS, FreeBSD og Windows-baserte systemer. Nøyaktig installasjonsmetode varierer mellom operativsystemer. I denne opplæringen skal vi installere direkte fra kildefilene for Snort. Denne veiledningen ble skrevet for Debian.
Oppdater, oppgrader og start på nytt
Før vi faktisk får tak i Snort-kildene, må vi sørge for at systemet vårt er oppdatert. Vi kan gjøre dette ved å utstede kommandoene nedenfor.
sudo apt-get update
sudo apt-get upgrade -y
sudo reboot
Forhåndsinstallert konfigurasjon
Når systemet har startet på nytt, må vi installere en rekke pakker for å sikre at vi kan installere SBPP. Jeg var i stand til å finne ut at en rekke av pakkene var nødvendig, så basiskommandoen er nedenfor.
sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y
Når alle pakkene er installert, må du opprette en midlertidig katalog for kildefilene dine - de kan være hvor som helst du vil. Jeg skal bruke /usr/src/snort_src. For å opprette denne mappen, må du være logget inn som rootbruker, eller ha sudotillatelser – rootgjør det bare enklere.
sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src
Installere Data Acquisition Library (DAQ)
Før vi kan få kilden til Snort, må vi installere DAQ. Det er ganske enkelt å installere.
wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
Pakk ut filene fra tarballen.
tar xvfz daq-2.0.6.tar.gz
Bytt til DAQ-katalogen.
cd daq-2.0.6
Konfigurer og installer DAQ.
./configure; make; sudo make install
Den siste linjen vil kjøre ./configureførst. Da vil den kjøres make. Til slutt vil den utføres make install. Vi bruker den kortere syntaksen her bare for å spare litt på skrivingen.
Installerer Snort
Vi vil forsikre oss om at vi er i /usr/src/snort_srckatalogen igjen, så pass på å bytte til den katalogen med:
cd /usr/src/snort_src
Nå som vi er i katalogen for kildene, vil vi laste ned tar.gzfilen for kilden. I skrivende stund er den nyeste versjonen av Snort 2.9.8.0.
wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz
Kommandoene for å faktisk installere snort er veldig like de som brukes for DAQ, men de har forskjellige alternativer.
Pakk ut Snort-kildefilene.
tar xvfz snort-2.9.8.0.tar.gz
Bytt til kildekatalogen.
cd snort-2.9.8.0
Konfigurer og installer kildene.
./configure --enable-sourcefire; make; sudo make install
Etterinstallasjon av Snort
Når vi har installert Snort, må vi sørge for at våre delte biblioteker er oppdatert. Vi kan gjøre dette ved å bruke kommandoen:
sudo ldconfig
Etter at vi har gjort det, test Snort-installasjonen din:
snort --version
Hvis denne kommandoen ikke fungerer, må du opprette en symbolkobling. Du kan gjøre dette ved å skrive:
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version
Den resulterende utgangen vil ligne følgende:
,,_ -*> Snort! <*-
o" )~ Version 2.9.7.5 GRE (Build 262)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.6.2
Using PCRE version: 8.35 2014-04-04
Using ZLIB version: 1.2.8
Un-rooting Snort
Nå som vi har installert snort, vil vi ikke at den skal kjøre som root, så vi må opprette en snortbruker og gruppe. For å opprette en ny bruker og gruppe kan vi bruke disse to kommandoene:
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
Siden vi har installert programmet ved hjelp av kilden, må vi lage konfigurasjonsfilene og reglene for snort.
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules
Etter at vi har opprettet katalogene og reglene, må vi nå opprette loggkatalogen.
sudo mkdir /var/log/snort
Og til slutt, før vi kan legge til noen regler, trenger vi et sted å lagre de dynamiske reglene.
sudo mkdir /usr/local/lib/snort_dynamicrules
Når alle de tidligere filene er opprettet, setter du de riktige tillatelsene for dem.
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
Sette opp konfigurasjonsfilene
For å spare mye tid og unngå å kopiere og lime inn alt, kan du bare kopiere alle filene til konfigurasjonskatalogen.
sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort
Nå som konfigurasjonsfilene er der, kan du gjøre en av to ting:
- Du kan aktivere Barnyard2
- Eller du kan bare la konfigurasjonsfilene være i fred og selektivt aktivere de ønskede reglene.
Uansett vil du fortsatt ønske å endre et par ting. Fortsett å lese.
Konfigurasjon
I /etc/snort/snort.conffilen må du endre variabelen HOME_NET. Den bør settes til ditt interne nettverks IP-blokk slik at den ikke logger ditt eget nettverks forsøk på å logge på serveren. Dette kan være 10.0.0.0/24eller 192.168.0.0/16. På linje 45 /etc/snort/snort.confendres variabelen HOME_NETtil den verdien av nettverkets IP-blokk.
På mitt nettverk ser det slik ut:
ipvar HOME_NET 192.168.0.0/16
Deretter må du sette EXTERNAL_NETvariabelen til:
any
Som bare blir EXERNAL_NETtil det du HOME_NETikke er.
Setter reglene
Nå som et stort flertall av systemet er satt opp, må vi konfigurere reglene våre for denne lille grisen. Et sted rundt linje 104 i /etc/snort/snort.conffilen din bør du se en "var"-erklæring og variablene RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, og BLACK_LIST_PATH. Verdiene deres bør settes til banene vi brukte i Un-rooting Snort.
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
Når disse verdiene er angitt, slett eller kommenter de gjeldende reglene fra omtrent linje 548.
La oss nå sjekke at konfigurasjonen din er riktig. Du kan bekrefte det med snort.
# snort -T -c /etc/snort/snort.conf
Du vil se utdata som ligner på følgende (avkortet for korthets skyld).
Running in Test mode
--== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
.....
Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
Verifying Preprocessor Configurations!
--== Initialization Complete ==--
,,_ -*> Snort! <*-
o" )~ Version 2.9.8.0 GRE (Build 229)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.7.4
Using PCRE version: 8.35 2014-04-04
Using ZLIB version: 1.2.8
Rules Engine: SF_SNORT_DETECTION_ENGINE Version 2.4 <Build 1>
Preprocessor Object: SF_IMAP Version 1.0 <Build 1>
Preprocessor Object: SF_FTPTELNET Version 1.2 <Build 13>
Preprocessor Object: SF_SIP Version 1.1 <Build 1>
Preprocessor Object: SF_REPUTATION Version 1.1 <Build 1>
Preprocessor Object: SF_POP Version 1.0 <Build 1>
Preprocessor Object: SF_DCERPC2 Version 1.0 <Build 3>
Preprocessor Object: SF_SDF Version 1.1 <Build 1>
Preprocessor Object: SF_GTP Version 1.1 <Build 1>
Preprocessor Object: SF_DNS Version 1.1 <Build 4>
Preprocessor Object: SF_SSH Version 1.1 <Build 3>
Preprocessor Object: SF_DNP3 Version 1.1 <Build 1>
Preprocessor Object: SF_SSLPP Version 1.1 <Build 4>
Preprocessor Object: SF_SMTP Version 1.1 <Build 9>
Preprocessor Object: SF_MODBUS Version 1.1 <Build 1>
Snort successfully validated the configuration!
Snort exiting
Nå som alt er konfigurert uten feil, er vi klare til å begynne å teste Snort.
Tester Snort
Den enkleste måten å teste Snort på er ved å aktivere local.rules. Dette er en fil som inneholder dine egendefinerte regler.
Hvis du har lagt merke til i snort.conffilen, et sted rundt linje 546, eksisterer denne linjen:
include $RULE_PATH/local.rules
Hvis du ikke har det, legg det til rundt 546. Du kan deretter bruke local.rulesfilen for testing. Som en grunnleggende test har jeg bare Snort til å holde styr på en ping-forespørsel (ICMP-forespørsel). Du kan gjøre det ved å legge til i følgende linje i local.rulesfilen din .
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)
Når du har det i filen, lagrer du det og fortsett å lese.
Kjør testen
Følgende kommando vil starte Snort og skrive ut "hurtigmodus"-varsler, mens brukeren snorter, under gruppesnurren, ved å bruke config /etc/snort/snort.conf, og den vil lytte på nettverksgrensesnittet eno1. Du må bytte eno1til hvilket nettverksgrensesnitt systemet ditt lytter på.
$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1
Når du har den i gang, ping den datamaskinen. Du vil begynne å se utdata som ser ut som følgende:
01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal
Du kan trykke Ctrl+C for å avslutte programmet, og det er det. Snort er alt satt opp. Du kan nå bruke hvilke regler du ønsker.
Til slutt vil jeg merke meg at det er noen offentlige regler laget av fellesskapet du kan laste ned fra den offisielle siden under fanen "Fellesskap". Se etter "Snort", så rett under det er det en fellesskapslenke. Last ned den, pakk den ut og se etter community.rulesfilen.