Domino Server (HTTP) gegen ROBOT-Attack absichern
Herzlich Willkommen!/Tipps & Tricks/Domino Server (HTTP) gegen ROBOT-Attack absichern

Domino Server (HTTP) gegen ROBOT-Attack absichern

Obgleich Informationen zur ROBOT-Attack schon Mitte Dezember 2017 veröffentlicht wurden, hat IBM bis jetzt noch keinen Fix zur Absicherung des HTTP-Tasks geliefert. Sie können Ihren IBM Domino Server aber gegen solche Angriffe schützen.
notion image
 

Um was geht es bei ROBOT-Attack?


Auf heise Security gibt es einen interessanten Artikel mit Hintergrundinformationen zur ROBOT-Attack (Return of Bleichenbacher’s Oracle Thread).
Damit die ROBOT-Attacke klappt, muss ein Server wie im damaligen Angriffsszenario TLS in Verbindung mit RSA-Verschlüsselung beim Schlüsselaustausch inklusive PKCS #1 1.5 einsetzen. Ist das der Fall, könnten Angreifer die Bleichenbacher-Schwachstelle ausnutzen und den Session Key via Brute-Force-Attacke erraten. Ist dies erfolgreich, kann man mitgeschnittenen Traffic entschlüsseln. Der private Schlüssel ist nicht gefährdet.
Setzt ein Server ausschließlich auf RSA, ist die Attacke desaströs. Heutzutage sollte das aber eigentlich nicht mehr der Fall sein. Für den Schlüsselaustausch sollte Diffie Hellman auf elliptischen Kurven (ECDH) zum Einsatz kommen. Oft ist RSA jedoch noch als Fallback auf Servern aktiv. Kommt Forward Secrecy zum Einsatz, ist eine ROBOT-Attacke den Sicherheitsforschern zufolge immer noch vorstellbar, aber schwieriger auszuführen.
 

Ist mein IBM Domino Server von der ROBOT-Attack betroffen?


Wenn Ihr Domino Server direkt vom Internet aus erreichbar ist und mit der Standard-Konfiguraton läuft, ist dies wahrscheinlich der Fall. Ich habe meinen IBM Dominno Server (mobil.madicon.de) wie folgt überprüft.

robotattack.org

Unter https://robotattack.org können Sie durch die Eingabe der URL Ihren IBM Domino Server auf eine mögliche Verwundbarkeit testen.
notion image
Dies ist das Ergebnis meines IBM Domino Servers mit der Standard-Konfiguration.

Qualys SSL Server Test

Auch Qualys liefert (neben vielen weiteren wichtigen Informationen zu Ihrem Zertifikat) mit dem SSL Server Test eine Aussage zur möglichen Verbundbarkeit Ihres IBM Domino Servers.
notion image
Dies ist das Ergebnis von Qualys für meinen IBM Domino Servers mit der Standard-Konfiguration. Interessant ist auch der Hinweis, dass ungeschütze Webserver ab Februar 2018 nur noch einen Grade "F" erhalten werden.
 

Lösungsansatz


Solange IBM noch keinen Fix geliefert hat, müssen Sie selbst aktiv werden. Im Heise Security Artikel wird folgender Workaround empfohlen.
Wer Technik einsetzt die anfällig ist und für die keine Patches verfügbar sind, sollte die RSA-Verschlüsselung deaktivieren. Darunter fallen alle Ciphers mit der Bezeichnung TLS_RSA.
 

Lösung für den Domino Server


Seit IBM Domino 9.0.1 FP5 können die vom IBM Domino Server zu verwendeten Cipher durch einen NOTES.INI Eintrag auf dem IBM Domino Server gesteuert werden.

Welche Cipher nutzt der IBM Domino Server in der Standard-Konfiguration?

Der IBM Domino Server ab Version 9.0.1 FP5 nutzt für TLS 1.2 folgende Default Cipher List:
 
  1. ECDHE_RSA_WITH_AES_256_GCM_SHA384 (C030)
  1. DHE_RSA_WITH_AES_256_GCM_SHA384 (009F)
  1. ECDHE_RSA_WITH_AES_128_GCM_SHA256 (C02F)
  1. DHE_RSA_WITH_AES_128_GCM_SHA256 (009E)
  1. ECDHE_RSA_WITH_AES_256_CBC_SHA384 (C028)
  1. DHE_RSA_WITH_AES_256_CBC_SHA256 (006B)
  1. ECDHE_RSA_WITH_AES_256_CBC_SHA (C014)
  1. DHE_RSA_WITH_AES_256_CBC_SHA (0039)
  1. ECDHE_RSA_WITH_AES_128_CBC_SHA256 (C027)
  1. DHE_RSA_WITH_AES_128_CBC_SHA256 (0067)
  1. ECDHE_RSA_WITH_AES_128_CBC_SHA (C013)
  1. RSA_WITH_AES_256_GCM_SHA384 (009D)
  1. RSA_WITH_AES_128_GCM_SHA256 (009C)
  1. RSA_WITH_AES_256_CBC_SHA256 (003D)
  1. RSA_WITH_AES_256_CBC_SHA (0035)
  1. RSA_WITH_AES_128_CBC_SHA256 (003C)
  1. RSA_WITH_AES_128_CBC_SHA (002F)
  1. RSA_WITH_3DES_EDE_CBC_SHA (000A)
 
Entsprechend der Empfehlung von Heise Security (siehe oben) sollen die mit RSA_ beginnenden Cipher entfernt werden. Sie können die vom IBM Domino Server genutzen Cipher durch einen Eintrag in der Datei NOTES.INI selbst steuern und Ihren Domino Server so gegen die ROBOT-Attack schützen.
 

Festlegung der gewünschten Cipher in der NOTES.INI des IBM Domino Servers

Ab IBM Domino Version 9.0.1 FP5 können die gewünschten Cipher durch die NOTES.INI-Variable
SSLCipherSpec=...
gesetzt werden. Die gewünschten Cipher (= der Hex-Code in den runden Klammern) werden immer 4-stellig (inkl. führender Nullen) direkt hintereinander angegeben. Zur Nutzung der oben gelisteten Cipher 1 bis 11 geben Sie folgenden Befehl an der Domino Konsole ein:
set config SSLCipherSpec=C030009FC02F009EC028006BC0140039C0270067C013
 
Der Eintrag wird sofort in die Datei NOTES.INI übernommen. Damit die neuen Cipher auch wirksam werden, muss der HTTP-Task neu gestartet werden.
tell http restart
 
Die Wirksamkeit des NOTES.INI Eintrages sollte während des Neustarts des HTTP-Taks durch folgende Konsolenmeldung bestätigt werden.
SSLCipherSpec setting in notes.ini file will override settings from Domino Directory

Fazit


Mit den obigen Einstellung ist mein IBM Domino Server nun offensichtlich gegen die ROBOT-Attack geschützt.
notion image
Ältere Clients haben ein Problem, wenn sie weder DHE (Diffie Hellman key exchange) noch ECDHE (Elliptic Curve Diffie Hellman key exchange) Verschlüsselung untersützen. Der Anteil dürfte aber heute gering sein. Moderne TLS Verbindungen nutzen DHE/ECDHE und benötigen RSA nur für Signaturen.
 
Aber wie immer gilt: Sicherheit geht vor!