Bezpečně od počátku Baseline security pro Windows v praxi

1. 9. 2005

Sdílet

Prakticky žádný z běžně používaných operačních systémů se nerodí jako zcela bezpečný. Nezbytným úkolem administrátora či správce bezpečnosti je, pokud to se zabezpečením opravdu myslí vážně, před nasazením stroje do produkční sítě zajistit jeho výchozí úroveň zabezpečení, tzv. baseline security. Podíváme se blíže na tuto problematiku v prostředí operačních systémů firmy Microsoft.

V oblasti výchozího zabezpečení svých operačních systémů sklidila společnost Microsoft v uplynulých letech opakovaně silnou kritiku. Nejen v případě klientských počítačů, ale i serverů znamenaly ještě Windows 2000 pro nepoučeného či nedůsledného administrátora zrádnou past, neboť bez dodatečných kroků se jednalo o pozvánku pro jakéhokoliv útočníka. Bez ohledu na propagační kampaně je však třeba objektivně říci, že výrobce v této oblasti výrazně pokročil a dal správcům do ruky nástroje, s nimiž se dá seriózně pracovat. A vývoj v této oblasti samozřejmě pokračuje.


Security Templates
Jedním z nejdůležitějších základních mechanismů pro výchozí zabezpečení operačního systému Windows jsou v současné době Šablony zabezpečení, tedy Security Templates. Tento poměrně propracovaný způsob kontroly řady bezpečnostních a funkčních parametrů byl uveden před zhruba šesti lety s vývojem verze Windows 2000 a dnes je tedy k dispozici v této verzi a všech novějších (2000, XP, 2003), a to jak ve variantách pro stanice, tak servery. Princip fungování je poměrně přesně vystižen samotným názvem: šablona je jakýmsi konkrétním seznamem bezpečnostních parametrů, jejichž obecná množina je v operačním systému definována pod názvem Security settings. Jednorázovým aplikováním šablony tedy nastavíme specifické hodnoty pro dané atributy. Množina je poměrně bohatá a zahrnuje konfigurace mnoha desítek parametrů, od politik pro kvalitu hesel a zamykání účtů přes přiřazení práv pro specifické úkony v operačním systému až po univerzální nástroje k definování přístupových práv na souborový systém či databázi Registry. Velkou výhodou je, že samotná šablona je prostý textový soubor, který je možné případně editovat jakýmkoliv programem a bez potíží také distribuovat.
Protože konfigurace v "holém textu" je samozřejmě nepohodlná, vhodnějším rozhraním je některá z grafických konzolí v podobě snap-inu pro MMC. Pro jednotlivý počítač lze použít Local security, mnohem důležitější však je stejné rozhraní v rámci editoru objektů skupinových politik (Group policy), jejichž pomocí je samozřejmě ideální šablony nasazovat na koncové počítače. Již od verze 2000 je systém po instalaci vybaven výchozí kolekcí předem definovaných šablon, jež poslouží jako ideální počáteční materiál pro zpřesňování a rozšiřování. Navíc Microsoft v rámci distribuce dokumentace a dodatečných nástrojů nabízí další kolekce specifických šablon, takže spolu s balíky Windows Server 2003 Security Guide či Windows XP Security Guide můžete získat další zásobu.


Secedit
Jak již bylo zmíněno, klíčovou otázkou je distribuce šablon na cílové počítače a propagace zvolených nastavení. Jednu z možností představují Skupinové politiky (Group policy), jež však nevyhoví všem požadavkům: pro potřeby hromadných analýz či specifické automatizace však můžeme sáhnout po dalším zajímavém nástroji.
Konzolová aplikace Secedit, spustitelná z příkazové řádky, je určena k operacím s bezpečnostními šablonami a pracuje v několika režimech. Varianta s přepínačem "analyze" zajišťuje porovnání momentálního stavu počítače s existující šablonou a dobře poslouží jak momentálnímu průzkumu, tak opakované údržbě. Další volba "configure" pak zavádí určenou šablonu jako okamžité nastavení na určený počítač. Velmi zajímavou pak může být varianta "export", s jejíž pomocí lze extrahovat momentální zavedená bezpečnostní nastavení a uložit je do podoby nové bezpečnostní šablony, ať již pro kontrolu nebo pro další aplikaci. Přepínač "validate" je určen pouze pro kontrolu syntaktické správnosti předložené šablony. Protože Secedit je standardní výbavou všech variant Windows od verze 2000 výše, je možné bez obav použít tento nástroj v dávkách a skriptech bez předchozí nutnosti distribuce či instalace. Pro úplnost dodejme, že oproti variantě Seceditu ve Windows 2000 došlo ve verzích XP a 2003 k drobné změně: dříve fungující parametr "refreshpolicy" pro okamžité propagování parametrů Group policy byl nově nahrazen samostatným konzolovým nástrojem Gpupdate.


