Windows Server: Zakázání TLS 1.0 a 1.1
Z pohledu zabezpečení webové aplikace Helpdesku (Requestor) doporučujeme provést jako součást nastavení serveru, kde je aplikace provozovaná, zakázání TLS 1.0 a 1.1, jelikož oba tyto protokoly jsou již zastaralé a nejsou považovány za bezpečné.
Webový server Microsoft IIS koncepčně neumožňuje tuto konfiguraci provádět, tu je potřeba provést přímo v operačním systému Windows pomocí editace registrů. Nestačí také pouze zakázat protokoly TLS 1.0 a 1.1, je potřeba také nastavit klientskou část .NET Frameworku, kterou aplikace Requestor využívá a v některých situacích sama odesílá klientské požadavky (např. při stahování emailů).
V případě umístění aplikace Requestor za reverzní proxy (např. nějaký typ externího load balanceru), na které tyto protokoly nejsou povolené, je nutné tuto konfiguraci provést i na serveru s aplikací, jinak bude docházet ke komplikacím a některé funkcionality aplikace přestanou korektně fungovat, viz výše uvedený příklad.
V tomto návodu je popsán postup konfigurace registrů Windows tak, aby došlo ke korektnímu zakázání TLS 1.0 a 1.1 a zároveň povolení silných šifer pro .NET Framework.
Zakázání TLS 1.0 a 1.1
Jelikož konfigurace probíhá v registrech Windows, je obecně doporučeno před započetím modifikací provést zálohu registrů, případně celého systému.
Následně spustíme editor registrů jako administrátor:
Proklikáme se do následující lokace:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\
Postup je následující:
pravým tlačítkem klikneme na
Protocols
a vytvoříme nový klíč s názvemTLS 1.0
uvnitř tohoto nově vytvořeného klíče vytvoříme další dva klíče
Client
aServer
Uvnitř obou těchto klíčů vytvoříme novou hodnotu DWORD (32-bit) s názvem
Enabled
a hodnotou0
Stejný postup je potřeba provést pro TLS 1.1:
pravým tlačítkem klikneme na
Protocols
a vytvoříme nový klíč s názvemTLS 1.1
uvnitř tohoto nově vytvořeného klíče vytvoříme další dva klíče
Client
aServer
Uvnitř obou těchto klíčů vytvoříme novou hodnotu DWORD (32-bit) s názvem
Enabled
a hodnotou0
Výsledek by pak mohl vypadat například takto:
Jakmile máme vše vytvořeno dle postupu výše, můžeme přistoupit ke druhé části - povolení silných šifer pro klientskou část .NET Frameworku.
Povolení silných šifer pro .NET Framework
V podobném duchu je i konfigurace klientské části .NET Frameworku, která má samostatné nastaveni a je nutné v ní povolit silné šifrování, jak je podrobněji popsáno v tomto návodu, pro zjednodušení zde přiložíme to, co je potřeba v registrech nastavit (týká se nás pouze verze 4):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
Výsledek by tedy pak mohl vypadat například takto:
Restart serveru
Posledním krokem je restart serveru, což je nutný krok, aby se změny v registrech projevily. Po restartu serveru by mělo vše korektně fungovat a systém by měl využívat protokol TLS 1.2 a vyšší (např. Windows Server od verze 2022 podporuje již také TLS 1.3).
Test konfigurace
V případě, že je aplikace Requestor dostupná z internetu, je možné provést test zabezpečení SSL například pomocí SSL Labs, kde stačí zadat adresu aplikace a spustit test. Výsledek by měl pak vypadat cca takto:
A to včetně povolených (resp. zakázaných) protokolů: