| Threat Management Gateway 2010 (TMG 2010) má novou špičkovou fíčuru, zvanou SSL Inspection (SSL inspekce). Znamená to, že firewall je schopen pro HTTPS (zašifrované HTTP) provádět kontrolu obsahu paketů, URL, stránky klasifikovat do kategorií a dělat i antivirovou kontrolu. To s jiným firewallem nedostanete. Můžete mít obvykle milión možností, co kontrolovat v HTTP, ale jakmile se uživatel podívá na zašifrované HTTPS, firewall vidí prd :-)
A to se teď s TMG změnilo! Následují nějaké moje poznámky, kdyby se to někdo rozhodl nasazovat. U čtyř mých zákazníků proběhl pokus o nasazení, dva ok, jeden nemá náladu řešit stížnosti uživatelů a ten třetí to vzdal, protože chtěl používat skype. Takže to není úplně jednoduché.
Jak to sakra dělá? Normálně, jednoduše MITM útok (man in the middle). Vygeneruje si vlastní fejkový certifikát pro každou HTTPS sajtnu, na kterou se díváte. Na klientech nemusíte vidět ani žádnou bezpečnostní chybu - stačí zdůvěryhodnit jediný certifikát TMG (on má vlastní podpisovou certifikační autoritu).
Poznámky přehledně (doufám)
- dejte si rozhodně Service Pack 1 (SP1), k tomu Software Update 1 (SU1 for SP1) a na něho alespoň Rollup Update 4 for SU1 (RU4 for SU1 for SP1) - jinak budete mít problémy. Že máte tuto aktualizaci poznáte podle čísla verze 7.0.9027.450.
- pouze dopředná (forward proxy) komunikace - inspektuje to pouze HTTPS pro uživatele, kteří chodí pomocí Access Rules. Pro Publishing Rules to nefunguje, nicméně tam to ani není potřeba, protože tam inspekce HTTPS funguje už od ISA 2004 v trošku jiné formě.
- klienti nepotřebují mít nastavenu proxy - stejně jako většina ostatních HTTP/S inspekcí. Inspektuje to každého, jehož HTTPS prochází přes TMG, bez ohledu na formu (proxy client, secure nat client - gateway, VPN client, firewall client).
- nepotřebujete mít ani firewall clienta - když ho máte, může se jim navíc zobrazovat bublinka, že je to zrovna inspektuje. Na to já ale kašlu :-)
- pokud nějaká sajtna požaduje klientský certifikát (client certificate), tak to nepojede - důvod je jasný, chtělo by to vzájemné ověření, které je tam proto, aby právě MITM nešel udělat :-) Je potřeba udělat výjimku pro danou sajtnu, příklady jsou https://www.servis24.cz, https://ib24.csob.cz, https://abok.cnb.cz, https://www.mojebanka.cz apod.
- výjimky lze dělat dvou úrovní - nechci inspekci a přitom chci alespoň kontrolu platnosti cílového certifikátu. Nebo nechci ani inspekci, ani kontrolu platnosti certifikátu cílového webu.
- skype vám přes to nepojede - i když se Skype tváří, že chodí přes HTTPS, není to pravda. On uvnitř toho svého HTTPS prohání úplně vlastní balast, který s normálním HTTP nemá nic společného. Má to jenom SSL/TLS obal, aby to vypadalo pěkně, ale je to pěkný švindl. To znamená, že inspekcí to neprojde. Co tedy inspekci vypnout pomocí výjimky? Smůla, nelze udělat výjimku, protože ten sviňák vůbec nepoužívá certifikáty. Prostě nějaké jeho vlastní TLS.
Výroba výjimek
Výjimka se nedělá pomocí URL, ale zadává se tam Subject cílového certifikátu. Pozor, normální webové sajtny mají obvykle v Subject políčku certifikátu svoje URL. Ale to není vždycky. Například různé webové managementy síťových prvků (routery, switche, pole, další firewally apod.) si generují certifikáty dynamicky vlastní. A co dávají do Subject nebo Subject Alternative Name (SAN) potom mnohdy neodpovídá tomu, co vy píšete do URL v prohlížeči.
Takže výjimka se sice definuje pomocí tzv. Domain Name Setu. Ale zadávat do něho musíte jméno, které najdete v certifikátu daného web serveru. Nikoliv to, co zadáváte do prohlížeče!
Viz. následující obrázky. Do prohlížeče jsem sice zadal https://cisco.ad.sevecek.com, ale v certifikátu je IP adresa. Do výjimky tedy dám IP adresu a nikoliv jméno.
|