Linux E X P R E S

Facebook

Nessus - provádíme bezpečnostní audity

V dnešní době stále ještě mnoho lidí nechápe, že internet a všeobecně připojení k síti představuje pro jejich bezpečí větší hrozbu něž cokoli jiného. Pro každého útočníka je takřka alfou a omegou zjistit veškeré volně dostupné informace o systému, který má být později zkompromitován. Není tedy náhodou zmínit se o dodržování nebo spíše porušování často opomíjených internetových pravidel bezpečnosti.


Jelikož drtivá většina domácích uživatelů "pečlivě" vyplňuje a spouští vše, co pod klávesnici přijde, není se čemu divit například masovému šířením Worms (druh počítačového viru s jediným úkolem - rozšířit sebe sama na adresy dostupné v adresáři), nebo celkem primitivních útoků s pomocí již dávno objevených, avšak administrátory stále opomíjených bezpečnostních děr.

Obrázek: 1.jpg

Jakým způsobem se tedy může náš potenciální útočník řekněme obohatit o některé citlivé informace, si povíme v následujících odstavcích. Předně, v žádném případě nezáleží na tom, zda-li se jedná o domácí stanici, či korporátní server. Rovněž neexistuje zcela bezpečný systém, bezpečnost jako taková je vždy souhrn několika do sebe zapadajících a úzce spolupracujících faktorů. Nelze tedy úspěšně říci "Mám nainstalovaný firewall a od této chvíle jsem nedotknutelný". Avšak metody získávání informací jsou vždy stejné. Když velkoryse pomineme zjišťování pomocí social engineeringu, kdy se útočník vydává za někoho jiného (například správce podnikové sítě) a snaží se získat přístup k vašemu e-mailovému účtu nebo kontu uživatele v systému, musíme se zmínit o použití nebo spíše zneužití bezpečnostních skenerů. Tyto programy byly vyvinuty s úmyslem odhalit co nejvíce potencionálních chyb ve skenovaném počítači nebo celé síti. Jedním z nich je bezpečnostní skener Nessus, který si představíme.

Instalace

Samoinstalační balíček stažený z domovských stránek (www.nessus.org) zabírá necelých 8 MB a provede veškeré počáteční úkony po odsouhlasení licenčního ujednání za nás. Po skončení instalačního procesu je nezbytné vytvořit certifikát, který nám poslouží ke zprostředkování komunikace mezi klientskou částí programu a serverem. Pro vygenerování platného certifikátu proto napíšeme stále přihlášeni pod účtem superuživatele nessus-mkcert. Následně nás Nessus požádá o vložení doplňujících informací, týkajících se data vypršení certifikátu spolu s certifikátem serveru, názvu kraje, kódu oblasti, ve které žijeme, města a organizace. Samozřejmostí je možnost jednotlivé dotazy "odentrovat" a vyhnout se tak jakémukoli zadávání informací.

Obrázek: 2.jpg

Po úspěšném vytvoření certifikátu je nutné přidat uživatele, kterému udělíme práva používat Nessus. Vytvoření provedeme následujícím příkazem: nessus-adduser, kdy jsme nejprve požádáni o uživatelské jméno a později o způsob autentifikace. Tyto způsoby jsou dva. Tím prvním je metoda pass, kdy souhlasíme s uložením námi vytvořeného hesla. Druhou metodou je opětovné vytvoření ověřovacího certifikátu, tentokráte pro našeho uživatele. Po řádném vyplnění všech požadovaných informací můžeme ještě upravit rozsahy skenovaných IP adres. Kupříkladu když budeme chtít povolit našemu novému "brigádníkovi" testovat jen tři počítače, napíšeme: default deny (zakáže přístup k jiným PC, než budou definována) accept 10.0.0.1, accept 10.0.0.2 a podobným způsobem postupujeme dále. Veškeré vytvořené hodnoty potvrdíme klávesou [y] a můžeme provést aktualizaci.

O odstavec výše jsem se zmínil o možnosti provádět aktualizaci. Nicméně jsem měl spíše napsat, že se jedná o aktualizaci jednotlivých pluginů (program Nessus lze tímto způsobem libovolně rozšiřovat o testování kupříkladu nových zranitelností). Aktualizaci pluginů provedeme příkazem nessus-update-plugins, který v případě, že jsou dostupné nové verze, provede jejich stažení spolu s instalací.

Konfigurace a nastavení

