Exchange Server 2016: přecházíme na Kerberos

Klient Microsoft Outlook ve všech podporovaných verzí umí použít pro autentizaci NTLM i Kerberos. Je nastaven tak, že se snaží domluvit s Exchange Serverem na nejlepší možné autentizaci, a tu následně použije. S překvapením ale můžeme zjistit, že ve výchozí konfiguraci to není osvědčený Kerberos, ale naopak zastaralejší forma autentizace NTLM, která je použita během připojení Outlooku k Exchange Serveru.

V tomto článku si detailně ukážeme jak přejít na doporučený způsob ověřování pomocí modernějšího protokolu Kerberos.

Proč je vlastně Kerberos lepší?

NTLM (NT Lan Manager) je historicky starší a kvalitativně a bezpečnostně horší mechanismus ve srovnání s moderním protokolem Kerberos primárně z následujících důvodů:

  • Vytváří výrazně vyšší zátěž na doménové řadiče – každá jednotlivá navazovaná relace znamená kontaktování doménového řadiče. Při opakovaném vypnutí/zapnutí Microsoft Outlook se znovu kontaktuje opakovaně doménový řadič. V porovnání s tímto je Kerberos výrazně efektivnější, protože uživatel dostane jednorázově Kerberos session tiket, který má platnost 10h a není tak nutné v jakékoliv situaci doménový řadič znovu kontaktovat.

  • Výpadky autentizace – doménové řadiče mají své limity v počtu současně prováděných NTLM autentizací a v prostředích, kde je mnoho set či více uživatelů, může dojít dočasně k vyčerpání tohoto limitu a uživatelům se místo SSO zkušenosti objevuje náhodně dialog pro zadání přihlašovacích údajů.

  • NTLM je méně bezpečné – NTLM používá slabší kryptografii, oproti tomu Kerberos je postavený primárně na použití velmi silného algoritmu AES.

  • Při použití NTLM klient předává přihlašovací údaje Exchange Serveru, který je následně předává doménovému řadiči. Naše přihlašovací údaje tak putují chráněné slabou kryptografií mezi servery v rámci sítě. V rámci Kerberos autentizace probíhá komunikace pouze mezi klientem a doménovým řadiče a směrem k Exchange Serveru se již prokazujeme pouze platným Kerberos tiketem.

Doporučení je tedy přejít na Kerberos autentizace, což je proces, který se skládá z následujících kroků.

Vytvoření ASA (Alternate service account ) účtu

Musíme si vytvořit v Active Directory pomocný účet, který bude nositelem informace o jménech SPN (Service Principal Name), která na Exchange Serveru používáme. Je možné použít uživatelský účet i počítačový účet, z bezpečnostních důvodů je doporučeno použít účet počítače. ASA účet vytvoříme pomocí následujících příkazů:

Import-Module ActiveDirectory
New-ADComputer -Name EXCH2016ASA -AccountPassword (Read-Host 'Enter password' -AsSecureString) -Description 'Alternate Service Account credentials for Exchange' -Enabled:$True -SamAccountName EXCH2016ASA
Set-ADComputer EXCH2016ASA -add @{"msDS-SupportedEncryptionTypes"="28"}

Identifikace SPN

K vytvořenému ASA účtu bude nutná přiřadit správná SPN. Je vhodné si tedy předem udělat soupis všech jmen, která Outlook používá při přístupu na Exchange Server. Konkrétně se jedná o služby: Outlook Anywhere, MAPI over HTTP, Exchange Web Services, Autodiscover a Offline Address Book Obvykle to bývá:

  • http/autodiscover.kpcs.cz (Autodiscover)

  • http/mail.kpcs.cz (Outlook Anywhere externě, MAPI over http externě , Exchange Web Services a Offline Address Book)

  • http/outlook-int.kpcs.cz (Outlook Anywhere interně, MAPI over http interně)

Poznámka: mít jiné jméno pro přístup k Outlook Anywhere a MAPI over http interně není nezbytně nutné, ale pokud chceme mít jinak nastavenou autentizaci pro interní přístup (Kerberos) a jinak pro externí přístup (NTML nebo Basic), musí umět Outlook rozlišit, kdy přistupuje interně a kdy interně. Jediné řešení je definice tohoto nového interního jména, které není přeložitelné z Internetu.

