Offizielle Zertifikate / SAN-Zertifikate

Hinweis:
Immer mehr Zertifizierungsstellen erlauben nicht mehr die Eintragung interner DNS-Namen, kurzer Hostnamen oder gar IP-Adressen. Sie berufen sich auf "policy requirements enforced by the CABForum". See Section 9.2.1 - page 9 http://www.cabforum.org/Baseline_Requirements_V1.pdf

Wer Outlook Web Access, RPC over HTTP  oder seit Exchange 2007 auch "Autodiscover" aus dem Internet einsetzen will, wird über kurz oder lang auf öffentliche Zertifikate umstellen. Jedes Endgerät mit SSL-Unterstützung hat seitens des Herstellers schon eine Liste der "Vertrauenswürdigen Stammzertifizierungsstellen" lokal vorliegen, so dass Zertifikate, die von diesen Stellen ausgestellt werden, auf allen Endgeräten ohne weitere Konfiguration als "vertrauenswürdig" eingestuft werden. Beim Einsatz von selbst erstellten Zertifikaten muss man die ausstellende CA erst als Vertrauenswürdig eintragen, was auf einigen Geräten nicht oder nur mit sehr viel Aufwand geht.

Single Zertifikate, SAN-Zertifikat - welches nehmen ?

Früher war die Auswahl sehr einfach. Um einen Webserver unter "https://owa.msxfaq.de" zu sichern, musste man ein SSL-Zertifikat für den Hostnamen "owa.msxfaq.de" anfordern. (Siehe MSXFAQ - IIS Zertifikat einrichten) und bei der Zertifizierungsstelle einreichen. Damit war dann genau eine Webseite des IIS mit einer IP-Adresse per SSL erreichbar.

Spätestens seit Exchange 2007 müssen nun aber mehrere Adressen (URLs) per HTTPS erreichbar sein. Nun kann man natürlich nicht für jede Adresse eine eigene öffentliche IP-Adresse mit einem eigenen Zertifikat vorsehen. Daher gibt es SAN-Zertifikate (Subject Alternate Name). Sie werden oft auch Unified Communication (UC) Zertifikate genannt und beruhen einfach darauf, dass ein Zertifikat weitere "alternative Namen" beinhalten kann. Ein Webserver kann daher mit einer IP-Adresse unter verschiedenen URLs erreicht werden, ohne dass der Client die Meldung erhält, dass der angesprochene Name nicht zum Zertifikat passen würde.

Details eines SAN-Zertifikats

Man sieht gut, dass hier die beiden Servernamen enthalten sind, die einzige Domain, für welche meine SpielUmgebung zuständig ist und natürlich der Autodiscover-Eintrag.

Leider kann der Assistent des IIS keine solchen SAN-Zertifikate anfordern. Das kann aktuell aber die Exchange 2007 PowerShell (Siehe E2K7: Zertifikate). Eine andere Lösung besteht darin, so genannte Wildcard Zertifikate zu nutzen, die z.B. auf die URL "*.msxfaq.de" ausgestellt sind. Wildcard Zertifikate sind aber oft sehr viel teurer und nicht alle Clients akzeptieren diese Zertifikate.

  • Alle Browser (IE, FireFox, Opera, Safari, Netscape)
    Unterstützung von SAN-Zertifikaten seit ca. 2003. Internet Explorer unterstützt SAN-Zertifikate schon seit Windows 98
  • Windows Mobile 5
    unterstützt SAN-Zertifikaten aber keine Wildcard Zertifikate. Dazu zählen auch die neueren Palm Treo devices mit WM5
  • ältere Palms mit PalmOS und VersaMail für ActiveSync
    Keine Unterstützung für SAN-Zertifikate
  • Sonstige Geräte
    Die meisten Mobilgeräte unterstützen keine SAN-Zertifikate. Daher fährt man am besten damit, wenn der primäre Name (Commonname) der Name ist, den die Mobilen Geräte ansprechen, z.B. "activesync.firma.tld".

