Lync und Zertifikate

Microsoft Lync Server sprechen untereinander und mit seinen Clients immer auf verschlüsseltem Weg (Mutual TLS / TLS).
Bei einem unserer Kunden sind wir auf interessante Probleme gestoßen, die im Nachhinein auf die bereitgestellten Zertifikate der Lync Dienste zurückführen waren.

Problem:

  • Anrufweiterleitungen innerhalb Lync und zu andere Teilnehmern brechen ab (callforwarding failed due to an unsuspected error, message: A server error occurred.)
  • Simultaner Anruf auf andere Geräte ist nicht möglich (simultaneos ring failed due to an unsuspected error, message: A server error occurred)
  • Nach Einwahl in eine Telefonkonferenz über den PSTN Dialin kann der Teilnehmer keiner Konferenz zugeorndet werden (unable to join a pstn dialin user to a conference)

Fehlersuche / Ursache:

Nach detailierterter Fehlersuche des Problems konnten wir folgende Informationen während der Symptome aus dem SIP Tracing entnehmen. Hier ein Auszug aus einer vakanten SIP Message:

Instance-Id: 00001F79
Direction: outgoing;source="local"
Peer: edge.domain.local:49801
Message-Type: response
Start-Line: SIP/2.0 500 The server encountered an unexpected internal error
From: "test1"<sip:test1@domain.local>;;tag=c13c1b7f11;epid=dbecf389f4
To: <sip:test2@domain.local>;;tag=3EE1F6FB200EE7F8F86CC2023211610B
CSeq: 1 INVITE
Call-ID: 98f94f357c574026828f01dd5b1b12f3
Authentication-Info: NTLM qop="auth", opaque="870ADA2C", srand="D8E52649", snum="22", rspauth="01000000fe070000971769d09e001546", targetname="frontend.domain.local", realm="SIP Communications Service", version=4
ms-application-via: frontend.domain.local_rtcmonitoring;ms-server=frontend.domain.local;ms-pool=frontend.domain.local;ms-application=51FB453D-5B9F-45df-83B4-ADD1F7E604A8
Via: SIP/2.0/TLS 10.0.0.42:49801;branch=z9hG4bK81E098F1.C4721A8A261B0A59;branched=FALSE;ms-received-port=49801;ms-received-cid=2B100
Via: SIP/2.0/TLS 192.168.12.38:54333;received=95.91.141.107;ms-received-port=54333;ms-received-cid=24700
ms-diagnostics: 1;reason="Service Unavailable";AppUri="http%3A%2F%2Fwww.microsoft.com%2FLCS%2FDefaultRouting";reason="Failed when constructing the outgoing request";source="frontend.domain.local"
Server: RTC/4.0
Content-Length: 0
Message-Body: –

Diese Nachricht meldete kaum genauere Infos. Nur einen Fehler 500 „failed when constructing the outgoing request“ wurde aufgenommen. Zusätzlich wurde während dem Symptom folgender Eintrag im Lync Event Log generiert der dann auf ein mögliches Problem mit Zertifikaten hinweißt:

Event-ID 14428 LS Protocol Stack, TLS connection failures

Lösung:

Die Root CA (Root Zertifizierungsstelle) und Issuing CA (Zertifizierungsstelle für die Zertifikatsaustellung) der PKI unseres Kunden lief unter einem 256 Bit Signatur Algorithmus (signature hash algorithm SHA-256), was auch nur Zertifikate mit einem Signatur Algorithmus von SHA 256 Bit verschlüsselt und ausstellt. Grundsätzlich kann man hierzu sagen, dass SHA-256 nur eine erhöhte Sicherheitsstufe ist und nicht negativ bewerten werden kann. (Standard SHA-1, RSA)

Die Festlegung des Hash Algorithmus für eine Zertifizierungsstelle kann nur bei der Installation festgelegt werden. Nachfolgend werden alle Zertifikate mit diesem Algorithmus verschlüsselt. Da durch diese Zertifizierungsstelle alle Zertifikate für Lync bereits ausgestellt wurden, mussten folgende Schritte zur Lösung durchgeführt werden:

  • Implemtierung einer Issung CA mit SHA-1 RSA Signatur Hash Algorithmus,
  • Erneuerung aller Zerfikate für Lync Dienster mit Hash Algorithmus SHA-1
  • Neustart aller Lync-Dienste nach der Anpassung

Fazit:

Der Einsatz eines 256 Bit Signatur Algorithmus (signature hash algorithm) ist bestimmt kein Nachteil, jedoch sollte man die Zertifikatsanforderungen einer Applikation beachten. Durch solche tiefen Zertifikatsdetails tauchen oftmals merkwürdige Phänomene in der Umgebung auf.
Bei Lync 2010 konnten wir im Microsoft Technet keine Aussage zu SHA-1 Signaturen innerhalb von Lync Anforderungen finden. Es gibt natürlich von Microsoft zahlreiche Dokumente, welche die Anforderungen an Zertifizierungsstellen (Public Key Infrastructure) und deren Templates für Zertifikate beschreibt, jedoch wird hier nicht explizit der Signatur Algorithmus SHA-1 erwähnt. Seit dem Release von Lync 2013 ist diese Information klar definiert und auch SHA-256 signierte Zerfikate werden nun supportet. (http://technet.microsoft.com/en-us/library/gg398094.aspx)