logo-jonsch

Cisco GAU - X.509 Self Signed Expire



Beitragsbaum



Vorwort

Stellt euch vor, ihr seid Netzwerktechniker in einem mittelgroßem Unternehmen. Es ist Dezmber und somit Weihnachtszeit, die besinnlichen Zeit mit der Familie und Freunden erwartet einen in nur ein paar Tagen. Die meisten Leute sind bereits im Urlaub oder noch im Einkaufsstress für die passenden Geschenke. Die Angestellten die noch übrig sind freuen sich auf eine stressfreie und lockere Zeit vor Weihnachten und zwischen den Jahren...


... Tja, haste gedacht. Da habt ihr die Rechnung ohne Cisco gemacht. Denn Cisco hat sich für die besinnlichste Zeit im Jahr glatt eine Überraschung einfallen lassen. Soll ja auch nicht langweilig werden! Aber bevor ich weiter dahinschweife, bitte ich um einen kurzen Facepalm:

Facepalm


Cisco GAU

Am 17.12.2019 veröffentlicht Cisco folgenden Beitrag auf ihrer Webseite: Field Notice: FN - 70489 - PKI Self-Signed Certificate Expiration in Cisco IOS and Cisco IOS XE Software - Software Upgrade Recommended. Nun lässt es sich schon anhand des Titels erahnen, was hier passiert oder los ist. Es handelt sich um ein Problem mit dem vorab implementierten X.509 Self-Signed Zertifikat Prozess auf dem IOS und dem IOS-XE der Cisco Switche.


Ich möchte nochmal kurz das Datum verdeutlichen. Heute, am Erstellungstag des Artikels, ist der 20.12.2019. Am 17.12.2019 präsentiert Cisco die Überraschung. Also genau vor drei Tagen veröffentlicht, für ein in nicht mal mehr 14 Tagen auslaufendes Zertifikat. Brilliant!


Bei dem Self-Signed Zertifikat handelt es sich um ein X.509 Standard Zertifikat welches per default auf den Switchen installiert werden kannn oder vom OS vorinstalliert wird. Dieses Zertifikat wird dann für den sicheren Verbindungsaufbau der Applikationen der Collaboration Features und auch für noch ein paar weitere generelle Grundfunktionen verwendet. Falls dieses auslaufen sollte und nicht bis dato durch ein neu generiertes gültiges Zertifikat ersetzt wird, kann die ordnungsgemäße Funktion der Features nicht mehr garantiert werden. Natürlich ist dies nur der Fall, wenn das Self Signed Zertifikat auch der Collaboration Software oder den anderen Features zugewiesen wurde.


Collaboration Features:

  • Session Initiation Protocol (SIP) over TLS
  • Cisco Unified Communications Manager Express (CME) with encrypted signaling enabled
  • Cisco Unified Survivable Remote Site Telephony (SRST) with encrypted signaling enabled
  • Cisco IOS dspfarm resources (Conference, Media Termination Point, or TransCoding,) with encrypted signaling enabled
  • Skinny Client Control Protocol (SCCP) Telephony Control Application (STCAPP) ports configured with encrypted signaling
  • Media Gateway Control Protocol (MGCP) and H.323 call signaling over IP IT-Security (IPSec) without a pre-shared key
  • Cisco Unified Communications Gateway Services API in Secure Mode (using HTTPS)

General Features:

  • HTTP Server over TLS (HTTPS) - HTTPS will produce an error in the browser which indicates that the certificate is expired.
  • SSH Server - Users who use X.509 certificates to authenticate the SSH session might fail to authenticate. (This use of X.509 certificates is rare. Username/password authentication and public/private key authentication are not affected.)
  • RESTCONF - RESTCONF connections might fail.

Kurz zusammengefasst sind die Switche nicht mehr per SSH erreichbar, welche auf zertifikatbasierende Authentifizierung mit dem X.509 Zertifikat setzen. Auch ganz schön ist die RESTCONF, die dann höchstwahrscheinlich auch die Biege macht. Bei dem Webzugriff könnte man bei richtiger Konfiguration des HTTP Servers auch noch ohne SSL Zugriff bekommen.


