Nestandardní instalace přinesly problémy

Rutinní bezpečnostní prověrka ukazuje, že naše bezpečné obrazy disků, které by měly být používány k instalaci n...


Rutinní bezpečnostní prověrka ukazuje, že naše bezpečné obrazy disků, které by
měly být používány k instalaci nových systémů, nahradily obrazy nové. Takové,
které obsahují bezpečnostní slabiny.
Tento týden jsem provedl rychlý rutinní test bezpečnostních slabin vzorku
našeho produkčního IT prostředí. Nečekal jsem žádné závažnější problémy. Proto
jsem výsledky nebyl potěšen. Vyhodnocování zabezpečení je kritickou součástí
procesu, v jehož rámci by měla být ověřována bezpečnost v mé společnosti v
jakémkoli úseku času. Proto by mělo probíhat neustále anebo alespoň dostatečně
často. Musí být tedy možno ho provádět dostatečně efektivně, aby
nespotřebovávalo příliš velké množství našich zdrojů.
Moje metodologie je poměrně přímočará. Používám kombinaci tří skenovacích
nástrojů: Internet Scanner od Internet Security Systems, Retina Network Scanner
od eEye Digital Security a Nessus, volně šiřitelný síťový skener dostupný na
adrese www.nessus.org. S těmito mocnými nástroji mohu získat srozumitelný
pohled na slabiny v naší IT infrastruktuře. Rozhodně netvrdím, že tato metoda
odhalí 100 % všech možných problémů, ale určitě se k tomuto stavu dostane velmi
blízko. A naše další aktivity, jako například vyhodnocování na aplikační
úrovni, revize architektury i kódu, nás dostanou ještě blíže k ideálnímu stavu.
Všechny tři uvedené nástroje se snadno používají a jsou schopny skenovat adresy
z předkonfigurovaného seznamu. Pro své vyhodnocování vždy vybírám vzorek z
každé funkční oblasti firmy. Jde například o webové servery, databázové
servery, aplikační servery, e-mailové servery, servery DNS (Domain Name
System), servery LDAP (Lightweight Directory Access Protocol), doménové
kontroléry, několik firewallů, routerů a přepínačů. I tentokrát jsem použil
Windows Notepad a jeho prostřednictvím jsem vytvořil seznam přibližně 40 IP
adres.

Naše prostředí
V našem produkčním prostředí je v provozu více než 300 serverů, já jsem však
skenoval pouze 40 z nich. Nemám bohužel čas přistupovat ke každému z
používaných strojů a provádět jeho revizi a něco takového by v podstatě ani
nemělo být potřebné. Všechny servery plnící nějakou konkrétní (stejnou) funkci
jsou totiž v naší firmě konfigurovány identicky. Nebo jsem si to alespoň vždy
myslel.
Aby bylo v našem prostředí dosaženo požadované konzistence, předpokládá se, že
správci serverů používají pro instalaci standardní obraz disku (disk image);
poté spustí postinstalační skripty, které zajistí instalaci dodatečného
softwaru a následně provedou definované modifikace zabezpečení podle toho,
jakou funkci má ten který konkrétní server plnit. Naši administrátoři by měli
použít uvedené obrazy a odpovídající skripty kdykoli instalují nový systém
daného druhu, takže by následná revize libovolného z těchto systémů měla sdělit
informace relevantní pro kterýkoli z nich.
Má kontrola zahrnovala mj. pět databázových serverů Oracle, z nichž tři trpěly
závažnými bezpečnostními slabinami. Jenom pro příklad: Na jednom z nich běžela
děravá verze programu SSH (Secure Shell). Naše aktuální instalační obrazy disků
ale zahrnují nejnovější verzi SSH, která žádné známé slabiny neobsahuje, takže
pokud někdo nepoužil downgrade, dá se říci, že při instalaci serveru nebyl
použit aktuální image. (Po vytvoření nového, lepšího image samozřejmě postupně
provedeme reinstalaci těch systémů, které by obsahovaly starší, nezabezpečenou
verzi.)
Ke svému nemalému překvapení jsem zjistil, že ani řada dalších serverů nebyla
instalována podle zavedených směrnic z připravených obrazů. Místo toho správci
použili např. plnou instalaci operačního systému Solaris 2.8. Ta zahrnuje více
než 600 programů, z nichž ovšem využíváme jen zlomek.

