Skrevet cirka 2006.
Baseret på kapitel 9 i Mastering FreeBSD and OpenBSD security.
Intrusion Detection Systems forsvarer ikke aktivt netværket. De rappor- terer udelukkende, og derfor skal en administrator manuelt handle på IDS’ens logs.
IDS’er kan tage en del resurser og diskplads, og bør derfor ikke køres på alt for gamle maskiner. Eksempelvis kan en maskine på et par hundrede MHz, med 256mb ram og 10gb disk godt klare en middelstor DSL-linje. Hvis der er tale om en NIDS, vil netværkskort der har hardwarehåndtering af pakker være smart. F.eks. Intels kort med fxp-driveren.
Det er vigtigt at have handleplaner for hvad der skal ske i forskellige situationer. Udarbejd dokumenter, der fortæller hvad der f.eks. skal ske ved portscans, exploitforsøg og lign. Måske er der forskellige regler alt efter om angriberen kommer inde- eller udefra.
Nødvendigheden af IDS er en del lavere end nødvendigheden af alm. sikker konguration, rewalls, opdateringer osv. Sørg for at hav de basale ting på plads, og implementer IDS derefter, hvis der er plads til det, både økonomisk og tidsmæssigt administrativt.
2.1 IDS arkitekturer
2.1.1 HIDS
Host based IDS er installeret på den maskine der ønskes IDS på. Den kan f.eks. overvåge systemkald, ler og input fra både netværk og andre inpu- tenheder (terminaler, keyboard osv). Den skal vedligeholdes på hver enkelt maskine, så det kan hurtigt blive en stor administrativ opgave i sig selv, hvis der er tale om et større antal maskiner.
2.1.2 NIDS
Network based IDS er styret fra en enkelt maskine. Denne snier så al trak på netværket, eventuelt ved hjælp af mindre sensorer hvis det er et større netværk. Administrationen er central, men til gengæld holdes der kun øje med netværkstrak. NIDS-sensorer kan ved hver maskine, lige efter rewal- len, eller sammen med en netværks tap (span port, mirror port på switches), der så sender al trak til NIDS’en. Det er en planlægningsopgave i sig selv.
Sikring af NIDS
En NIDS bør sikres som en rewall, eller bedre. Overfor portskanning bør den være ikkeeksisterende, og man kan sagtens undlade at tildele den en IP- adresse. I små netværk med begrænset hardware, kan den dog måske tillades at indgå på samme maskine som rewall. Et typisk NIDS-angreb, er at lade NIDS’en generere så mange logler, at der bliver problemer med diskpladsen. Derfor kan det være en ide at lade NIDS’en have sin egen partition, f.eks. i /var/ids/
2.1.3 Loganalyser og honeypots er ikke IDS
Nogle gange misforståes hvad der er IDS, og hvad der blot er at kigge i log- ler. Programmer som Swatch, der holder øje med logler og kan rapportere sikkerhedsproblemer på baggrund af logler alene, er ikke en hel IDS. Men derudover er log monitering også vigtigt.
Honeypots er gode til at give en ide om hvordan en angriber forsøger 13
at trænge ind, men de giver ikke nogen information om angreb på ens reele system.
2.1.4 IPS
Intrusion Prevension System er en lidt udvidet IDS-type, der sidder aktivt i et netværk, ligesom en rewall. Hvis der er mistanke om angreb, kan den lukke af for den mistænkelige trak. Det kan dog medføre at lovlig trak hindres ved uheld, og i værste fald kan det misbruges til DOS-angreb.
2.1.5 Fejlrapporteringer
En IDS kan både rapportere forkert positivt og negativt. False positives er når IDS’en tror den detekterer et angreb, selv om det ikke sker. Det kan skabe en del forvirring og unødvendigt arbejde. False negatives er dog værre, da det vil sige angreb uden IDS’en har detekteret det. Begge dele bør man prøve at undgå, ved at nindstille sin IDS til netværket. Det kan være en god ide selv at lave ægte angreb og angrebslignende trak, for at teste IDS’en.
2.2 NIDS på BSD
NIDS virker nt på både Open- og FreeBSD. Det er vigtigt at holde sin IDS sikker, da en angriber der opdager en IDS, naturligt vil prøve at sætte denne ude af funktion. OpenBSD vil være oplagt til de este mindre IDS’er, men til store net med mange forskellige krav, kan FreeBSD måske være smartere.
2.2.1 Snort
Installation og konguration
Snort ligger i ports, og bør være ligetil at installere. Som standard gemmer den logler i ren tekst, men den kan bygges med with-mysql for at bruge database til formålet i stedet.