Um die Lösung perfekt zu machen müssen nun die Clients eben diese Zertifikate akzeptieren und es muss eine Zertifizierungsstelle gefunden werden, die SAN-Zertifikate ausstellen kann.

Welche Namen für das Zertifikat ?

Wenn Sie nun soweit sind, ein offizielles Zertifikat anzufordern, sollten sie genau überlegen, welches der primäre Name und welches der alternative Name ist. für kleine Firmen mit einem Server bietet sich folgendes an: (ersetzen sie firma.tld durch ihren Domainnamen)

Primärer Name: owa.firma.tld
SubjectAlternateName: autodiscover.firma.tld
SubjectAlternateName: servername
SubjectAlternateName: servername.firma.tld

  • Primärer Name: owa.firma.tld
    Dieser Namen wird auch von den PocketPCs verwendet. www.firma.tld habe ich nicht als primären Namen, da die Firmenwebseite ja oft auf einem anderen Server (z.B. gehostet) liegt.
    Knifflig wird es, wenn Sie auch noch einen Office Communicator Web Access veröffentlichen, da dieser ebenfalls den ersten Namen möchte.
  • Subject Alternate Names (SAN)
    Der Eintrag autodiscover.firma.tld soll auch von extern die automatische Konfiguration von Outlook 2007 erlauben.
    Die beiden Einträge für den Servernamen sind relevant, wenn Sie auch SMTP per TLS verschlüsseln wollen.

Even though the certificate subject name is equal to the access Edge FQDN, the subject alternative name must also contain the access Edge FQDN because Transport Layer Security (TLS) ignores the subject name and uses the subject alternative name entries für validation.
Quelle: Certificate Requirements für External user Access http://technet.microsoft.com/en-us/library/gg398920.aspx

Ob Sie weitere Namen benötigen, hängt von ihrer Umgebung ab. Natürlich können Sie das Zertifikat auch nutzen, um weitere Webseiten, z.B. ein Intranet, ein Kundenportal oder auch den RDPoverHTTP-Zugang (Windows 2008) zu sichern. Prüfen Sie, ob eine der folgenden Bedingungen zutrifft:

  • Weitere Webseiten
    Vielleicht haben Sie ja noch andere Webseiten wie "portal.firma.tld, support.firma.tld, shop.firma.tld". Prüfen Sie, wie viele weitere Adressen Sie sinnvoll belegen wollen.
  • RCP over HTTP (MAPI)
  • ActiveSync
    Die meisten Firewalls und Webserver beenden inaktive Verbindungen nach 2 Minuten. Das ist für "Pushmail" natürlich nicht effektiv. Hier werden oft längere Session Timeouts eingestellt. Das macht aber wenig Sinn für den OWA-Zugang. Also könnte auch hier bei größeren Firmen eine Trennung ratsam sein.
  • RDP over HTTP
    Seit Windows 2008 können Sie per SSL auch eine Verbindung auf einen Terminalserver aufbauen, wenn auf der anderen Seite ein Windows 2008 RPC-Proxy steht. Möchten sie den Verkehr von Exchange getrennt bedienen, benötigen Sie einen eigenen Namen.
  • VPN over HTTP
    Windows 2008 erlaubt es auch über HTTP eine VPN-Verbindung aufzubauen. Dazu ist aber der Zugriff auf den Windows 2008 RPC-Proxy erforderlich. Oft möchten Sie aber eben diesen Zugriff von RPC/HTTP und RDP/HTTP getrennt halten. Also wieder ein eigener Name
  • Live Communication Server / Office Communications Server
    Hierzu sind zusätzliche Namen wie "sip.firmendomain.tld" erforderlich

