Actualitzar, actualitzar i reiniciar
Configuració prèvia a la instal·lació
Instal·lació de la biblioteca d'adquisició de dades (DAQ)
Instal·lació de Snort
Desarrela Snort
Snort és un sistema de detecció d'intrusions a la xarxa (IDS) gratuït . En termes menys oficials, us permet controlar la vostra xarxa per detectar activitats sospitoses en temps real . Actualment, Snort té paquets per a sistemes basats en Fedora, CentOS, FreeBSD i Windows. El mètode d'instal·lació exacte varia entre els sistemes operatius. En aquest tutorial, instal·larem directament des dels fitxers font per a Snort. Aquesta guia va ser escrita per a Debian.
Actualitzar, actualitzar i reiniciar
Abans de posar-nos a les nostres mans a les fonts Snort, ens hem d'assegurar que el nostre sistema estigui actualitzat. Ho podem fer emetent les ordres següents.
sudo apt-get update
sudo apt-get upgrade -y
sudo reboot
Configuració prèvia a la instal·lació
Un cop el sistema s'ha reiniciat, hem d'instal·lar una sèrie de paquets per assegurar-nos que podem instal·lar SBPP. Vaig poder esbrinar que alguns dels paquets que eren necessaris, de manera que l'ordre base es troba a continuació.
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
Un cop instal·lats tots els paquets, haureu de crear un directori temporal per als vostres fitxers font; poden estar a qualsevol lloc que vulgueu. Faré servir /usr/src/snort_src. Per crear aquesta carpeta, haureu d'haver iniciat la sessió com a rootusuari o tenir sudopermisos; rootnomés ho facilita.
sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src
Instal·lació de la biblioteca d'adquisició de dades (DAQ)
Abans de poder obtenir la font per a Snort, hem d'instal·lar el DAQ. És bastant senzill d'instal·lar.
wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
Extraieu els fitxers del fitxer tar.
tar xvfz daq-2.0.6.tar.gz
Canvieu al directori DAQ.
cd daq-2.0.6
Configureu i instal·leu el DAQ.
./configure; make; sudo make install
Aquesta darrera línia s'executarà ./configureprimer. Després s'executarà make. Finalment, s'executarà make install. Utilitzem la sintaxi més curta aquí només per estalviar una mica en escriure.
Instal·lant Snort
Volem assegurar-nos que estem de /usr/src/snort_srcnou al directori, així que assegureu-vos de canviar a aquest directori amb:
cd /usr/src/snort_src
Ara que estem al directori de les fonts, descarregarem el tar.gzfitxer de la font. En el moment d'escriure aquest article, la versió més recent de Snort és 2.9.8.0.
wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz
Les ordres per instal·lar snort són molt semblants a les que s'utilitzen per al DAQ, però tenen opcions diferents.
Extraieu els fitxers font de Snort.
tar xvfz snort-2.9.8.0.tar.gz
Canvia al directori font.
cd snort-2.9.8.0
Configurar i instal·lar les fonts.
./configure --enable-sourcefire; make; sudo make install
Postinstal·lació de Snort
Un cop hem instal·lat Snort, ens hem d'assegurar que les nostres biblioteques compartides estiguin actualitzades. Ho podem fer amb l'ordre:
sudo ldconfig
Després de fer-ho, proveu la vostra instal·lació de Snort:
snort --version
Si aquesta ordre no funciona, haureu de crear un enllaç simbòlic. Podeu fer-ho escrivint:
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version
La sortida resultant s'assemblarà a la següent:
,,_ -*> 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
Desarrelament de Snort
Ara que tenim Snort instal·lat, no volem que s'executi com a root, així que hem de crear un snortusuari i un grup. Per crear un usuari i un grup nous, podem utilitzar aquestes dues ordres:
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
Com que hem instal·lat el programa mitjançant la font, hem de crear els fitxers de configuració i les regles per a 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
Després de crear els directoris i les regles, ara hem de crear el directori de registre.
sudo mkdir /var/log/snort
I, finalment, abans de poder afegir qualsevol regla, necessitem un lloc per emmagatzemar les regles dinàmiques.
sudo mkdir /usr/local/lib/snort_dynamicrules
Un cop creats tots els fitxers anteriors, establiu-hi els permisos adequats.
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
Configuració dels fitxers de configuració
Per estalviar un munt de temps i per evitar haver de copiar i enganxar-ho tot, només cal que copieu tots els fitxers al directori de configuració.
sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort
Ara que hi ha els fitxers de configuració, podeu fer una d'aquestes dues coses:
- Podeu habilitar Barnyard2
- O podeu deixar els fitxers de configuració sols i activar selectivament les regles desitjades.
De qualsevol manera, encara voldràs canviar algunes coses. Segueix llegint.
Configuració
Al /etc/snort/snort.conffitxer, haureu de canviar la variable HOME_NET. S'hauria d'establir al bloc IP de la vostra xarxa interna perquè no registre els intents de la vostra pròpia xarxa d'iniciar sessió al servidor. Això pot ser 10.0.0.0/24o 192.168.0.0/16. A la línia 45 de /etc/snort/snort.confcanvieu la variable HOME_NETa aquest valor del bloc IP de la vostra xarxa.
A la meva xarxa, es veu així:
ipvar HOME_NET 192.168.0.0/16
Aleshores, haureu d'establir la EXTERNAL_NETvariable a:
any
Que només es converteix EXERNAL_NETen el que HOME_NETno sigui el teu .
Establiment de les regles
Ara que la gran majoria del sistema està configurada, hem de configurar les nostres regles per a aquest petit porquet. En algun lloc al voltant de la línia 104 al /etc/snort/snort.confarxiu, hauria d'aparèixer una declaració "var" i les variables RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, i BLACK_LIST_PATH. Els seus valors s'han d'establir en els camins que hem utilitzat a 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
Un cop establerts aquests valors, suprimiu o comenteu les regles actuals a partir de la línia 548 aproximadament.
Ara, comprovem que la vostra configuració és correcta. Podeu comprovar-ho amb snort.
# snort -T -c /etc/snort/snort.conf
Veureu una sortida semblant a la següent (truncada per a la brevetat).
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
Ara que tot està configurat sense errors, estem preparats per començar a provar Snort.
Prova Snort
La manera més senzilla de provar Snort és habilitant el local.rules. Aquest és un fitxer que conté les vostres regles personalitzades.
Si us heu adonat al snort.conffitxer, en algun lloc de la línia 546, aquesta línia existeix:
include $RULE_PATH/local.rules
Si no el teniu, si us plau, afegiu-lo al voltant del 546. A continuació, podeu utilitzar el local.rulesfitxer per provar-lo. Com a prova bàsica, només faig que Snort faci un seguiment d'una sol·licitud de ping (sol·licitud ICMP). Podeu fer-ho afegint la línia següent al vostre local.rulesfitxer.
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)
Un cop ho tingueu al fitxer, deseu-lo i continueu llegint.
Executeu la prova
La següent comanda iniciarà Snort i imprimirà alertes de "mode ràpid", a mesura que l'usuari bufa, sota el grup snort, utilitzant la configuració /etc/snort/snort.conf, i escoltarà a la interfície de xarxa eno1. Haureu de canviar eno1a qualsevol interfície de xarxa que escolti el vostre sistema.
$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1
Un cop el tingueu en funcionament, feu ping a l'ordinador. Començareu a veure una sortida semblant a la següent:
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
Podeu prémer Ctrl+C per sortir del programa, i ja està. Snort està tot configurat. Ara podeu utilitzar les regles que vulgueu.
Finalment, vull assenyalar que hi ha algunes regles públiques fetes per la comunitat que podeu descarregar des del lloc oficial a la pestanya "Comunitat". Cerqueu "Snort" i, a sota, hi ha un enllaç a la comunitat. Baixeu-lo, extreu-lo i cerqueu el community.rulesfitxer.