Verwijderd schreef op 17 September 2003 @ 00:37:
[...]
Heb je hier nog een fatsoenlijke onderbouwing voor of zwam je nou wat in de ruimte

Ik weet dat de meeste intrusion analisten blackice gebruiken als windows hostbased IDS aangezien het zeer gedetaieerde informatie kan leveren. Zelf vertrouw ik al een jaartje of wat op m'n Sygate Personal firewall (voor zover ik onder windows zit natuurlijk

). Tevens is het
onzin om een linux distro te flamen omdat het in het verleden root exploits heeft gehad. Sterker nog, de kernel zelf heeft in de loop der tijd zelf ook zat (remote) root exploits gehad. Wil dat dan zeggen dat jij geen linux gebruikt, of (als je purist bent) totaal geen enkele computer cq besturings systeem? (aangezien er
geen enkel besturings systeem in het verleden zonder fouten heeft gezeten).
Onder unix is met een combinatie tussen snort, een packetfilter, portsentry, een eventuele data backend en het nodige script werk alles te bereiken wat je wilt.
<ul>
<li>Snort:
De opensource NIDS. Doet in z'n puurste vorm netwerkverkeer vergelijken met lijsten van "bekende" attack signatures). Is in verschillende variaties te patchen (zie ook hogwash) en is vergelijkbaar met, zo niet beter dan commerciele NIDS omgevingen. Het heeft een actieve user community die bezig is met het vinden/analyseren/maken van nieuwe signatures. Een plugin systeem zorgt ervoor dat het makkelijk is om de output in de meest gevarieerde vormen te krijgen (van libpcap dumps tot xml).</li>
<li>Met een packet filter kun je (al dan niet) geavanceerde access control toepassen op je netwerk interfaces. De meeste moderne firewall talen (pf, ipfw2, netfilter) ondersteunen de meest exotische features om al het netwerkverkeer te normaliseren(het uitfilteren van abcessen, zoals portscans, DoS attacks en abnormaal netwerkverkeer) en te controleren. Al de moderne talen zijn zowel makkelijk te scripten en/of er is een api voor.</li>
<li>Portsentry: Een (onder linux) geavanceerde portscan detector. Standaard worden "normale" portscans alleen maar gedetecteerd (datgene wat een volledige TCP handshake gemaakt hebben (SYN | SYN/ACK | ACK)). Onder linux heeft portsentry de mogelijkheid om zogenaamde "stealth" portscans te detecteren. Dwz, portscans die niet een volledige TCP handshake hebben gemaakt. Voorbeelden hiervan zijn bijvoorbeeld de SYN scan of de XMAS scan. Overigens hebben al de bovengenoemde packetfilters de mogelijkheid om te filteren op tcp flags, waardoor je de meeste (bijna alle?) portscans al blokt met je packetfilter. Portsentry kan echter weer wel gebruikt worden als een "Trapdoor". De output mogelijkheden zijn iewat gelimiteerd: een scan "loggen, de mogelijkheid om een host te blokken via een statische entry in je routetabel (waarbij het ip van de "attacker" wijst naar 127.0.0.1, waardoor je machine alle pakketjes voor dat ip doorstuurt naar localhost) of het uitvoeren van extern script.</li>
<li>Een databackend (zoals een database) is op de langere termijn, of als je heeel erg veel "attacks" krijgt erg handig in verband met de iewat uitgebreidere en efficientere zoekmogelijkheden die ze bieden.</li>
</ul>
Hiermee heb je in feite een unix like IDS, vele losse onderdelen, die erg goed zijn in hetgeen wat ze doen, wat jij vervolgens aan mekaar knoopt met behulp van (vul hier je favoriete "glue" taal in). Een aantal kant en klare oplossingen waar ik zo 123 aan kan denken zijn:
<ul>
<li>ACID: Analist Console for Intrusion Detection: Is niets meer en niets minder dan een console voor je intrusion detection systeem. Hiermee voer je bijvoorbeeld zoekacties mee uit en krijg je je "alerts" op binnen.</li>
<li>PureSecure: Een (commerciele?) all-in-one solution op basis van snort, mysql, php en nog wat klein dingetjes. Heeft op zich (die ene keer dat ik het uitgeprobeerd heb) leuke scripten, maar distantieert zich volledig van de bijgeleverde distributie (en verwacht dat ik een compiler op m'n systeem heb). Heb dit dus ook weer snel van m'n systeem verwijderd.</li>
<li>SnortCenter: Is een gui voor windows, heb ik nooit mee gewerkt, maar weet je iig dat er zelfs frontends zijn voor windows ;)</li>
</ul>
Wat jij bijvoorbeeld kan doen, is packetfilter rules genereren als je een bepaalde signature tegenkomt (bijvoorbeeld deze:
[rml][ openssh] Nieuwe ssh exploit *UPDATEN!!*[/rml]). Als je selectief genoeg bezig bent, en je ids zo tweaked dat ie zga geen "false-positive" genereerd, is dit te doen met heel weinig kans op "foutieve" packetfilter rules.