Für den Einsatz von SAN-Zertifikaten mit dem ISA-Server sind einige Vorbedingen zu beachten (Siehe Links am Ende der Seite) Es kann als auch sinnvoll sein, mehrere IP-Adressen mit eigenen Namen und Zertifikaten zu verwenden. Ein SAN-Zertifikat erleichtert primär den Einsatz mehrerer Hostnamen unter der gleichen IP-Adresse und ist für viele Namen natürlich günstiger.

Anzahl der Namen im "Subject Alternate Name"-Feld

Ich habe verschiedene Quellen gewälzt und habe Hinweise gefunden, dass das Feld maximal 1024 Bytes groß sein kann. Als dann auf einem Lync Server über 140 Namen eingetragen waren, konnte das mit den 1024 Zeichen nicht mehr stimmen. In der RFC3280 steht

id-ce-subjectAltName OBJECT IDENTIFIER ::=  { id-ce 17 }
   SubjectAltName ::= GeneralNames
   GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

   GeneralName ::= CHOICE {
        otherName                       [0]     OtherName,
        rfc822Name                      [1]     IA5String,
        dNSName                         [2]     IA5String,
        x400Address                     [3]     ORAddress,
        directoryName                   [4]     Name,
        ediPartyName                    [5]     EDIPartyName, uniformResourceIdentifier       [6]     IA5String,
        iPAddress                       [7]     OCTET STRING,
        registeredID                    [8]     OBJECT IDENTIFIER }

Interessanter ist dabei aber noch die Definition von "SEQUENCE SIZE (1..MAX) OF" " auf Seite 112

The construct "SEQUENCE SIZE (1..MAX) OF" appears in several ASN.1
   constructs.  A valid ASN.1 sequence will have zero or more entries.
   The SIZE (1..MAX) construct constrains the sequence to have at least
   one entry.  MAX indicates the upper bound is unspecified.
   Implementations are free to choose an upper bound that suits their
   environment.

Allerdings bieten die meisten CAs nur eine bestimmte Menge an Namen an. 100 oder 150 Namen sind aber auch schon viel, denn die CA muss die Besitzverhältnisse für jeden einzelnen Namen verifizieren.

Die Auswahl der Zertifizierungsstellen ist willkürlich.

Allerdings sollten sie nicht nur aus Kostenaspekten weniger Namen planen, sondern auch weil das Zertifikat damit immer größer wird und es wird beim SSL-Handshake natürlich komplett an den Client übertragen.

Häufig genannte Zertifizierungsstellen

Natürlich können Sie ihr Zertifikat bei jeder Zertifizierungsstelle kaufen, die ihnen das gewünschte Zertifikat anbietet und auf den Endgeräten auch als vertrauenswürdig aufgeführt wird. Klären Sie aber auf jeden Fall vorab dies, da einige CAs nicht auf allen Endgeräten eingetragen sind.(z.B. hat die Deutsche Telekom vier CAs, von denen nur die ersten drei auf älteren Mobilgeräten vorhanden sind)

  • 931125 Microsoft root certificate program members (July 2007)
    Liste aller von Microsoft verteilten Stamm-CAs
  • 929395 Unified Communications Certificate Partners für Exchange 2007 and für Communications Server 2007
    Die Liste ist nicht immer aktuell.

Die Liste ist sicher nicht vollständig und soll keine Empfehlung darstellen. Aber da aktuell (Nov 07) nur sehr wenige Zertifizierungsstellen SAN-Zertifikate ausstellen, möchte ich ihnen die Suche vereinfachen. Ich habe das jeweils günstigste Zertifikat gewählt. Bitte prüfen Sie aber selbst die aktuellen Preise, da diese doch langsam unter Druck kommen.

Zertifizierungsstelle SSL SAN Wildcard Zertifikate

Entrust
http://www.entrust.net/microsoft/

159 US-$

599 US-$ (10 Domains)

 

Comodo
http://www.comodo.com/msexchange

139 US-$

200 US-$ (3 Domains)
30US-$ jede weitere Domain

999 US-$

DigiCert
http://www.digicert.com/unified-communications-ssl-tls.htm
https://www.digicert.com/easy-csr/exchange2007.htm

