Možná jste si už někdy položili otázku: "Jak moc bezpečný je můj server (počítač)?" Určitě jste si nakonfigurovali firewall, ale to nestačí ... Potřebujete vědět víc ... Pojďte najít díry do vašeho systému.
16.8.2004 08:00 | Michal Vyroubal | přečteno 11876×
Víte, jak vypadá bezpečný počítač? Pravděpodobně je zakopaný 1 km pod zemí v pancéřovaném trezoru a v žádném případě není připojen k počítačové síti. Žel takový počítač je nepoužitelný, a to proto, že 1 km pod zemí je docela chladno a bez počítačové sítě se špatně komunikuje s okolím. A čím víc chcete využívat nejrůznější služby sítě, tím více musíte váš počítač otevřít a tím menší je jeho bezpečnost.
Ve chvíli, kdy připojíte síťový kabel do svého počítače, začnou vás navštěvovat balíčky dat (pakety). Každý takový paket doputuje na váš počítač k určitému přístavu (portu) a tam zakotví. Některé porty jsou otevřené, jiné uzavřené. Toto otevírání a zavírání se realizuje pomocí firewallu. Ale co ty otevřené porty? Zde je celá bezpečnost v rukou aplikace (služby, démona), která port obsluhuje. Právě zabezpečení techto otevřených portů bude předmětem našeho článku.
Nessus je nástroj sloužící ke kompletnímu scanování stroje. Nejenže ověří, které porty jsou otevřené a jaké služby na nich běží (na to by stačil nmap), ale hlavně umí zjistit bezpečnostní slabiny služeb obsluhujících porty.
Co potřebujete o počítači znát před zahájením scanu? Stačí IP adresa nebo dokonce jen jeho doménové jméno.
Nessus se skládá ze dvou částí:
Před zahájením scanování se klient připojí k serveru a veškerý scan je poté prováděn ve jménu počítače, na kterém běží serverová část. To může mít nejrůznější výhody. Můžete tak odlehčit svému internetovému připojení. Rovněž pokud jste v síti, která je schovaná za firewallem, bylo by komplikované protlačit scanování přes firewall (firewall totiž některé testy nemusí pustit ven). Řešením je samozřejmě umístění serverové části mimo "ochranu" firewallu.
Nejprve si tedy nessus stáhněte nebo se podívejte, jestli není součástí vaší oblíbené distribuce Linuxu. Použití prográmku si ukážeme ve třech krocích.
Pro vytvoření použijeme příkaz nessus-adduser
# nessus-adduser
Addition of a new nessusd user
------------------------------
Login : vyrbl
Authentication (pass/cert) [pass] : pass
Password : heslo
User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that renaud2 has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser(8) man page for the rules syntax
Enter the rules for this user, and hit ctrl-D once you are done :
(the user can have an empty rules set)
deny 10.0.0.254
accept 10.0.0.0/24
default deny
Login : vyrbl
Password : heslo
DN :
Rules :
deny 10.0.0.254
accept 10.0.0.0/24
default deny
Is that ok (y/n) ? [y] y
user added.
Takto jsme vytvořili uživatele vyrbl, který se bude k nessusd serveru přihlašovat s heslem heslo (pozor, při vytváření uživatele se bude zadávané heslo opravdu zobrazovat - stejně jako v příkladu; takže si nenechte nikoho stát za zády :-).
Uživateli zakážeme scanovat stroj na IP adrese 10.0.0.254 (to je totiž náš lokální server); jinak může prověřit kterýkoli stroj v lokální síti. Výchozí bezpečnostní politika je deny (neboli co není povoleno je zakázáno).
Na závěr potvrdíme krátké opakování a nový uživatel je na serveru zaveden.
Nyní spustíme server příkazem nessusd, nejlépe s parametrem D, který způsobí, že server poběží jako služba (démon). K tomuto spuštění ovšem potřebujete mít náležitá oprávnění. Rovněž je možné při spouštění nastavit port, na kterém server naslouchá (výchozí je 1241/tcp, kde se hlásí jako msg) a spoustu dalších jemností.
nessusd -D
Klienta spustíme příkazem nessus. A už koukáme na klikací okno, které má 8 záložek pro ovládání a nastavování. Probereme si důležitá nastavení a volby.
Na kartě Nessusd host nastavíte, kde běží server nessusd a přihlašovací údaje k němu. Ve chvíli logování proběhne ověření SSL klíčů. Rovněž se vám do klienta načtou údaje o plug-inech instalovaných na serveru.
Karta Plugins nabízí výběr testovacích modulů (jsou vyvíjeny stále nové moduly, které si můžete přidat). Výchozí nastavení je takové, aby se prováděly jen takové testy, které nemohou ohrozit běh testovaného stroje. Pokud bychom testovali například Denial of Service, mohlo by to na stroji, který není zabezpečen proti tomuto typu útoku, opravdu vyvolat výpadek služby - buďte tedy opatrní. Všechny tyto moduly můžete přesněji nastavit na záložce Prefs. (například metody scanování, rozsah scanovaných portů, metoda používaná pro ping, ...). Docela zajímavé je nastavení SMB účtu, které nessusovi umožní připojit se k Windows a zjistit o nich více informací (např. úroveň aktuálnosti systému).
Karta Scan options slouží k nastavení parametrů samotného testování (rozsah portů, ...). Docela užitečné nastavení je zde kolik hostů je možné testovat najednou (hodí se, pokud testujete více strojů z rozsahu IP adres).
Na kartě Target selection určujeme, co se bude scannovat. Je několik možností zadání:
Users - tato karta slouží k nastavení vyjímek. Například chci testovat stroje 10.0.0.21-30, ale rozhodně nechci testovat počítač hlavního správce sítě 10.0.0.25. V Target selection tedy nastavím 10.0.0.21-30 a na kartě Users přidám pravidlo
reject 10.0.0.25
default accept
Teď již můžeme Start the scan. (Pokud testujete počítače v Internetu, zajděte si na oběd - provedení scanování bude trvat delší dobu. V lokální síti to jde docela rychle.)
Záložka KB umožňuje nastavit ukládání výsledků testu na straně serveru nessusd (jinak se ukládají na klientovi). A konečně Credits - zatleskejme tvůrcům tohoto super programu.
Výsledek testu se zobrazí v přehledném zobrazení. Rovněž jej můžete uložit v mnoha různých formátech. Můžete se podívat jak vypadá výsledek testu. Testovaný stroj má "operační systém" M$ Windows 98SE a uživatel se cítí bezpečně, protože má přece povoleno "jen" sdílení souborů ...
Ve výsledku jsou tři úrovně zpráv: Security notes, warnings, hole (bezpečnostní poznámky, varování, díry).
Tento software mohu doporučit každému správci, který chce být rychlejší než případný útočník.