SUS, WUS a MBSA
Jednou ze zásadních oblastí základního zabezpečení operačního systému je správa bezpečnostních záplat (patch management). Na tomto poli vede Microsoft dlouhodobě marketingově-diskusní kampaň s konkurenty a oponenty, ale v posledních letech naštěstí též vyvíjí software.
Protože první vývojová fáze správy updatů - samotná internetová služba Windows Update - byla v původním provedení pro centrální řízení ve větších firemních sítích nepoužitelná, nastala zásadní změna až s příchodem služby Software Update Services. Toto řešení, postavené jako aplikace nad službami BITS (přenosy dat klientům na pozadí běhu systému) a IIS, již dovoluje vytvořit vnitrofiremní distribuční servery a selektivně klientům poskytovat kolekce záplat ke stažení. Přes postupné rozšiřování funkcionality - třeba možnost takto distribuovat balíky Service Pack - dospěli tvůrci k momentální podobě, ke službě Windows Update Service. Jde o zásadní rozšíření původního konceptu, takže je možné pokročilejším způsobem spravovat a monitorovat ošetřované počítače a především distribuovat nejen bezpečnostní záplaty systému, ale též další funkční komponenty i pro aplikační balíky Office a další řešení. Momentálně je systém WUS ve fázi pokročilého beta-testování a v době psaní článku proběhly zprávy o jeho možném přejmenování, ale především o plánu uvolnit v průběhu března další pokročilou vývojovou verzi k testům. Dodejme, že již v momentální podobě lze službu WUS poměrně úspěšně nasadit i do produkčního prostředí.
Na rozdíl od předchozích produktů, jež jsou zaměřeny na distribuci oprav, je aplikace Microsoft Baseline Security Analyzer určena k pokročilému monitorování sítě a auditu základních bezpečnostních nastavení. Se službami SUS/WUS může těsně spolupracovat, neboť dokáže především zjišťovat chybějící záplaty na cílových strojích, mimo to ovšem sleduje také nastavení politiky hesel, auditování, členství v citlivých uživatelských skupinách či řadu dalších potenciálních slabin v nastavení Windows. Skenování sítě lze provádět hromadně či pro jednotlivý stroj a výsledné reporty samozřejmě archivovat a opakovaně analyzovat. I v případě tohoto nástroje je k dispozici konzolová varianta pro příkazový řádek Mbsacli.exe, což dovoluje nasazení automatizovaných skriptů a dávkových souborů ve větších sítích, včetně ovlivnění podoby výstupních sestav pro další zpracování. Vývoj MBSA směřuje především k rozšíření počtu aplikací, jež lze kromě samotného operačního systému kontrolovat, takže zde figurují též SQL Server, Exchange 2003, ale též třeba BizTalk Server nebo MS Virtual Machine. Aktuální databázi momentálně známých bezpečnostních děr a vydaných záplat si program v základní konfiguraci stahuje ze stránek výrobce v podobě konfiguračního souboru.


