befhel ladap6
This commit is contained in:
+17
-39
@@ -1,49 +1,27 @@
|
|||||||
# LDAP Signing komplett deaktivieren
|
# Altes Zertifikat finden und entfernen (falls vorhanden)
|
||||||
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LDAPServerIntegrity" -Value 0 -Type DWord
|
Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*byte.trail*" } | Remove-Item -Force
|
||||||
|
|
||||||
# Channel Binding ebenfalls deaktivieren (falls aktiv)
|
# Neues Zertifikat mit korrekten Einstellungen fuer AD LDAPS
|
||||||
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" -Name "LdapEnforceChannelBinding" -Value 0 -Type DWord
|
|
||||||
|
|
||||||
# NTDS neu starten
|
|
||||||
Restart-Service NTDS -Force
|
|
||||||
|
|
||||||
# Optional: GPO-Refresh erzwingen falls eine Policy das ueberschreibt
|
|
||||||
gpupdate /force
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 1. Pruefen ob der Registry-Wert tatsaechlich gesetzt ist
|
|
||||||
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" | Select-Object LDAPServerIntegrity, LdapEnforceChannelBinding
|
|
||||||
|
|
||||||
# 2. Effektive GPO-Einstellung pruefen
|
|
||||||
gpresult /r /scope:computer | Select-String -Pattern "LDAP|ldap"
|
|
||||||
|
|
||||||
# 3. Oder: Die lokale Security Policy direkt aendern
|
|
||||||
# secpol.msc -> Local Policies -> Security Options ->
|
|
||||||
# "Domain controller: LDAP server signing requirements" -> "None"
|
|
||||||
|
|
||||||
# 4. Nach GPO-Aenderung:
|
|
||||||
gpupdate /force
|
|
||||||
Restart-Service NTDS -Force
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Selbst-signiertes Zertifikat fuer LDAPS erstellen
|
|
||||||
$cert = New-SelfSignedCertificate `
|
$cert = New-SelfSignedCertificate `
|
||||||
|
-Subject "CN=SRV-DC01.byte.trail" `
|
||||||
-DnsName "SRV-DC01.byte.trail","byte.trail","10.10.10.10" `
|
-DnsName "SRV-DC01.byte.trail","byte.trail","10.10.10.10" `
|
||||||
-CertStoreLocation "Cert:\LocalMachine\My" `
|
-CertStoreLocation "Cert:\LocalMachine\My" `
|
||||||
-KeySpec KeyExchange `
|
-KeyAlgorithm RSA `
|
||||||
-KeyLength 2048 `
|
-KeyLength 2048 `
|
||||||
-KeyExportPolicy Exportable `
|
-KeyExportPolicy Exportable `
|
||||||
-NotAfter (Get-Date).AddYears(10) `
|
-NotAfter (Get-Date).AddYears(10) `
|
||||||
-Provider "Microsoft RSA SChannel Cryptographic Provider"
|
-Provider "Microsoft RSA SChannel Cryptographic Provider" `
|
||||||
|
-KeyUsage DigitalSignature, KeyEncipherment `
|
||||||
|
-TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")
|
||||||
|
|
||||||
# AD erkennt Zertifikate im Personal Store automatisch und aktiviert LDAPS (Port 636)
|
# NTDS neu starten - nimmt das Zertifikat automatisch auf
|
||||||
Restart-Service NTDS -Force
|
Restart-Service NTDS -Force
|
||||||
|
Start-Sleep -Seconds 5
|
||||||
|
|
||||||
# Pruefen ob Port 636 jetzt lauscht:
|
# Pruefen ob LDAPS jetzt funktioniert
|
||||||
Test-NetConnection -ComputerName localhost -Port 636
|
$tcp = New-Object System.Net.Sockets.TcpClient
|
||||||
|
$tcp.Connect("localhost", 636)
|
||||||
|
$ssl = New-Object System.Net.Security.SslStream($tcp.GetStream(), $false, {$true})
|
||||||
|
$ssl.AuthenticateAsClient("SRV-DC01.byte.trail")
|
||||||
|
Write-Host "LDAPS funktioniert! Zertifikat: $($ssl.RemoteCertificate.Subject)" -ForegroundColor Green
|
||||||
|
$ssl.Close(); $tcp.Close()
|
||||||
Reference in New Issue
Block a user