Ochrana síťového rozhraní se dnes samozřejmou součástí operačního systému Windows a možná mnohým připadá podivné, že tomu tak zdaleka vždy nebylo. Firewall se objevil poprvé ve Windows XP jako nedílná součást operačního systému, což mimochodem začalo výrazně měnit situaci na „trhu“ s programy, kterým se říkalo „personal firewall“.
Řada větších firem i menších výrobců tento software dodávala spolu s myšlenkou, že síťová bezpečnost by měla mimo jiné spoléhat na pilíř v podobě důsledné ochrany síťových rozhraní každého jednotlivého počítače.
Tato koncepce byla v podstatě plošně přijata jak domácími uživateli, tak firmami, ovšem dnes je jejím pilířem především výchozí firewall ve Windows, a bývalé hvězdy tohoto softwarového nebe většinou dávno pohasly.
Ačkoliv byl Windows Firewall ve verzi XP spíše jednodušší, dokázal zastat většinu práce komerčních či freewarových produktů a proto na něj uživatelé začali spoléhat. Po několika letech užívání a hlavně nasazování XP ve firemních sítích však bylo jasné, že pro centralizovanou správu a náročnější scénáře bude potřeba něco pokročilejšího.
Zásadní vývojový krok nastal s příchodem operačního systému Windows Vista, v němž se objevuje i nová generace firewallu. Ta přichází spolu s několika koncepčními změnami, jež odrážejí také vývoj serverových technologií Microsoftu. Právě tato varianta je základem pokročilé plošné správy a do poslední verze Windows 7/Windows Server 2008 R2 prošla změnami, které zachovávají stejnou koncepci.
Advanced Security
Současný firewall ve Windows je postaven na několik klíčových principech, na něž se nyní zaměříme. Jako první zmíníme nastavení vázané na tzv. profily. Firewall umí přiřadit každé registrované síti její specifické parametry a tím ji vlastně vyrobí tzv. profil, který odráží její nebezpečnost, čemuž pak odpovídají žádoucí restrikce v komunikaci. Profily jsou zařazovány do třech úrovní, kterým odpovídá výchozí úroveň zabezpečení: sítě s profilem Public jsou považovány za veřejné a nejnebezpečnější, kdežto profily Private a Domain považují připojenou síť za méně či více důvěryhodnou.
Přechod od verze Vista k verzi 7 přinesl zajímavý vývoj spojený s profily – v první jmenované bylo možno v danou chvíli využívat jen jeden profil jako aktivní, a pokud jsme chtěli pracovat s více připojenými sítěmi, pouze ten restriktivnější profil se uplatnil. Windows 7 a Server 2008 R2 jsou již schopna pracovat současně s vícero profily, které jsou přiřazeny příslušným adaptérům a komunikace s větším množstvím sítí je paralelně ošetřována dle přiřazeného profilu.
Další zásadní vlastnost firewallu je spojena s vývojem souvisejících síťových technologií – firewall nově spojuje ochranu síťového rozhraní s ověřením důvěryhodnosti komunikujících stran na základě filozofie, že propuštění určité komunikace je bezpečné až tehdy, kdy navíc známe identitu protějšku našeho spojení.
Firewall tedy nově zahrnuje i autentizační část, která umožňuje prověřit identitu protistrany a případně i ověřit její oprávnění ke komunikaci. Tento modul je založen na již existujících opěrných bodech, které se v architektuře Windows objevují od verze 2000: jedním z nich je ověřování v doménách Windows pomocí protokolu Kerberos, dalším pak implementace síťového bezpečnostního standardu IPSec.
Právě IPSec je postupně vylepšován řadou inovací, jako jsou třeba poslední výkřiky na poli šifrovacích technologií pro bezpečný přenos přihlašovacích a ověřovacích dat (tzv. B-suite, tedy implementace šifrování na bází „eliptických křivek“).
Na tomto místě je potřeba zmínit, že ověření a autorizace protistran může probíhat také na bázi certifikátů a tedy být zapojena do větší infrastruktury PKI (tedy certifikační autority a související hierarchie certifikátů), což opět těsně souvisí se zajímavým vývojem certifikačních služeb na platformě Windows.
Pokud se na firewall podíváme z pohledu konfigurace, tak důležitým stavebním prvkem je Bezpečnostní síťové pravidlo (Connection security rule). To v sobě zahrnuje kombinaci dílčích pravidel a podmínek, které určují, jak bude spojení chráněno a v jaké situaci proběhne.
Právě ověření komunikujících stran je klíčovou součástí pravidel – firewall nám nabízí několik šablon, jež reprezentují typické scénáře (režim v izolované síti, spojení bez autentizace, tunelované spojení atd.). A takovéto stavební kameny dávají vzniknout komplexní ochraně, neboť se navazují na profily reprezentující různé typy síťových rozhraní.
Firewall na druhou stranu nabízí základní „součástku“ celého soukolí v podobě základního pravidla komunikace – ta mohou být nastaven odděleně pro oba směry komunikace a dovolují určit detaily spojení tak, jak je známe u síťových protokolů.
Správa firewallu ve Windows
V současné době můžeme říci s klidným svědomím, že správa firewallu ve Windows je dostupná víceméně na všech potřebných „frontách“, tedy v rozsahu celé škály od domácího uživatele pro centrálně řízenou síť.
Na jednom konci stojí značně zmodernizovaná grafická konzole MMC, která umožňuje detailní nastavení, ovládání všech částí firewallu a sestavení potřebných politik a pravidel. Toto rozhraní v sobě zahrnuje také dřívější oddělenou grafickou konzolu pro nastavení politik protokolu IPSec a vytváří tak jednotný celek síťové ochrany včetně autentizace a autorizace.
Na škále ovladatelnosti stojí blíže k automatizaci konzolový nástroj Netsh se svým kontextem Advfirewall, který je určen k totální správě firewallu. I zde došlo ke „konvergenci“, neboť v historii Windows jsme už zaznamenali několik konzolových nástrojů pro správu IPSecu a bezpečného síťování a jejich varianty se často lišily dle toho, zda se nacházely na klientském či serverovém systému Windows.
Příkaz Netsh, či přesněji Netsh Advfirewall, nám nabízí jak interaktivní ovládání v reálném čase, tak hromadný export konfigurace a její pozdější import s okamžitou změnou nastavení. Nabízí se tedy dávkové zpracování a skriptování.
Další stupeň ovládání je pak plně věnován automatizaci pomocí skriptů a představují se zde hned dvě paralelní technologie. Firewall je „uchopitelný“ pomocí tradiční automatizace přes rozhraní COM a tedy pomocí skriptování na platformě Windows Script Host (též nepřesně označované jako VBScripting).
Tato možnost existovala již ve Windows XP u staršího firewallu a s novou architekturou byla odpovídajícím způsobem vylepšena. Tento objektový model je dostupný velmi snadno i z nového prostředí pro správu – konzole PowerShellu, neboť ten snadno zpřístupňuje rozhraní COM a potřebné knihovny.
Na pomyslném druhém konci škály stojí mechanismus Group Policy, integrovaný do adresářové služby Active Directory, který zahrnuje rozsáhlý aparát pro konfiguraci firewallu na straně klientů. Právě toto je cesta pro velké sítě a stovky či tisíce počítačů, u kterých nelze uvažovat o nějaké „ruční práci“.
Můžeme tak plošně připravit sady pravidel, jež vymezí povolenou komunikaci celým skupinám klientských počítačů. Objekt GPO pro firewall obsahuje v principu dvě skupiny nastavení: jedna zahrnuje samotnou konfiguraci firewallu jako takovou (pravidla spojení a autentizace), druhá pak určuje, kdo a za jakých okolností může měnit lokální nastavení.
Jinými slovy, jsme tak schopni vynutit vše na škále od „doporučených“ nastavení s dodatečnou možností lokálních změn až po neprůstřelné závazné nastavení, s nímž místní uživatel nic neprovede a bude jej muset užívat.
Návazné služby
Bývá dobrým zvykem ve Windows, že nové součásti systému či inovované technologie nezůstávají osamoceny, ale jsou zapojeny do rozsáhlejších služeb. Platí to i o firewallu, jehož podstatné změny při přechodu od verze Windows Vista k Windows 7 nebyly zdaleka jen pokračováním jeho vývoje. Řada vylepšení byla zapracována vlastně „na objednávku“ a vznikla jako výsledek vývoje dalších komponent, jež náleží k síťové bezpečnosti.
Infrastruktura Windows nabízí pokročilou koncepci NAP (Network Access Protection), která na firewall velmi spoléhá. Tento robustní mechanismus pracuje v zásadě na principu izolace a karantény, která je založena na vyhodnocení řady zjištěných nastavení Windows a je vynucena mimo jiné firewallem.
Jde o řešení vhodné pro větší sítě s centralizovanou správou – klientský počítač nejdříve obdrží potřebné politiky (nejlépe prostřednictvím Active Directory a Group Policy) a posléze je striktně kontrolován při lokálním i vzdáleném přístupu do jakékoliv sítě.
„Místní“ firewall je připraven vynutit tvrdé restrikce, pokud přístupové podmínky nejsou splněny – každý systém Windows si tak vlastně nese svůj „policejní“ modul.
Ani tato koncepce není ve Windows zdaleka nová – její části se objevují již od Windows 2003 a nyní nabývají kompletní podoby. Její využití těsně souvisí s možnostmi posledních serverových verzí Windows, jež poskytují příslušné zázemí přístupových bran do sítě a případných oddělených lokálních síťových segmentů. NAP je v každém případě velmi všestranná architektura, jež po řadě let konečně spojila vyvíjející se komponenty ve vytčený celek.
Tento článek vyšel v tištěném SecurityWorldu 1/2010.