99 US-$

395 US-$ (5 Domains)
39US-$ jede weitere Domain

200 US-$

GoDaddy
http://www.godaddy.com
https://www.godaddy.com/gdshop/ssl/ssl.asp?ci=9039

35€

64€ $ (5 Domains)
3US-$ jede weitere Domain
bis zu 100 Domains

142€

Verisign
http://www.verisign.com/ssl/buy-ssl-certificates/specialized-ssl-certificates/san-ssl-certificates/index.html

499 US-$

Im Rahmen von Managed PKI für Enterprise Kunden verfügbar

?

Trustcenter.de (Geotrust ?)

149 €

Kein Angebot

679 €

Thawte

149 US-$

Kein Angebot

799 US-$

GlobablSign
http://nl.globalsign.com/en/ssl+certificates/san/

139€


bis zu 40 Namen

 

Alpha SSL
www.alphassl.com

49US$

Nicht mehr

149US$

Telekom, Telesec http://wwwca.telesec.de

 

Kein Angebot

 

Verschiedene Zertifizierungsstellen bieten ihnen unterschiedlich teure Zertifikate an, die sich aber im wesentlichen in der Höhe der Haftung der Zertifizierungsstelle und der damit verbundenen Überprüfung ihrer Identität unterscheiden. Abhängig von der Vertrauenswürdigkeit können Sie ihre e-Commmerce-Site mit unterschiedlichen Logos schmücken. Im Bezug auf die Verschlüsselung und Funktion gibt es aber keine signifikanten unterschiede. Erst mit dem Internet Explorer 7 kann man besondere "Extended Validation (EV) certificates" nutzen, die in der Adresszeile einen höheren Schutz gegen Zertifikatsdiebstahl versprechen.

SAN Zertifikate mit der eigenen CA

Wenn Sie eine eigene Zertifizierungsstelle betreiben und das Stammzertifikat dieser z.B.: über Gruppenrichtlinien auf alle Clients verteilt haben, dann können Sie natürlich auch mit dieser CA ein SAN-Zertifikat anfordern. Dazu sind wenige Änderungen erforderlich. Zuerst müssen Sie auf der Zertifizierungsstelle die SAN-Optionen freischalten

certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc

Der Neustart der Zertifizierungsstelle ist erforderlich. Danach können Sie auch SAN-Zertifikate über den Browser anfordern. Im Feld "Attributes" muss man einfach alle Namen in der folgenden Form addieren:

san:dns=owa&dns=owa.msxfaq.de&dns=activesync.msxfaq.de&dns=mobil.msxfaq.de

Das Formular einer Windows 2003 sieht wie folgt aus:

Zertifikat per Formular erstellen 

Wichtig sind hierbei die Einstellungen, dass der Schlüssel exportierbar ist, wenn Sie das Zertifikat von einem anderen Server abrufen, die SAN-Attribute mit den zusätzlichen Hostnamen und speziell beim Einsatz für OCS muss der Anzeigename mit dem Hostname übereinstimmen. (Das Formular ist um einige Eingabefelder verkürzt).

Requests vom Exchange 2007 Server und LCS können Sie natürlich einfach als Datei einsenden. Die Verfahren unterscheiden sich, wenn sie einen Windows Enterprise oder Standardserver haben und ob es eine Standalone oder integrierte CA ist. Details hierzu finden Sie auf:

IIS, Zertifikate und Hostheader

Egal, welchen Webserver sie verwenden, so galt lange Zeit immer die Regel "ein Name = ein SSL-Zertifikat = eine dedizierte IP-Adresse). Das ist im Prinzip auch immer noch so, da auch die Anfragen per SSL verschlüsselt werden und daher der Webserver das Zertifikat an den Client senden muss, noch ehe der Datenstrom "entschlüsselt" wurde. Damit können Sie eigentlich keine "Hostheader" nutzen. Dieses Verfahren erlaubt es, auf einer Kombination von IP-Adresse:Port sehr viele Webserver zu betreiben. Das geht mit SSL genau genommen auch, wenn eben das Zertifikat die Namen aller Webseiten enthält, die hinter der gleichen IP-Adresse:Port-Kombination konfiguriert sind.

