(Veď ako sa vraví, trocha teórie ešte nikoho nezabilo. Ako dôkaz možu slúžiť absolventi univerzít :-))
Takže čo to vlastne ten Intrusion Detection System (IDS) je. IDS je súbor opatrení ktoré zabezpečia že v prípade prieniku nepovolaného objektu do siete bude tento odhalený. Typicky sa jedná o program ktorý sa stará o identifikáciu prienikov, hardware na ktorom IDS beží a súbor pravidiel (politiku) ktorá vraví čo robiť ak k nejakému prieniku dôjde.
Toľko teória.
Intrusion Detection Systémy môžeme rozdeliť na dve podskupiny a to Network a Host IDS.
Network Intrusion Detection System (NIDS) je, ako jeho názov prezrádza, systém ktorý pri správnom nasadení dokáže odhaliť prienik na základe aktivity na sieti.
Host Intrusion Detection System (HIDS) je zasa systém ktorý odhaľuje prienik na základe nekalých aktivít priamo na danom stroji.
V tomto článku sa budeme zaoberať jedným z viacerých IDS ktorý pracuje pod Linuxom a to IDS menom Snort. (Ak by niekoho zaujímali aj iné, komerčné alternatívy, spomeniem tu iba ich mená. Sú to napr. Cisco Secure IDS, CA eTrust, Enterasys Dragon a tak ďalej.)
Náš krásnyj.
Co je na tom krásnýho, dyť je to červený jako trenýrky. To náš je krásný.
Náš krásnyj.
[Kolja]
A teraz hor sa do praxe
Ako asi taký IDS v krátkosti funguje? Každý útok alebo podozrivá činnosť je niečím charakteristická. Na základe týchto charakteristík boli napísane pravidlá (rules, signatures). Engine ktorý pracuje vlastne na podobnom princípe ako sieťový sniffer porovnáva pakety ktoré jadro spracúva s týmito pravidlami a v prípade že paket vyhovuje danému pravidlu, je načase vykonať príslušnú akciu.
A ako si s touto teóriou implementačne poradili autori IDS Snort?
Rozprávanie o snorte začneme základnými informáciami o tomto projekte. Domovská stránka projektu sa nachádza na adrese www.snort.org. Súčastná verzia snortu je 1.8.3. Na tejto stránke je možne nájsť zdrojové súbory ale aj binárne balíky pre niektoré distribúcie.
Na spomínanej stránke nájdete taktiež aj aktuálne súbory signatúr, ktoré mimochodom vychádzajú každú pol hodinu, rozdelené do množstva (približne 33) súborov podľa príslušnosti ku konkrétnej internetovej službe alebo podľa inej príslušnosti. (Pre zaujímavosť v posledných verziách sa objavili aj pravidlá pre sledovanie prístupu na stránky s obsahom pre dospelých :-)) Signatúry sú v „ľudsky čitateľnej“ (human readable) forme.
Signatúra pre detekciu exploitu útočiaceho na váš wu-ftpd verzie 2.6.0 vyzerá asi takto:
alert tcp $EXTERNAL_NET any → $HOME_NET 21 (msg:„FTP EXPLOIT wu-ftpd 2.6.0 bsd“; content: „|31c0 50 50 50 b07e cd80 31db 31c0|“; flags: A+; depth: 32; reference:arachnids,228; classtype:attempted-admin; sid:343; rev:1;)
(původně bylo vše na jednom řádku, ale pro publikování jsme museli řádek zalomit – pozn. redakce)
V krátkosti: toto pravidlo vraví že ak sa objaví TCP paket smerujúci z externej siete (táto premenná sa nastaví v konfiguračnom súbore) z akéhokoľvek portu do domovskej siete na port 21 a tento paket bude obsahovať sekvenciu znakov 31c0 50 50 50 b07e cd80 31db 31c0 s príznakom ACK je klasifikovaný ako pokus o získanie práv správcu systému a v takomto prípade sa vykoná akcia alert. Dalšie informácie uvedené v tomto pravidle sú sid, ktoré predstavuje jedinečne číslo pravidla (signature id), verzia pravidla (rev) a navyše voľba ktorá zvyšuje výkon IDS a to že payload paketu sa bude v tomto prípade prehľadávať iba do hĺbky 32 bajtov (depth: 32).
Ak sa vo Vašej sieti objaví takýto útok, v logoch IDS nájdete takýto riadok:
25/01–08:39:18.031375 [] [1:343:1] <eth1> FTP EXPLOIT wu-ftpd 2.6.0 bsd [] [Classification: Attempted Administrator Privilege Gain ] [Priority: 10] {PROTO006} 195.168.1.141:4870 → 129.10.11.2:21
(řádek byl opět zalomen – pozn. redakce)
Samozrejme ak si to budete želať (vhodným parametrom pri spustení snortu), tak vám snort daný rámec uloží do súboru pre ďalšie analyzovanie.
Poviete si: „No dobre ale čo s tým?“ Teraz už zostáva iba pozorne sledovať alert log a podľa jeho obsahu sa taktiež aj riadiť. Tak o tom ako aj o niečo viac o konfigurácii Snortu si povieme v nasledujúcej časti seriálu. Nabudúce si taktiež uvedieme malý príklad s konfiguráciou IDS pre malý linuxový firewall.
Ak je niekto netrpezlivý a nevydrží čakať na nasledújuci diel seriálu, odporúčam prečítať manuálové stránky :-).Ako sa veľmi často a veľmi výstižne zvykne hovoriť a písať RTFM :-).