TLS 1.2 afdwingen voor Operations Manager
In dit artikel wordt beschreven hoe u System Center Operations Manager toestaat gebruik te maken van TLS (Transport Layer Security) 1.2.
Notitie
Operations Manager maakt gebruik van het protocol dat is geconfigureerd op besturingssysteemniveau. Als bijvoorbeeld alle protocollen zijn ingeschakeld, selecteert Operations Manager een van de drie protocollen in de volgende volgorde van voorkeur:
- TLS-versie 1.0
- TLS-versie 1.1
- TLS-versie 1.2
De Schannel SSP selecteert vervolgens het meest geprefereerde authenticatieprotocol dat de client en server kunnen ondersteunen.
Voer de volgende stappen uit om TLS-protocolversie 1.2 te implementeren in Operations Manager:
Notitie
Microsoft OLE DB-stuurprogramma 18 voor SQL Server (aanbevolen) wordt ondersteund met Operations Manager 2016 UR9 en hoger.
Installeer SQL Server 2012 Native Client 11.0 of Microsoft OLE DB-stuurprogramma (x64) op alle beheerservers en de webconsoleserver.
Installeer Microsoft ODBC-stuurprogramma (x64) op alle beheerservers en de webconsoleserver.
Installeer de Vereiste SQL Server-update die TLS 1.2 ondersteunt.
Installeer minimaal updatepakket 4 voor Operations Manager 2016 op alle onderdelen.
Zorg ervoor dat op alle servers minimaal .NET Framework 4.6 is geïnstalleerd als compatibel met de versie van het besturingssysteem: .NET Framework-versies en -afhankelijkheden
- Installeer .NET Framework 4.8 niet, omdat er bekende incompatibiliteit is met Operations Manager 2016.
Configureer Windows om alleen TLS 1.2 te gebruiken.
Configureer .NET Framework om standaard hogere cryptografieniveaus te gebruiken.
Configureer Audit Collection Services indien geïnstalleerd.
Installeer Microsoft OLE DB-stuurprogramma voor SQL versie 18.7.4 op alle beheerservers en de webserverserver.
Installeer Microsoft ODBC-stuurprogramma voor SQL versie 17.10.6 op alle beheerservers en de webserverserver.
Configureer Windows om alleen TLS 1.2 te gebruiken.
Configureer .NET Framework om standaard hogere cryptografieniveaus te gebruiken.
Configureer Audit Collection Services indien geïnstalleerd.
Notitie
Als u SQL Server-verbindingsversleuteling gebruikt, installeert u deze stuurprogrammaversies:
- Microsoft OLE DB-stuurprogramma 19: https://aka.ms/downloadmsoledbsql
- Microsoft ODBC-stuurprogramma 18: https://aka.ms/downloadmsodbcsql
Meer informatie over het configureren van SQL-verbindingsversleuteling vindt u hier: SQL Server Database Engine configureren voor het versleutelen van verbindingen
Operations Manager genereert ZELFondertekende SHA1- en SHA2-certificaten die vereist zijn om TLS 1.2 in te schakelen. Als door ca ondertekende certificaten worden gebruikt, controleert u of de certificaten SHA1 of SHA2 zijn.
Notitie
Als beveiligingsbeleid TLS 1.0 en 1.1 beperkt, mislukt het installeren van een nieuwe Operations Manager 2016-rol omdat de installatiemedia de updates voor ondersteuning van TLS 1.2 niet bevat. Als u wilt doorgaan met het instellen van een nieuwe rol, schakelt u TLS 1.0 in op het systeem, past u updatepakket 4toe en schakelt u VERVOLGENS TLS 1.0 opnieuw in op het systeem.
Windows-besturingssysteem configureren om alleen TLS 1.2-protocol te gebruiken
Gebruik een van de volgende methoden om Windows te configureren voor alleen het TLS 1.2-protocol.
Methode 1: Het register handmatig wijzigen
Belangrijk
Volg de stappen in deze sectie zorgvuldig. Er kunnen ernstige problemen optreden als het register onjuist is gewijzigd. Maak een back-up van de registers voor het geval er problemen optreden voordat u wijzigingen aanbrengt.
Zie voor meer informatie: Back-up maken en het register herstellen in Windows
Gebruik de volgende stappen om SChannel-protocollen systeembreed te wijzigen. U wordt aangeraden het TLS 1.2-protocol expliciet in te schakelen.
Notitie
Het aanbrengen van deze registerwijzigingen heeft geen invloed op het gebruik van Kerberos- of NTLM-protocollen.
Meld u aan bij de server met een account met lokale beheerdersreferenties.
Start de Register-editor door Startte selecteren en vast te houden, voer regedit- in het tekstvak Uitvoeren uit en selecteer OK-.
Zoek de volgende registersubsleutel:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Maak een subsleutel onder Protocollen voor:
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2-
Maak een Client- en Server- subsleutel onder elke eerder gemaakte subsleutel van de protocolversies. De subsleutel voor TLS 1.0 zou bijvoorbeeld zijn
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server
Als u een protocol wilt uitschakelen, maakt u de volgende DWORD-waarden onder Server en Client:
- Ingeschakeld [Waarde = 0]
- DisabledByDefault [Waarde = 1]
Als u expliciet het TLS 1.2-protocol wilt inschakelen (standaard is ingeschakeld), maakt u de volgende registersleutels:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
Maak vervolgens de volgende DWORD-waarden onder Server en Client:
- ingeschakeld [Waarde = 1]
- DisabledByDefault [Waarde = 0]
Sluit de Register-editor.
Methode 2: het register wijzigen met PowerShell
Voer het volgende Windows PowerShell-script uit als beheerder om het Windows-besturingssysteem te configureren voor het gebruik van het TLS 1.2-protocol:
$ProtocolList = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2")
$ProtocolSubKeyList = @("Client", "Server")
$DisabledByDefault = "DisabledByDefault"
$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\"
foreach ($Protocol in $ProtocolList)
{
foreach ($key in $ProtocolSubKeyList)
{
$currentRegPath = $registryPath + $Protocol + "\" + $key
Write-Output "Current Registry Path: `"$currentRegPath`""
if (!(Test-Path $currentRegPath))
{
Write-Output " `'$key`' not found: Creating new Registry Key"
New-Item -Path $currentRegPath -Force | out-Null
}
if ($Protocol -eq "TLS 1.2")
{
Write-Output " Explicitly enable TLS 1.2 (default is enabled)"
New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "0" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "1" -PropertyType DWORD -Force | Out-Null
}
else
{
Write-Output " Disabling - $Protocol"
New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "0" -PropertyType DWORD -Force | Out-Null
}
Write-Output " "
}
.NET Framework configureren voor het gebruik van hogere cryptografieniveaus
.NET Framework vereist doorgaans dat de toepassing definieert welk TLS-protocol moet worden gebruikt voor communicatie. In het exemplaar van Operations Manager moeten we echter het hele .NET Framework-systeem vertellen welk protocol moet worden gebruikt.
Nadat u de configuratie van alle vereisten voor Operations Manager hebt voltooid, voert u de volgende stappen uit op alle Operations Manager-servers en op alle Windows-agents.
Belangrijk
Volg de stappen in deze sectie zorgvuldig. Er kunnen ernstige problemen optreden als het register onjuist is gewijzigd. Maak een back-up van de registers voor het geval er problemen optreden voordat u wijzigingen aanbrengt.
Zie voor meer informatie: Back-up maken en het register herstellen in Windows
Vereisten voor Windows Server 2012/2012 R2
Er zijn aanvullende wijzigingen vereist op Windows Server 2012/2012 R2 voor het gebruik van TLS 1.2 via HTTP voor UNIX-/LINUX-bewaking. Als u TLS 1.2 wilt toestaan/inschakelen als standaardbeveiligingsprotocollen in WinHTTP in Windows, moeten de volgende wijzigingen worden aangebracht volgens Update om TLS 1.1 en TLS 1.2 in te schakelen als standaard beveiligde protocollen in WinHTTP in Windows.
- Installeer KB3140245 op de beheerservers/gatewayservers in de UNIX-/LINUX-resourcegroep.
- Maak een back-up van de registers die zijn gewijzigd zoals vermeld in het KB-artikel.
- Download en voer het hulpprogramma Easy Fix uit op de beheerservers/gateways in de UNIX-/LINUX-resourcegroep.
- Start de servers opnieuw op.
Methode 1: Het register handmatig wijzigen
- De Register-editor openen
- Zoek de volgende registersubsleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
- Maak de volgende DWORD-waardeparen:
- SchUseStrongCrypto [Waarde = 1]
- SystemDefaultTlsVersions [Waarde = 1]
- Maak de volgende DWORD-waardeparen:
- Zoek de volgende registersubsleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
- Maak de volgende DWORD-waardeparen:
- SchUseStrongCrypto [Waarde = 1]
- SystemDefaultTlsVersions [Waarde = 1]
- Maak de volgende DWORD-waardeparen:
- Zoek de volgende registersubsleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
- Maak de volgende DWORD-waardeparen:
- SchUseStrongCrypto [Waarde = 1]
- SystemDefaultTlsVersions [Waarde = 1]
- Maak de volgende DWORD-waardeparen:
- Zoek de volgende registersubsleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
- Maak de volgende DWORD-waardeparen:
- SchUseStrongCrypto [Waarde = 1]
- SystemDefaultTlsVersions [Waarde = 1]
- Maak de volgende DWORD-waardeparen:
- Start het systeem opnieuw op om de instellingen van kracht te laten worden.
Methode 2: het register wijzigen met PowerShell
Voer het volgende Windows PowerShell-script uit in de beheerdersmodus om .NET Framework automatisch te configureren om framework-overgenomen TLS 1.0-afhankelijkheden te voorkomen:
# Allow .NET Framework to use higher levels of Cryptography
$NetRegistryPath1 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727"
New-ItemProperty -Path $NetRegistryPath1 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath1 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath2 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath2 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath2 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath3 = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727"
New-ItemProperty -Path $NetRegistryPath3 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath3 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath4 = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath4 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath4 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
Aanvullende instellingen
Nadat u Updatepakket 4 hebt toegepast, moet u ervoor zorgen dat u de management packs importeert die zijn opgenomen in dit pakket in de volgende map: %ProgramFiles%\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups
.
Als u een ondersteunde versie van een Linux-server bewaakt met Operations Manager, volgt u de instructies op de juiste website voor uw distributie om TLS 1.2 te configureren.
Services voor auditverzameling
Voor Audit Collection Services (ACS) moeten aanvullende wijzigingen worden aangebracht in het register op de ACS Collector-server. ACS maakt gebruik van de ODBC-gegevensbronnaam (DSN) om verbindingen met de database te maken. Zorg ervoor dat de DSN-instellingen zijn bijgewerkt om ze functioneel te maken voor TLS 1.2.
- Meld u aan bij de server met een account met lokale beheerdersreferenties.
- Start de Register-editor door Startte selecteren en vast te houden, voer regedit- in het tekstvak Uitvoeren uit en selecteer OK-.
- Zoek de volgende ODBC-subsleutel voor OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
.-
Houd er rekening mee dat de standaard DSN-naam is
OpsMgrAC
.
-
Houd er rekening mee dat de standaard DSN-naam is
- Selecteer de DSN-naam OpsMgrAConder de subsleutel ODBC-gegevensbronnen. Dit bevat de naam van het ODBC-stuurprogramma dat moet worden gebruikt voor de databaseverbinding. Als ODBC 11.0 is geïnstalleerd, wijzigt u deze naam in ODBC-stuurprogramma 11 voor SQL Serverof wijzigt u deze naam in ODBC-stuurprogramma 13 voor SQL Server.
- Werk onder de subsleutel OpsMgrAC- het -stuurprogramma bij voor de ODBC-versie die is geïnstalleerd.
- Als ODBC 11.0 is geïnstalleerd, wijzig de vermelding van het stuurprogramma in
%WINDIR%\system32\msodbcsql11.dll
. - Als ODBC 13.0 is geïnstalleerd, wijzigt u de vermelding van de stuurprogramma's in
%WINDIR%\system32\msodbcsql13.dll
. - Als ODBC 17.0 is geïnstalleerd, wijzigt u de stuurprogramma-invoer in
%WINDIR%\system32\msodbcsql17.dll
. - Als ODBC 18.0 is geïnstalleerd, moet u de stuurprogramma-vermelding wijzigen in
%WINDIR%\system32\msodbcsql18.dll
.
- Als ODBC 11.0 is geïnstalleerd, wijzig de vermelding van het stuurprogramma in
Registerbestand
U kunt ook het volgende .reg-bestand maken en opslaan in Kladblok of een andere teksteditor. Dubbelklik op het bestand om het opgeslagen .reg-bestand uit te voeren.
Voor ODBC 11.0, 13.0, 17.x of 18.x. Maak het volgende bestand ODBC.reg en (vervang door de ODBC-versie die wordt gebruikt):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 18 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql18.dll"
PowerShell
U kunt ook de volgende PowerShell-opdrachten uitvoeren om de wijziging te automatiseren.
Voer voor ODBC 11.0 de volgende PowerShell-opdrachten uit:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql11.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 11 for SQL Server" -PropertyType STRING -Force | Out-Null
Voer voor ODBC 13.0 de volgende PowerShell-opdrachten uit:
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql13.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 13 for SQL Server" -PropertyType STRING -Force | Out-Null
Services voor auditverzameling
Voor Audit Collection Services (ACS) moeten aanvullende wijzigingen worden aangebracht in het register op de ACS Collector-server. ACS maakt gebruik van de ODBC-gegevensbronnaam (DSN) om verbindingen met de database te maken. Zorg ervoor dat de DSN-instellingen zijn bijgewerkt om ze functioneel te maken voor TLS 1.2.
Meld u aan bij de server met een account met lokale beheerdersreferenties.
Start de Register-editor door Startte selecteren en vast te houden, voer regedit- in het tekstvak Uitvoeren uit en selecteer OK-.
Zoek de volgende ODBC-subsleutel voor OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
.Notitie
De standaardnaam van DSN is OpsMgrAC.
Selecteer onder ODBC-gegevensbronnen subsleutel de DSN-naam OpsMgrAC. Dit bevat de naam van het ODBC-stuurprogramma dat moet worden gebruikt voor de databaseverbinding. Als ODBC 17 is geïnstalleerd, wijzigt u deze naam in ODBC-stuurprogramma 17 voor SQL Server.
Werk onder de subsleutel OpsMgrAC- het -stuurprogramma bij voor de ODBC-versie die is geïnstalleerd.
- Als ODBC 17 bijvoorbeeld is geïnstalleerd, wijzigt u de driverinvoer in
%WINDIR%\system32\msodbcsql17.dll
. - Controleer de naam van het DLL-bestand voor de huidige versie van het ODBC-stuurprogramma dat is geïnstalleerd als dit anders is.
- Als ODBC 17 bijvoorbeeld is geïnstalleerd, wijzigt u de driverinvoer in
Registerbestand
U kunt ook het volgende .reg-bestand maken en opslaan in Kladblok of een andere teksteditor. Dubbelklik op het bestand om het opgeslagen .reg-bestand uit te voeren.
Maak voor ODBC 17 het volgende ODBC-17.reg-bestand:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 17 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql17.dll"
PowerShell
U kunt ook de volgende PowerShell-opdrachten uitvoeren om de wijziging te automatiseren.
Zorg ervoor dat u het dll-bestandspad vervangt door een geschikte versie als u een andere VERSIE van het ODBC-stuurprogramma gebruikt dan 17.
New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql7.dll" -PropertyType STRING -Force | Out-Null New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 17 for SQL Server" -PropertyType STRING -Force | Out-Null
Volgende stappen
- Zie Het oplossen van het TLS 1.0-probleemvoor meer informatie over TLS 1.0 van ons beveiligingstechnisch team.
- Zie Firewall configureren voor Operations Manager-voor een volledige lijst met gebruikte poorten, de richting van de communicatie en als de poorten kunnen worden geconfigureerd.
- Zie Verificatie en gegevensversleuteling in Operations Manager-voor een algemeen overzicht van hoe gegevens tussen onderdelen in een beheergroep worden beveiligd.