Přiřazení ASA účtu k jednotlivým Exchange serverům

  • Spusťte EMS na Exchange Serveru 2016

  • Změňte aktuální složku na <Exchange 2016 installation directory>\V15\Scripts, obvykle cd "C:\Program Files\Microsoft\Exchange Server\V15\Scripts"

  • Spusťte .\RollAlternateServiceAccountPassword.ps1 -ToSpecificServer ex1.kpcs.cz -GenerateNewPasswordFor kpcs\EXCH2016ASA$

  • Na každém dalším Exchange Serveru 2016 pak .\RollAlternateServiceAccountPassword.ps1 -ToSpecificServer ex2.kpcs.cz -CopyFrom ex1.kpcs.cz

Obrázek 1 Přiřazení účtu ASA k Exchange serverům

Přiřazení SPN k ASA účtu

K přiřazení SPN k ASA účtu doporučuji použít příkaz SetSPN, který nejenom, že nám definovaná jména zaregistruje, ale také provádí kontrolu, zda neexistuje v Active Directory duplicita, která by způsobila nefunkčnost autentizace.

setspn -S http/autodiscover.kpcs.cz KPCS\EXCH2016ASA$

setspn -S http/mail.kpcs.cz KPCS\EXCH2016ASA$

setspn -S http/outlook-int.kpcs.cz KPCS\EXCH2016ASA$

Obrázek 2 Přiřazení SPN k účtu ASA

Povolení Kerberos autentizace pro Outlook Anywhere a MAPI over HTTP

Pro Outlook Anywhere a MAPI over HTTP povolíme autentizaci pomocí Negotiate. Důsledkem bude již finální přepnutí klientů na Kerberos.

Get-OutlookAnywhere -Server EX2016 | Set-OutlookAnywhere -InternalClientAuthenticationMethod Negotiate -ExternalClientAuthentication NTLM

Get-MapiVirtualDirectory -Server EX2016 | Set-MapiVirtualDirectory -IISAuthenticationMethods Ntlm, Negotiate

Ověření

Osobně pro ověření používám 2 základní metody:

  • Na klientovi si spustím klist.exe a dívám se, zda má vydané Keberos tikety s Exchange SPN.

  • Podívám se stavu připojení, které hlásí Microsoft Outlook. Ve sloupečku AUTH se nám místo NTLM objeví Nego*.

Shrnutí

Exchange Server 2016 používá po instalaci a standardní konfiguraci v rámci připojení Outlooku bohužel pouze zastaralou autentizaci pomocí NTLM, která vykazuje hned celou řadu nevýhod. Přechod na Kerberos autentizaci je ale nejen plně podporovaným scénářem, ale také rozhodně doporučeným. V tom článku jsme si ukázali kompletní postup, jak tuto důležitou změnu provést.

Miroslav Knotek, KPCS CZ, knotek@kpcs.cz

KPCS CZ, s.r.o. je přední českou firmou specializující se na nasazení, správu a podporu informačních technologií, primárně zaměřenou na produkty společnosti Microsoft. Jako systémový integrátor poskytuje kvalitní podniková řešení na této platformě, která jsou v pravidelných intervalech hodnocena prvními příčkami v soutěžích Microsoft Awards. KPCS CZ disponuje předními odborníky na problematiku veřejného cloudu, tedy služeb Office 365 a Azure, ale i technologií privátního cloudu Windows Server, Hyper-V a produktů rodiny System Center.

Autor: Miroslav Knotek

KPCS CZ, s.r.o. je přední českou firmou specializující se na nasazení, správu a podporu informačních technologií, primárně zaměřenou na produkty společnosti Microsoft. Jako systémový integrátor poskytuje kvalitní podniková řešení na této platformě, která jsou v pravidelných intervalech hodnocena prvními příčkami v soutěžích Microsoft Awards. KPCS CZ disponuje předními odborníky na problematiku veřejného cloudu, tedy služeb Office 365 a Azure, ale i technologií privátního cloudu Windows Server, Hyper-V a produktů rodiny System Center.

Next Post Previous Post