V čem vězí problém
Znepokojen zjištěnými skutečnostmi jsem svolal schůzku unixových správců a
oddělení bezpečnosti. Ukázalo se, že unixové oddělení vytvořilo nový standardní
instalační image založený na plné instalaci operačního systému, protože
zaznamenalo problémy s nějakou aplikací, která vyžadovala knihovny, jež se
nenacházely v původním bezpečném otisku.
Ukázalo se rovněž, že vývojáři uvedené aplikace si nebyli jisti, které knihovny
jejich produkt potřebuje pro správnou funkci, takže se unixové oddělení
rozhodlo, že nejjednodušší bude vytvořit image, který bude obsahovat plnou
instalaci Solarisu.
To ale ještě není všechno. Ukázalo se rovněž, že jde o více než jen o problém
jedné aplikace. Manažer unixového oddělení jmenoval příklady dalších programů,
které nebyly schopné pracovat, protože potřebovaly knihovny, jež na původní
instalaci nebyly k dispozici. Standardní proces instalace tak byl rozcupován.

Kroky k nápravě
Po delší vzrušené debatě jsme se dohodli na postupu, který by vyhovoval oběma
stranám. V první řadě provedeme revizi našeho standardního obrazu disku
určeného pro instalace. Abychom mohli vytvořit nový image, vytiskli jsme si
seznam aplikačních balíků instalovaných v průběhu plné instalace systému
Solaris 2.8. Ze seznamu jsme poté vyškrtli všechny programy, o kterých jsme
věděli, že je k ničemu nepotřebujeme, jako např. podporu pro neužívaný hardware
a software užitečný např. jen pro přehrávání hudby nebo renderování obrázků.
Naši administrátoři Solarisu prošli seznam během méně než hodiny.
Následně jsme provedli instalaci našeho serverového softwaru pro realizaci
funkcí webu a databázového serveru, abychom zjistili, které softwarové balíky a
knihovny jsou nezbytné pro jejich funkci. Většina ze serverů používaných v
našem produkčním prostředí spadá do jedné ze tří kategorií: webový server,
aplikační server nebo databázový server. Webové a databázové prostředí jsou
poměrně statická. Víme, co potřebují k tomu, aby fungovala správně, ale pokud
jde o aplikační servery, tam je situace složitější. Nikdy dopředu nevíme, co
budou ke správné funkci vyžadovat. To je to, co způsobilo všechny popisované
problémy.
Solaris však naštěstí obsahuje utility, které jsou schopny trasovat každé
volání systému ze strany aplikace, a tak zjistit, které aplikace a knihovny
jsou pro její běh potřebné. Obvykle začínáme s instalací ze standardního image
a spustíme tyto utility v laboratorním prostředí, ale unixové oddělení tuto
proceduru vynechalo, protože mu chyběl čas a potřebné zdroje.
Můj bezpečnostní tým požádal jednoho z unixových správců, aby napsal skript,
který bychom mohli použít za účelem spuštění uvedených utilit pro každou
aplikaci a pro vytvoření zprávy zahrnující výčet všech potřebných softwarových
balíků a knihoven Solarisu. V tomto okamžiku máme statickou variantu systému
pro web a databáze, která začíná s lepším standardním imagem. Poté můžeme
přidávat nebo odstraňovat další komponenty podle toho, zda je potřebuje daná
aplikace.
Doufáme, že s touto metodologií budeme moci žít až do doby, kdy bezpečnostní
skupina najde čas, aby provedla průzkum ohledně komerčně dostupných nástrojů,
které by nám s řešením podobných problémů mohly pomoci. Nezbývá než věřit, že
se zase nenajde nějaká skupinka správců, která by vzala spravedlnost do svých
rukou.
Řešíte podobné problémy jako Mathias Thurman? Podělte se o svoje zkušenosti s
námi i se čtenáři Computerworldu. Můžete psát na adresu bezpecnost@idg.cz.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.