ASA und mehrere CAs

Die Cisco ASA kann mit mehreren CAs umgehen, aber wann kommen welche Zertifikate zur Anwendung? Wie funktioniert das mit mehren CA? Wie überlebt man den Rollover von CA-Schlüsseln?

Hier kommt fast ausschließlich L2TP over IPSec zum Einsatz, weil dieses von praktisch allen Betriebssystemen nativ unterstützt wird. Es ist also keine Clientsoftware notwendig. Für diesen Artikel wird auch nur der Fall behandelt, wenn überhaupt eine Zertifikatsauthenisierung stattfindet.

Was im Hintergrund passiert

Wählt sich ein VPN-Client ein, präsentiert er zuerst sein Zertifikat (aggressive Mode). Zu diesem Zeitpunkt hat die ASA noch keinerlei weitere Informationen und prüft das Client-Zertifikat gegen alle konfigurierten trust-points.

Wurde das Nutzerzertifikat für gültig befunden, schaut die ASA anhand der Angaben des Client-Zertifikats in den certificate map nach, welche Kennung in der tunnel-group-map nachgeschlagen werden soll. Dort findet sich dann die entsprechende tunnel-group. Diese Indirektion gestattet es verschiedene Zertifikatseigenschaften zu analysieren die dann doch nur auf wenigetunnel-groups zusammenfallen.

Fehlt ein passender Eintrag in der certificate-map, wird versucht, den OU-Eintrag im Subject des Client-Zertifikats alstunnel-group Bezeichner zu finden.

Schlägt auch dieses fehl, so wird die Gruppe DefaultRAGroup genutzt.

Nun steht fest, welche tunnel-group genutzt werden soll. Von dort holt sich die ASA den zu verwendenden trust-point. Dieser legt fest, welches Server-Zertifikat ausgewählt wird.

Steht in der tunnel-group auch das Kommando chain, so wird nicht nur das Server-Zertifikat, sondern die ganze Zertifikatskette dieses trust-points mitgeschickt.

CA-Rollover

Es ist möglich, als CA-Zertifikat eines Trust-Points auch ein Zwischenzertifikat (intermediate) einzuspielen. In Verbindung mit derchain Option liefert die ASA dann die Zertifikatskette aus, die der Client zur Validierung benötigt.

Die bisherige aktive CA besteht, weil nach wie vor von ihr ausgestellte CA-Zertifikate im Umlauf sind, die validiert werden müssen. Das Zertifikate der ASA unter dieser CA ist allerdings abgelaufen.

asa-hosting# sh crypto ca certificates iks2013 | in ^C|cn|Name|ate:
Certificate
  Issuer Name:
    cn=CA der IKS Service GmbH (SIGN) 2013
  Subject Name:
    cn=asa-hosting.net.iks-jena.de
  Validity Date:
    start date: 09:15:08 CET Jan 10 2013
    end   date: 09:15:08 CET Jan 10 2014
CA Certificate
  Issuer Name:
    cn=CA der IKS Service GmbH (SIGN) 2013
  Subject Name:
    cn=CA der IKS Service GmbH (SIGN) 2013
  Validity Date:
    start date: 16:48:03 CET Jan 9 2013
    end   date: 16:48:03 CET Feb 8 2015

Zuerst einmal wird die CA des neuen Jahres von der alten CA signiert. Diese Zwischenzertifikat ist der Ersatz für die bisherige alte "iks2013". Überall, wo ikev1 trust-point iks2013, steht nun ikev1 trust-point iks2013-14.

asa-hosting# sh crypto ca certificates iks2013-14 | in ^C|cn|Name|ate:
Certificate
  Issuer Name:
    cn=CA der IKS Service GmbH (SIGN) 2014
  Subject Name:
    cn=asa-hosting.net.iks-jena.de
  Validity Date:
    start date: 02:50:30 CET Jan 10 2014
    end   date: 02:50:30 CET Jan 10 2015
CA Certificate
  Issuer Name:
    cn=CA der IKS Service GmbH (SIGN) 2013
  Subject Name:
    cn=CA der IKS Service GmbH (SIGN) 2014
  Validity Date:
    start date: 22:09:53 CET Jan 8 2014
    end   date: 22:09:53 CET Jan 18 2016

Dazu kommt noch das CA des neuen Jahres, die überall dort als trust-point verwendet wird, wo keine alten Zertifikate mehr im Umlauf sind.

asa-hosting# sh crypto ca certificates iks2014 | in ^C|cn|Name|ate:
Certificate
  Issuer Name:
    cn=CA der IKS Service GmbH (SIGN) 2014
  Subject Name:
    cn=asa-hosting.net.iks-jena.de
  Validity Date:
    start date: 02:50:30 CET Jan 10 2014
    end   date: 02:50:30 CET Jan 10 2015
CA Certificate
  Issuer Name:
    cn=CA der IKS Service GmbH (SIGN) 2014
  Subject Name:
    cn=CA der IKS Service GmbH (SIGN) 2014
  Validity Date:
    start date: 22:08:13 CET Jan 8 2014
    end   date: 22:08:13 CET Feb 7 2016

Mittels der crypto ca certificate map Regeln werden die Tunnel-Gruppen so ausgewählt, daß dem Client das jeweils passende Server-Zertifikat vorgelegt wird.

Praktisch genügt es überall, iks2013-14 zu verwenden, weil jeder Client die alte oder neue CA kennt. Mit dem Zwischenzertifikat können beide Clientarten korrekt validieren. Man kann aber mit diesen drei Trust-Points die alten CA-Zertifikate stückweise und im laufenden Betrieb entfernen.

Post a comment

Related content