Hallo Admins,

heute mal wieder ein wenig was zu ADFS & WAP! Ja so langsam spielt sich das ganze System ein und ich habe einige Installationen die nun ein Jahr gelaufen sind. Und auf einmal tauchen die Probleme auf … warum, das will ich heute erörtern!

 ADFS-Zertifikate sind im Standard 365 Tage lang gültig!

Und genau da ist das Problem! Denkt man bei der Installation des ADFS-Servers nicht daran kann es nach genau 365 Tagen zu der Fehlermeldung „Wrong Audience URI or Bad Signing Certificate“ im Browser kommen. Schauen wir uns die ADFS-Einstellungen doch mal an. Via PowerShell am ADFS-Server kann ich mit folgendem Befehl die Einstellungen sehen:

Get-AdfsProperties

Damit bekomme ich alle ADFS-Server Eingenschaften, wichtig ist mir aber alles mit was mit Zertifikaten zu tun hat: –> Diese kann ich mir auch übersichtlicher darstellen lassen mit:

Get-AdfsProperties | fl *Cert*

Dadurch erhalte ich alle Werte die für mich jetzt von Bedeutung sind:

01 Eigenschaften ADFS server

01 Eigenschaften ADFS Server

Schauen wir uns die Werte mal genauer an:

  • AutoCertificateRollover = Generiert automatisch neue Zertifikate bevor das primäre Zertifikat ausläuft
  • CertificateCriticalThreshold = Grenzwert in Tagen (days). Läuft ein Zertifikat ab, so wird 2 Tage vor Ablauf der automatische Erneuerungsprozess gestartet
  • CertificateDuration = Gültigkeit des Zertifikats in Tagen (days). Bestimmt wie lange ein Primäres Zertifikat gültig sein darf
  • CertificateGenerationThreshold = Bestimmt den Generierungsprozess für neue Zertifikate in Tagen (days). Läuft ein Primäres Zertifikat ab so wird 30 Tage vor Ablauf ein neues Zertifikat erstellt und als sekundäres Zertifikat eingerichtet
  • CertificatePromotionThreshold = Bestimmt den austauschzeitraum in Tagen (days). Läuft das Primäre ab, so wird 5 Tage vor Ablauf das Primäre durch das Sekundäre Zertifikat ausgetauscht
  • CertificateRolloverIntervall = Bestimmt den Intervall in Minuten (minutes) wann auf neue Zertifikate geprüft werden soll.
  • CertificateThresholdMultiplier = Standardzeitwert für Festlegung des Zeitintervalls in Minuten, bestimmt wie lange ein Tag ist. der Wert sollte nicht geändert werden!

Dadurch das der Wert „AutoCertificateRollover“ auf „True“ steht, wird nach 335 Tagen ein neues Zertifikat generiert, zunächst als sekundäres eingerichtet und  nach 360 Tagen, bzw. spätestens nach 363 als Primäres Zertifikat verwendet. das Problem dabei ist, dass der Exchange-Server diese Änderung nicht mitbekommt! Der Thumbprint des Signing-Zertifikat ist in der Organisationskonfiguration hinterlegt –>

 

Lösungsvorschläge:

#1 Serientermin erstellen

Einen neuen Jährlichen Termin in Outlook einstellen um Zertifikate zu tauschen (Signing-Cert muss am Exchange-Server importiert werden). Automatische Erneuerung deaktivieren um den Prozess selbst zu steuern – Empfohlen!

Set-AdfsProperties -AutoCertificateRollover $false

#2 Gültigkeitszeitraum verlängern

Verlängerung auf zwei Jahre stellen, üblicher Zeitraum für Webserver-Zertifikate! Problem dabei ist, mein bereits vorhandenes Zertifikat verliert die Gültigkeit nach einem Jahr und es muss zunächst ein neues Zertifikat ausgestellt werden!

Set-AdfsProperties -CertificateDuration 730

#3 Zertifikate für immer verwenden

Hmmm…Möglich, macht aber ein bisschen Bauchschmerzen. Zertifikate sollten schon ein Ablauf haben, damit im falle eines kompromittieren Zertifikats, der Angriffszeitraum minimiert werden kann!

#Zeitraum auf Unbegrenzt setzten: 
Set-AdfsProperties -CertificateDuration 3650000

#Neues Zertifikat erstellen (Signing & Encryption)
Update-ADFSCertificate -CertificateType Token-Signing -Urgent

Update-ADFSCertificate -CertificateType Token-Decrypting -Urgent

#Automatischen Erneuerungsprozess deaktivieren
Set-AdfsProperties -AutoCertificateRollover $false

Damit entgehe ich dem Automatischem Erneuerungsprozess und kann sicher sein, dass OWA & ECP weiterhin einwandfrei funktionieren.

Ich hoffe damit konnte ich euch den Zertifikatsdschungel von ADFS etwas näher bringen.

Andi