Mit einem "Wildcard"-Zertifikat kann man sogar fast unbegrenzt Webseiten betreiben, solange diese alle den gleichen Domainanteil haben. Praktisch hat das aber keine Bedeutung.

Probleme mit SAN-Zertifikaten

Eigentlich gibt es den Standard der SAN-Zertifikate schon lange. Wenn Sie aber kaum genutzt werden, dann fällt auch nicht auf, wenn verschiedene Anwendungen damit Probleme haben. Probleme, auf die ich bislang gestoßen bin

  • ISA2006/2004
    Wer mit dem ISA-Server den internen Exchange Server veröffentlicht, muss sicherstellen, dass der Zielname in der Webveröffentlichungsregel auch dem primären Namen des Zertifikats auf dem internen Server entspricht.
  • Outlook 2007 POP3 Client
    Wer mit Outlook 2007 auch per POP3S seine Mails abholt, muss auch hier als POP-Server den gleichen Namen verwenden, der im Zertifikat als primär hinterlegt ist

Outlook 2007 does not check the Subject Alternative Name (SAN) entries für a certificate when Outlook tries to connect to a Microsoft Exchange Server that uses the certificate through an Internet Protocol, such as IMAP, POP or SMTP.
Quelle: 968858 Description of the Outlook 2007 hotfix package (Outlook.msp): April 30, 2009

  • Windows Mobile 2003
    Diese sicher schon alten Mobiltelefone können ebenfalls nicht mit SAN-Zertifikaten umgehen.

Die meisten Probleme lassen sich damit umgehen, dass der angesprochene Namen auch der primäre Name des SAN-Zertifikates ist. Bei der Beantragung muss man eben den richtigen Namen als primär definieren.

Ausstellen von SAN Zertifikaten

Wenn Sie sich also für SAN-Zertifikate entscheiden, dann müssen Sie folgende Hürden berücksichtigen:

  • Überprüfung der Namen
    Wer ein SAN-Zertifikat mit mehreren Namen unterschiedlicher Domains beantragt, muss für alle Namen jeder Domäne nachweisen, dass er dafür autorisiert ist. Selbst bei domainverifizierten Zertifikaten bedeutet das bei 20 Domänen, dass alle 20 Domaininhaber (Admin-C) angeschrieben und die Anforderung bestätigen müssen. Vorher stellt die CA das Zertifikat nicht aus
  • ändern
    Es gibt Zertifizierungsstellen, bei denen Sie ein Zertifikat auch nachträglich um Namen erweitern und reduzieren können. Aber oft wird dabei das alte Zertifikat komplett zurück gezogen und neu ausgestellt. Und oft müssen Sie das neue Zertifikat noch einem komplett bezahlen. Das ist gerade für Provider komplett ungeeignet.
  • Anzahl der Namen
    Der Speicherplatz für SAN-Namen ist auf 1KByte beschränkt. Es passen nur eine gewisse Menge an Namen in ein Zertifikat.
  • Kosten
    Zertifizierungsstellen sind kommerzielle unternehmen und wenn Sie die Preislisten vergleichen, dann sehen Sie sicher, dass die SAN-Zertifikate nicht gerade billig sind. Teilweise kosten Sie sogar mehr als die gleiche Anzahl von Einzelzertifikaten.

Sie sehen also, das es gut überlegt sein will, ob sie als Firma mehrere SIP-Domänen oder Mail-Domains (z.B.: je Land eine) nutzen wollen, oder besser eine "Gruppen-Adresse" nutzen. Zur Wahl von Namen habe ich auf Namenswahl weitere Informationen veröffentlich.

Weitere Links