aethercert
Dokumentation

F5 BIG-IP: SSL-Zertifikat austauschen

SSL-Zertifikat und Schlüssel auf F5 BIG-IP per GUI (Overwrite Existing) oder tmsh ersetzen, Client-SSL-Profil anpassen, speichern, Device Group synchronisieren und prüfen.

BIG-IP speichert Zertifikate und private Schlüssel als benannte Objekte. Ein Client-SSL-Profil verweist auf Zertifikat, Schlüssel und Kette (seine Certificate Key Chain), und ein virtueller Server verweist auf das Profil. Daraus ergeben sich zwei Wege:

WegWannWas sich ändert
Vorhandene Objekte überschreibenAlle Profile, die das Zertifikat nutzen, sollen auf einmal wechselnZertifikats- und Schlüsselobjekt behalten ihre Namen; Profile bleiben unberührt
Unter neuen Namen importierenProfile einzeln umstellen oder altes Zertifikat parallel behaltenNeue Objekte; jedes Client-SSL-Profil wird darauf umgestellt

Voraussetzungen

  • Notieren Sie die Partition (meist /Common), die Namen von Zertifikats-, Schlüssel- und Kettenobjekt, jedes Client-SSL-Profil, das sie nutzt (auch SNI-Profile), die virtuellen Server sowie Name und Sync-Status der Device Group (Device Management > Overview).
  • Nehmen Sie die Änderung auf einem Gerät der Device Group vor - normalerweise dem, von dem aus Sie immer verwalten - und synchronisieren Sie sie danach auf die anderen.
  • Sichern Sie die Konfiguration als UCS-Archiv (System > Archives > Create oder tmsh save sys ucs /var/local/ucs/before-cert.ucs) und bewahren Sie eine Kopie der aktuellen Zertifikats- und Schlüsseldateien auf - die UCS-Sicherung ist Ihr Rollback.
  • Bereiten Sie das neue Zertifikat (PEM), den privaten Schlüssel und die Zwischenzertifikatskette (PEM) vor. Für tmsh kopieren Sie die Dateien auf den BIG-IP, etwa per scp nach /var/tmp.

Weg 1: Vorhandene Objekte überschreiben

Zertifikats- und Schlüsselobjekt behalten ihre Namen, also wechselt jedes Profil, das sie nutzt, auf einmal. Zertifikat und Schlüssel müssen immer zusammenpassen: Ein Profil lehnt ein Zertifikat ab, das nicht zu seinem Schlüssel gehört. Ersetzen Sie beide gemeinsam.

In tmsh in einer Transaktion, damit das Paar nie auseinanderläuft:

tmsh
create cli transaction
install sys crypto key www-wildcard from-local-file /var/tmp/www-2026.key
install sys crypto cert www-wildcard from-local-file /var/tmp/www-2026.crt
submit cli transaction
save sys config
quit

www-wildcard ist der Name der vorhandenen Objekte. Ergänzen Sie beim Schlüssel passphrase '<passphrase>', wenn er verschlüsselt ist. Hat sich das Zwischenzertifikat geändert, installieren Sie es auf dieselbe Weise über das vorhandene Kettenobjekt.

Im Configuration Utility: System > Certificate Management > Traffic Certificate Management > SSL Certificate List > Import öffnen. Den Schlüssel mit Import Type Key und Key Name Overwrite Existing importieren (vorhandenen Schlüssel wählen), danach das Zertifikat mit Import Type Certificate und Certificate Name Overwrite Existing (vorhandenes Zertifikat wählen). Ein geändertes Zwischenzertifikat auf dieselbe Weise.

Weg 2: Unter neuen Namen importieren

  1. Schlüssel, Zertifikat und - falls geändert - Kette unter neuen Namen importieren, in der GUI mit Create New statt Overwrite Existing, oder in tmsh:

    tmsh install sys crypto key www-2026 from-local-file /var/tmp/www-2026.key
    tmsh install sys crypto cert www-2026 from-local-file /var/tmp/www-2026.crt
    tmsh install sys crypto cert intermediate-2026 from-local-file /var/tmp/intermediate-2026.crt
  2. Jedes Client-SSL-Profil auf die neuen Objekte umstellen. In der GUI: Local Traffic > Profiles > SSL > Client > Profil > Certificate Key Chain, Eintrag ersetzen und Update klicken. In tmsh:

    tmsh modify ltm profile client-ssl www-clientssl cert-key-chain replace-all-with { default { cert www-2026 key www-2026 chain intermediate-2026 } }
    tmsh save sys config

    replace-all-with ersetzt jeden Eintrag des Profils. Trägt das Profil sowohl ein RSA- als auch ein ECDSA-Zertifikat, geben Sie beide Einträge an oder ändern Sie das Profil in der GUI.

  3. Für jedes Profil wiederholen. Die alten Objekte bleiben, bis Sie sie löschen.

Danach: Device Group synchronisieren

Synchronisieren Sie in einer Sync-Failover-Device-Group vom geänderten Gerät auf die Gruppe: Device Management > Overview, Gerät wählen und Sync Device to Group, oder:

tmsh run cm config-sync to-group <device-group-name>

Prüfen Sie, ob jedes Gerät In Sync zeigt. Eine Änderung auf einem Gerät ist erst nach erfolgreicher Synchronisierung auf den anderen.

Überschreiben Sie nie das eingebaute Zertifikat und den Schlüssel default - andere Konfiguration verlässt sich darauf.

Produktspezifische Hinweise

Ein Client-SSL-Profil kann getrennte RSA- und ECDSA-Einträge haben, und per SNI kann ein anderes Profil antworten als das Standardprofil des virtuellen Servers - testen Sie deshalb genau die Hostnamen, die Clients verwenden. Neue TLS-Verbindungen nutzen das neue Zertifikat; bestehende Verbindungen behalten ihre ausgehandelte Sitzung. Das Zertifikat der BIG-IP-Verwaltung (Configuration Utility) ist ein eigenes Gerätezertifikat und wird durch Änderungen an Traffic-Zertifikaten nicht ersetzt.

Neues Zertifikat prüfen

Prüfen Sie das Zertifikatsobjekt (Ablaufdatum, Antragsteller) in der SSL Certificate List und die Certificate Key Chain jedes Profils, und verbinden Sie sich dann mit jedem Hostnamen eines virtuellen Servers:

openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts </dev/null

Prüfen Sie Antragsteller und SAN, Aussteller, Ablaufdatum und ob das Zwischenzertifikat mitgesendet wird. Zeigt ein Hostname noch das alte Zertifikat, ermitteln Sie, welches Client-SSL-Profil für ihn antwortet (SNI-Servername), und prüfen Sie dessen Certificate Key Chain. Bestätigen Sie In Sync auf allen Geräten und testen Sie nach einem Failover erneut.

Rollback

  • Nach dem Überschreiben: Zertifikat und Schlüssel erneut mit den gesicherten alten Dateien überschreiben (in einer Transaktion), speichern und synchronisieren.
  • Nach neuen Namen: in jedem Client-SSL-Profil wieder die alte Certificate Key Chain wählen, speichern und synchronisieren.
  • Im Zweifel: das UCS-Archiv wiederherstellen (System > Archives); dabei wird die Konfiguration neu geladen.

Häufige Probleme

  • Zertifikat und Schlüssel wurden einzeln überschrieben und passen nicht mehr zusammen.
  • Ein Client-SSL-Profil verweist noch auf die alten Objekte.
  • Die Änderung erfolgte in der falschen Partition, oder die Synchronisierung schlug fehl.
  • Ein SNI-Profil oder ein zweiter Eintrag der Certificate Key Chain liefert ein anderes Zertifikat als das geänderte aus.
  • replace-all-with hat den zweiten Eintrag (ECDSA oder RSA) des Profils entfernt.
  • Das eingebaute Zertifikat default wurde überschrieben.

Zertifikatstausch mit aethercert automatisieren

Das aethercert-Deployment-Ziel für F5 BIG-IP lädt benannte Zertifikats- und Schlüsselobjekte über iControl REST hoch bzw. aktualisiert sie. Ist am Ziel ein Client-SSL-Profil konfiguriert, stellt es dieses Profil auf die Objekte um.

Unter Deployment-Ziele finden Sie die Felder dieser Vorlage, die Voraussetzungen auf dem Host und den Stand der Verifizierung.

Quellen

Auf dieser Seite