Veškeré pluginy, které lze mj. velmi dobře upravovat, jsou naprogramovány v jazyce NASL (Nessus Atack Scripting Language). Tento skriptovací jazyk je na pochopení poměrně jednoduchý, takže s trochou praxe není důvod, proč si nevytvořit kupříkladu test, který se zaměří jen na určitý typ zranitelnosti využívající přetečení zásobníku, a výrazně tak zkrátit dobu prováděných testů.

Tak jako většina linuxových aplikací i Nessus disponuje svým konfiguračním souborem, který se nachází v /etc/nessus/. Kromě toho se ve stejném adresáři nachází i nessusd.rules umožnující přidávat či omezovat počet námi auditovaných IP adres a nessussd.users s restrikcemi pro jednotlivé uživatele.

Obrázek: 3.jpg

Vše podstatné již bylo řečeno a nyní přejdeme k samotnému skenování. Jako první se vždy spouští server neboli nessussd. Teprve až poté je možné spustit samotnou klientskou část. Po spuštění klientské části se ocitneme na kartě Nessusd Host. V jednotlivých polích lze nastavit název počítače, můžeme ponechat defaultní volbu localhost, port, na kterém program naslouchá, rovněž si vystačíme s nabídnutým 1241 a přihlašovací údaje námi již dříve vytvořeného uživatele. Poté klikneme na Log In a přijmeme vygenerovaný certifikát včetně předešlých vložených údajů. Tento certifikát se zobrazuje pouze při prvním spuštění, takže v budoucnu nás již nebude zdržovat.

Před přechodem na kartu Plugins je dobré se zmínit o nebezpečí, které nás může potkat v případě neuváženého použití některých pluginů. Z důvodů že ne všechny testy jsou zcela bezpečné, některé mají za úkol kupříkladu prověřit stabilitu chování systému při nárazových DOS (Denial of Service) útocích nebo CGI skripty, které mohou poměrně slušně zatížit webový server, se nedoporučuje provádět je při plném provozu serveru či klientské stanice. Lépe je počkat na vhodnější dobu, kdy bude méně zatížen a předejít tak případnému zamrznutí některých částí softwaru, v krajní situaci až celého systému.

Poté, co si navolíme námi stanovený seznam služeb, na které má být daný subjekt testován, přesuneme se na záložku Scan Option, kde můžeme kupříkladu změnit požadovaný rozsah námi skenovaných portů, cestu k CGI adresáři nebo třídění kupříkladu v místní síti s DHCP serverem na základě MAC adres namísto IP. Kromě těchto karet jsou zde k dispozici i User, Preferences, Knowledge Base a Credencials. Tyto se pak věnují hlubšímu nastavení jednotlivých parametrů, například jakým způsobem má být prováděn příkaz ping (TCP, nebo pomocí tak zvaných servisních ICMP paketů), skenovací techniky, vyplnění uživatelských jmen a hesel k jednotlivým službám (HTTP, NNTP, POP3, POP2, IMAP) a mnohé z další.

Nyní se přemístíme na kartu Target, kde stačí zadat námi nadefinovaný rozsah klientských IP adres a zahájit skenování. Rychlost prováděných testů se pochopitelně odvíjí od jejich počtu a rychlosti spojení spolu s auditovanými klienty.

Obrázek: 4.jpg

Shromažďujeme důkazy

Okno, které se objevilo, je rozděleno na pět přehledných částí zobrazujících analyzované informace spolu s návody k jejich řešení. V poli prvním, nazvaném Subnet, se zobrazuje IP adresa podsítě, do které náš testovací operační systém spadal. Pole Host ukazuje kompletní IP adresu, která po poklepání aktivuje informace v dalším okénku nazvaném Port. Zde jsou přehledně rozřazeny dle chyb a jejich závažnosti. Ikonka žárovičky nás informuje o "viditelné a dostupné" službě pro okolí. Ikonka mající ve znaku výstražný trojúhelník, znamená Warning, neboli potenciální bezpečnostní zranitelnost a konečně miniaturní "zákaz vjezdu" nás informuje o vážném problému, který je nutné bez odkladu řešit. Naštěstí je tento inteligentní program velmi dobře vybaven, a proto nalezneme pro drtivou většinou objevených nedostatků také jejich řešení (Solution). Opětovné otestování nám výsledek naší práce jistě potvrdí.

Diskuze (0) Nahoru