Das eigentliche Problem liegt darin, dass dies den meisten Administratoren nicht bekannt sein wird. Das allerdings die Ankündigung des Ablaufdatums eines so wichtigen Zertifikates erst so spät als Reminder angekündigt wird, ist natürlich sehr ungeschickt seitens Cisco. Somit hat der zuständige Mitarbeiter kaum bis gar keine Zeit diese Zertifikate in einer großen Infrastruktur neu zu generieren und zu implementieren. Jetzt könnte man natürlich davon ausgehen, dass man dieses einfach im Nachhinein generieren und einbinden kann. Das ist aber leider nicht der Fall, denn laut Cisco muss die Generierung eines neuen X.509 Zertifikates vor dem Ablaufdatum erfolgen. Die Implementierung nach dem Datum ist nicht mehr möglich!

Self-signed X.509 PKI certificates (SSC) that were generated on devices that run affected Cisco IOS® or Cisco IOS XE software releases expire on 2020-01-01 00:00:00 UTC. New self-signed certificates cannot be created on affected devices after 2020-01-01 00:00:00 UTC.



Für kleinere Firmen ein Aufwand der bewältigt werden kann bis Tag 0, allerdings für größere Unternehmen ein gefährliches Unterfangen der Zeit. Das Risiko ist groß, dass doch etwas passiert oder sogar mehr passiert, als Cisco momentan rausgegeben hat. Die Frage stellt sich mir eher, wieso man dies überhaupt so gelöst hat. Ein Zertifikat, dessen Wichtigkeit ja doch relativ groß ist, so zu implementieren, macht mich sprachlos. Da gibt es bessere Möglichkeiten und Wege eine Lösung dafür zu finden.




Eigenes Fallbeispiel

Auch ich habe dann mal nachgeschaut, auf welchen Switchen ich dieses Self-Signed Zertifikat installiert habe. Ich muss sagen, damit hatte ich selber nicht gerechnet, aber es waren doch 38 Switche die dieses X.509 Zertifikat besitzen. Alle 38 laufen auch genau zum 01.01.2020 aus.


Prüfen ob sich ein solches Zertifikat auf dem Switch befindet kann man mit dem show crypto pki certificates Befehl. Damit werden einem alle generierten Zertifikate auf dem System angezeigt. Unter denen sollte sich dann im besten Falle das Self-Signed befinden.

# show crypto pki certificates



Beispielsweise könnte das dann ähnlich aussehen wie bei mir. Lustig finde ich hier den Fakt, dass das Startdatum 1993 ist. *g*

#show crypto pki certificates
Router Self-Signed Certificate
Status: Available
Certificate Serial Number: 01
Certificate Usage: General Purpose
Issuer:
cn=IOS-Self-Signed-Certificate-1749952896
Subject:
Name: IOS-Self-Signed-Certificate-1749952896
cn=IOS-Self-Signed-Certificate-1749952896
Validity Date:
start date: 01:03:09 GMT+1 Mar 1 1993
end date: 01:00:00 GMT+1 Jan 1 2020
Associated Trustpoints: TP-self-signed-1749952896
Storage: nvram:IOS-Self-Sig#3636.cer



Lösungsansatz

Jetzt muss man nur noch herausfinden, ob man von dem Problem betroffen sein könnte. Falls nicht, kann man versuchen dies zu ignorieren und zu hoffen, dass nichts passiert. Oder man generiert ein Neues um Nummer sicher zu gehen. Natürlich kann man auch gleich ein Softwareupgrade machen, dann sollte sich das Problem auch erledigt haben. Die Umsetzung in den späteren Firmware Versionen wurde doch tatsächlich sauberer gelöst. Wahnsinn.


Die cleverste Lösung für die Zukunft wäre wahrscheinlich über die firmeneigene CA gesonderte zertifikate flächendeckend auf den Switchen auszurollen. Wenn man der Cisco Doku glauben mag, kann man hier auf PKCS12 zurückgreifen. Vielleicht aber auch auf PEM? - keine Ahnung. Es werden insgesamt drei Workarounds vorgeschlagen mit detailierter Anleitung der Folge geleistet werden kann. Ich sag nur: Viel Spaß, die Zeit rennt.




Ich bin gespannt bei wie vielen Firmen es gleich zum Beginn des neuen jahres so richtig krachen wird. Vielleicht wird man ja im näheren Umfeld etwas mitbekommen...


over & out,
jonsch