Nätverksövervakning med Ndiff

Efter att ha sett Fyodor’s otroligt underhållande tal under Defcon16 Scanning the Internet with Nmap så blev jag intresserad av den nya funktionen ndiff som finns med i utvecklar versionen.
Efter att ha läst i en annan säkerhets blog om hur ndiff kunde användas så vill jag sprida kunskapen vidare.
Ndiff i sig är inget speciellt utan det diffar två xml dumpar man skapat med nmap och formaterar detta på ett fint sett för användaren. Jag tänkte visa er hur jag har implementerat detta på vårt nät genom att köra en full portscanning över hela vårt subnet varje natt och sedan ndiffa scanningen med föregående natts scanning, maila resultatet till mig själv så att jag varje morgon ser om något nytt device är inkopplat på nätet eller om någon klient/server har någon ny öppen/stängd port sedan sist.

Så nu över till min lilla HowTo
Först måste vi tanka ner utveklar versionen och kompilera denna. Nmap snubbarnas revisionssytem är subversion så om du inte redan har detta måste du ordna det. Checka sedan ut koden och kompiler.
[cce lang=”text”]# svn co –username guest –password “” svn://svn.insecure.org/nmap/ nmap[/cce]
Nu ska vi göra vår första scan manuellt för att skapa xml filen cron jobbet diffar mot.
Som root i /root kör följande fast anpassat efter ditt nät.
[cce lang=”text”]nmap -n -oX /root/baseline.xml 192.168.1.0/24[/cce]
Nu skapar vi 2 cron jobb som körs varje natt. Det första jobbet scannar av hella vårt subnet och sparar outputen till current.xml, vi skappar även en lock fil här som finns så nmap körs.
(all kod på en rad)
[cce lang=”text”]
0 1 * * * (touch /var/run/nmap.running; nmap -n -oX
/root/current.xml 192.168.1.0/24 >/dev/null;
rm /var/run/nmap.running)
[/cce]
I det andra cron jobbet ska vi låta ndiff gå igenom våra xml loggar och maila diffen till oss.
Om nmap inte är klart avaktar ndiff, ndiff körs, mailar outputen och slutligen ändrar den namt på vår senaste scanning till baseline.xml.
(allt på en rad)
[cce lang=”text”]
0 2 * * * (while [ -f /var/run/nmap.running]; do sleep 5; done;
ndiff /root/baseline.xml /root/current.xml |
/bin/maix -s "Network Scan" din@mail.se;
mv /root/current.xml /root/baseline.xml)
[/cce]

Leave a Reply

Your email address will not be published.