In questo post abbiamo visto come aggiornare snort alla versione 2.0.9.5 su piattaforma *buntu. Adesso vedremo come effettuare del tuning minimale per evitare tutta una serie di falsi positivi (base rate fallacy), che possono distogliere la nostra attenzione dalle reali minacce.
Personalmente credo che sui sistemi che vengono utilizzati per la semplice navigazione Web (o che fungono da GW verso la rete esterna) e su cui è presente un qualunque applicativo p2p occorre disabilitare le seguenti regole, inserendo le seguenti direttive nel file /etc/snort/threshold.conf:
suppress gen_id 119, sig_id 2 suppress gen_id 129, sig_id 12 suppress gen_id 129, sig_id 19 suppress gen_id 119, sig_id 15 suppress gen_id 120, sig_id 3 suppress gen_id 129, sig_id 14 suppress gen_id 129, sig_id 15 suppress gen_id 129, sig_id 5 suppress gen_id 129, sig_id 4
Tutte le regole riportate in precedenza sono identificate mediante un gen_id ed un sig_id, dove per gen_id si intende l’ID del preprocessore, mentre per sig_id si intende l’alert generato dal preprocessore coinvolto. Per avere un’idea più chiara di cosa sto parlando basta aprire in lettura il file /etc/snort/gen-msg.map. Così facendo potremo notare come al gen_id 119 ed al sig_id 2 corrisponde l’alert http_inspect: DOUBLE DECODING ATTACK, al gen_id 129 ed al sig_id 12 corrisponde l’alert stream5: TCP Small Segment Threshold Exceeded, e così via.
Nello specifico, ecco come appariranno le entry del file gen-msg.map:
126 || 2 || telnet_pp: Telnet data encrypted 126 || 3 || telnet_pp: Subnegotiation Begin without matching Subnegotiation End 128 || 1 || ssh: Gobbles exploit 128 || 2 || ssh: SSH1 CRC32 exploit 128 || 3 || ssh: Server version string overflow 128 || 4 || ssh: Protocol mismatch 128 || 5 || ssh: Bad message direction 128 || 6 || ssh: Payload size incorrect for the given payload 128 || 7 || ssh: Failed to detect SSH version string
ecc.
Riavviate snort per rendere effettive tali modifiche:
nightfly@nightbox:~$ sudo service snort restart
ed il gioco è fatto.
A presto.