Security Configuration Wizard
Prozatím nejnovějším příspěvkem v oblasti základního zabezpečení Windows je nástroj výše uvedeného jména, který administrátoři v definitivní podobě naleznou v chystaném balíku Service Pack 1 pro Windows Server 2003 (v době psaní článku byla k dispozici v testovací verzi SP1 RC2). Dle dosud uvolněných informací a zkušeností jde o nedělitelnou komponentu systému a možnost instalace na Windows 2000 tedy zřejmě nepřipadá v úvahu.
Nástroj je koncipován v podobném duchu jako např. dříve uvedený IIS Lockdown Tool, s jehož pomocí jste mohli totálně zabezpečit službu IIS 5 na platformě Windows 2000. V první řadě jej lze použít jako grafický wizard, jenž dovoluje jak připravit kompletní konfigurační soubor (vše je ukládáno jako XML), tak aplikovat dříve připravené sestavy či provést "krok zpět", tedy na základě uloženého logu vrátit nastavení do podoby před spuštěním SCF. Kolekce bezpečnostních parametrů, nazývaných Security Policy, jsou založeny na principu tzv. serverových rolí: při sestavování vlastních konfiguračních předloh (pozor, neplést se Security Templates, jde o jiné šablony!) se vychází z role, jakou bude server v síti zastávat, a tomu následně odpovídá výchozí definice parametrů. Volené serverové role samozřejmě odpovídají především implementacím různých funkcí sítí Microsoft, takže zde najdete třeba Doménový řadič či Exchange server jako front-end i back-end, ale také univerzálnější služby typu DHCP, DNS a také servery souborové a tiskové (rolí je několik desítek). Kompletní Security policy, jež vzniká podle zvolené role, pak zahrnuje širokou škálu parametrů - především je kladen důraz na přítomnost jednotlivých služeb (Services) a režim jejich spouštění, avšak pracuje se tu i s nastavením některých parametrů v Registry, konfigurací síťových rozhraní či nastavením funkce Auditu, kde dochází ke spolupráci s tradičními Security Templates.
Pro administraci větších sítí je pochopitelně významnou možností hromadné nasazení a automatizace. Zde je namístě zmínit konzolovou variantu scwcmd.exe, s jejíž pomocí lze provádět v dávkových souborech jak dálkovou, tak hromadnou konfiguraci více počítačů. Její řízení je postaveno na přiložených definičních souborech ve formátu XML. Již v první verzi je navíc možné potenciál nástroje dále rozšiřovat dle vlastních představ, neboť tzv. serverové role lze definovat zcela nově a rozšířit tak existující, ve výchozí podobě přiloženou kolekci s názvem SCW Knowledge Base. Pro nově vznikající serverovou roli pak definujete především požadované služby (Services), porty otevřené na síťovém rozhraní a také třeba nutné rozšiřující knihovny pro běh webového aplikačního serveru, pokud je v součinnosti vyžadován. Na závěr ještě připomeňme, že SCF dovoluje provádět jak návrh Security Policy, tak její aplikace, ale vedle toho lze počítače pouze analyzovat a srovnat skutečný stav s připraveným předobrazem a na základě průzkumu poté provádět dodatečné kroky.
V každém případě patří Security Configuratin Wizard mezi to nejsilnější, co Microsoft pro své systémy v oblasti "baseline security" připravil.
Klíčový mechanismus výchozího zabezpečení Windows představují dnes Šablony zabezpečení (Security templates). Nejpohodlnější je editace v příslušné grafické konzole.

Velkou výhodou je samotný formát Šablony zabezpečení. Textový soubor se dobře přenáší, případně i upravuje a jeho parametry jsou transparentní.

K provádění základního bezpečnostního auditu nabízí společnost Microsoft zdarma nástroj Baseline Security Analyzer. Můžete použít jak interaktivní grafické rozhraní, tak konzolové rozhraní s řadou voleb pro dávkové zpracování.

Distribuované řešení pro správu bezpečnostních záplat a oprav operačního systému je ve větších sítích nezbytností. Poslední vývojová fáze v podání Microsoftu je označována jako Windows Update Services.

Hromadná práce s Šablonami zabezpečení je možná pomocí nástroje Secedit, jenž je primárně určen k dávkovému a hromadnému spouštění.

S nejnovějším balíkem Service Pack 1 pro Windows Server 2003 přichází i nástroj Security Configuration Wizard, který dále posunuje možnosti správy základního zabezpečení.

Nástroj Security Configuration Wizard je založen na definování tzv. serverových rolí, jejichž databázi je možné dále rozšiřovat.

Autor článku