Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Threat Management Gateway jako proxy a ověřování pomocí Kerberos
květen 14
Threat Management Gateway jako proxy a ověřování pomocí Kerberos

Threat Management Gateway (TMG) i Internet Security and Acceleration Server (ISA) fungují jako forward HTTP/S proxy. TMG k tomu má ještě HTTPS inspekci, pokud chcete. Používá to výchozí port 8080, což jistě znáte.

Důležité je ale, že tahle proxy umí ověřovat uživatele. Umí je ověřovat pomocí Windows authentication, tedy přímo těmi údaji, kterými se uživatelé přihlásili do systému. Má to tedy SSO (single sign on). Uživatelé nemusí nic zadávat, ale přesto proxy ví, o koho se jedná.

A můžete tedy mít přístupová pravidla pro jednotlivé Windows skupiny, nebo klidně jednotlivá individua.

TMG i ISA umí ověřovat klienty pomocí NTLM, nebo Kerberos. Oba tyto protokoly nabízí ten zmíněny SSO, takže to uživatel vlastně ani nepozná. Rozdíl je v tom, že NTLM je algoritmicky zastaralý (MD5, MD4, DES) a je infrastrukturně nebezpečný. NTLM je také výkonově podstatně horší, než Kerberos, obzvláště přes trusty (vztahy důvěry).

Kerberos je naopak pro intranetové použití maximálně bezpečný - umí používat AES, pakliže máte domain functional level (DFL) na úrovni alespoň Windows 2008. Vzájemně autentizuje všechny účastníky transakce a navíc má parádní výkon.

Když nastavím proxy ručně...

Pokud zadáte do nastavení proxy jen IP adresu, bude to vždycky používat NTLM. To je natvrdo zakódováno do Windows. Pokud zadáte naopak přímo doménové jméno TMG/ISA serveru, bude se nejspíš moci použít Kerberos. Pokud byste zadávali nějaký alias (A, nebo CNAME), tak to závisí na verzi systému i prohlížeče. Nekdy se použije NTLM, někdy se může Kerberos.

Takže je lepší tam dávat přímo doménové jméno toho serveru a máte nejspíš Kerberos.

Nojo, ale co když používám automatickou konfiguraci, nebo mám cluster/array s CARP?

No právě. To se v obou případech používá technologie WPAD (prostě WPAD.DAT soubor, nebo skript). Jenže problém je, že TMG i ISA do tohoto souboru dávají ve výchozím stavu IP adresy.

Tedy IP adresu sami sebe, nebo IP adresy všech členů clusteru. Takže se pak Kerberos rozhodně nepoužije a místo toho jedete jen přes NTLM. Úplně zbytečně. A znám případy, kdy kvůli špatnému výkonu NTLM v tomto scénáři někdo úplně zbytečně posiloval farmu.

Mít i tak Kerberos je jednoduché. Stačí prostě jenom přimět TMG/ISA server, aby do toho WPAD skriptu dával místo IP adres rovnou jména členů té vaší array, nebo sama sebe. Stačí k tomu tento skript, který najdete i na oficiálním webu Microsoftu (tady, tu, zde, nebo tady):

Set oISA = CreateObject("FPC.Root")
Set oArray = oISA.GetContainingArray
Set oWebProxy = oArray.ArrayPolicy.WebProxy

If oWebProxy.CarpNameSystem = 0 Then WScript.Echo "Already ok."

oWebProxy.CarpNameSystem = 0
oWebProxy.Save true

WScript.Echo "Cofigured ok."

Je to VBS, stačí to spustit na jednom členovi array, nebo na konfiguračním serveru (CSS).

Comments

There are no comments for this post.

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments