Selbstsignierte SSL Zertifikate mit Cisco Switch nutzen

Im Heimnetzwerk nutze ich gerne HTTPS zum Verbindungsaufbau, auch intern zu NAS, Router oder auch Switch sowie anderen "Servern". Dabei setze ich auf eigene, selbstsignierte Zertifikate, denn keines meiner Geräte ist von außerhalb meines LANs direkt erreichbar. Für den rein „internen“ Gebrauch reichen mir persönlich also die selbstsignierten Zertifikate völlig aus. Solche lassen sich mit openSSL leicht selber herstellen. Der Weg dahin ist schematisch folgender:

  1. eigene Certificate Authority erstellen (CA)
  2. eigene SSL-Zertifikate erstellen, signiert durch die unter 1. erstelle CA
  3. Zertifikat auf dem Server einfügen (unterschiedlich, je nach Gerät / Hersteller)

Oder aber (für mich jedenfalls) bequemer: Ich nutze die hier laufende pfSense bzw. deren Certificate Manager, um Serverzertifikate zu erstellen. Dabei erledigt sich alles bequem über eine grafische Oberfläche. Die gesamte Verwaltung der Zertifikate (und CAs) erfolgt dann über pfSense.

Wichtig für den Cisco Switch: Es wird meines Wissens hier nur eine Schlüssellänge von 2048 Bit akzeptiert. Als Verschlüsselungsstärke wähle ich hier SHA-512 als Signatur-Algorithmus.

Bei mir im Heimnetz nutze ich Switche von Cisco für den Heim- und SOHO-Bereich, hier einen SG 250 und einen SG 350. Das Einfügen eigener Zertifikate gestaltet sich bei Cisco leider etwas kompliziert.

Das folgende Vorgehen funktioniert bei mir:

1. Grundsätzlich wird immer eine Zertifikat ausstellende Certificate Authority benötigt (diese kann ebenfalls auch via pfSense erstellt werden und dann die benötigten user- und servercertificates zeichnen)

2. Erstellen des benötigten Serverzertifikates, anschließender Export des eigentlichen Zertifikates (.cert) und des privaten Schlüssels (.key)

Für die Nutzung selbsterstellter Zertifikate gehe ich dann die folgenden Schritte durch:

3. Zusammenfügen von .crt und .key Datei zu einer .pem-Datei mit
cat privaterkey.key > servercert.pem
cat servercert.crt >> servercert.pem
(die Bezeichnungen für .key und .crt sind Beispiele, füge hier deine eigenen Dateinamen ein!)

4. Es entsteht dadurch die Datei servercert.pem, welche sowohl den privaten Schlüssel (privaterkey.key) als auch das Zertifikat (servercert.crt) enthält.

5. Es wird für den Gebrauch unter Cisco noch ein öffentlicher Schlüssel benötigt (.pub). Diesen erstelle ich aus der .crt-Datei mit
openSSL x509 -in servercert.crt -pubkey -noout -out serverpubkey.pub
Das generiert dann den öffentlichen Schlüssel serverpubkey.pub (auch hier: die Bezeichnung mit serverpubkey.pub ist beispielhaft, nutze auch hier deine eigene Bezeichnung, gefolgt von der Angabe der Dateiendung mit .pub).

6. Anmelden am Cisco Switch, Ansicht "Advanced" wählen, dann im Menü Security > SSL Server > SSL Server Authentication settings einen der Slots auswählen und über den Button "Import Certificate" das neue SSL-Zertifikat einfügen.

7. Und genau hier wird es etwas kompliziert: Es öffnet sich ein Fenster mit drei Feldern (Certificate, Public Key, Private Key).
Jetzt wird die zuvor erstellte Datei servercert.pem mit einem Texteditor geöffnet (Doppelklick). Im oberen Teil findest du den Block für den privaten Schlüssel. Hier füge ich in der Kopf- und Fußzeile jeweils ein „RSA“ (ohne die „“) vor dem Wort „PRIVATE“ ein. Den gesamten Teil
-----BEGIN RSA PRIVATE KEY----- wirre Zeichenfolge LKJGLbnkjhglLJGlkjb KJHLKJHLKJHÖJHKJBHJ kjhkjhgkjghjkghkjgk -----END RSA PRIVATE KEY----- kopiere ich und füge ihn in das Feld „Private Key Plaintext“ ein.

Ebenso verfahre ich mit dem gesamten Block
-----BEGIN CERTIFICATE----- wirre Zeichenfolge ÖKJHÖJHuz98hjöjhökjöjhkjh jklglkjjklguzzt87(/&tihjn -----END CERTIFICATE----- welchen ich, dieses Mal unverändert, in das Feld „Certificate“ einfüge.

Nun muss noch der öffentliche Schlüssel (serverpubkey.pub) angepasst werden: Öffne den Schlüssel mit einem Texteditor. Es erscheint erneut ein Block mit kryptischer Zeichenfolge. Ergänze hier „RSA“ (ohne „“) vor „PUBLIC“ in der Kopf- und Fußzeile.
SSL Public Key für Cisco anpassen
Dann löscht du die ersten 32 Zeichen des eigentlichen Schlüssels!
SSL Public Key für Cisco Zeichen entfernen
Das Ergebnis sieht dann etwas unformatiert aus:
SSL Public Key für Cisco Format anpassen
Und wird noch manuell angepasst, so dass am Ende folgendes Ergebnis vorliegt:
SSL Public Key für Cisco angepasste Formatierung
Nach einem Abspeichern des so angepassten öffentlichen Schlüssels wird der gesamte Text
-----BEGIN RSA PUBLIC KEY----- MIIBCgKCAQEAuAfokFJuSO2n+uIChnQ3RiPRLL1hce7lrwsq54jtlxuhkjJGKJgg kJGHhkjfGXmV04ZNRCcvRY3MNNe33XAu8rxua6CtRk5Mo0z10AZyjB6UWRQARVBw hbINRGilAA9dyuarMTFl73HQawC+wIilTvMcrxplb3RMNMxjjkwr4r4WsZ96xgsb rpzPNzaOimTnAvbReD3/1XvhgC5T2KeKVQIDAQAB -----END RSA PUBLIC KEY----- kopiert und auf dem Cisco Switch in das Feld „Public Key“ eingefügt.

Das Ergebnis sollte dann so aussehen:
SSL Public Key für Cisco Ergebnis
Mit einem „Apply“ werden die Änderungen wirksam und es wird ein „Success“ angezeigt. Speichere die veränderte Switchkonfiguration wie gewohnt ab. Damit ist der Switch im Heimnetzwerk unter HTTPS erreichbar, es wird im Browser das zuvor erstellte Zertifikat angezeigt, ausgestellt von deiner eigenen CA.

Mit dem oben beschriebenen Weg sollte die Nutzung eigener SSL-Zertifikate auf dem Switch gelingen.

Viel Erfolg!

---

Vielen Dank an den User the other für diese Anleitung!

Wenn Du Fragen zu dieser Anleitung hast, dann schau doch einfach mal bei uns im vorbei!