Domino HTTP Security - Neuerungen
-
Upload
belsoft -
Category
Technology
-
view
473 -
download
5
Transcript of Domino HTTP Security - Neuerungen
Belsoft Collaboration AG Hauptsitz Zweigstelle SG Zweigstelle SZ
www.belsoft-collaboration.ch Russenweg 26
CH-8008 Zürich
T +41 44 388 13 31
Espenstrasse 139 Eichenstrasse 2
CH-9443 Widnau (SG) 8808 Pfäffikon SZ
T +41 71 727 75 75 T +41 55 410 55 50
Domino HTTP Security - Neuerungen
Toni Feric
April, 2015
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Über mich
• Toni Feric
• Fokus: Domino/Traveler, UNIX/Linux, Integration, Infrastruktur, Troubleshooting, Security
• 17 Jahre Berufserfahrung Domino
• 11 Jahre bei einer Rückversicherung tätig
• Engineering Mail-Infrastruktur (ca. 18’000 Mailkonti)
• Aufbau Langzeit-Archivierungslösung für Mail
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Agenda
• Domino Socket Layer Security
• SSL/TLS
• Perfect Forward Secrecy
• Cipher für symmetrische Schlüssel
• Domino HTTP Server Security
• SHA-2 Zertifikate
• kyrtool
• Einstellungen HTTP
• Einstellungen SMTP TLS
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Hintergrund dieser Präsentation
2014SHA-2
TLS 1.0
TLS 1.2
PFS + DHEPerfect Forward
Secrecy
Kyrtool
SSLv2 disabled
SSLv3 abschaltbar
Unsichere Cipher
disabledMD5, <128bit, RC4…
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Was bedeuten diese Neuerungen konkret?
• SSLv3 abschalten (notes.ini)
• Upgrade auf min. R9.0.1.FP3IF2
• HTTP Reverse Proxy empfohlen (Sophos UTM, NGINX)
• Domino R8.5 und älter - nicht mehr direkt am Internet
• Fixpack/Interim-Fix zeitnah installieren:http://ibm.com/support/mynotifications
• Neue Security Features nicht konfigurierbar via GUI im DDIR -> notes.ini
• Installation von Fixpack/IF schaltet ältere Features ab
• Cipherlisten im DDIR : WYSI-not-WYG
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Strategie eines System-Administrators
• Domino Updates zeitnah installieren. – Erledigt!
• Strategie ändern
• Features müssen von Hand nachkonfiguriert werden
• SSLv3 abschalten, PFS einschalten, Cipherliste anpassen
• Reverse Proxy aktuell halten, Domino gelegentlich updaten
• Strategie ändern?
• Domino ohne https?
• Nicht sicher für: User-Login, DMZ, SSO-Tickets/Cookies, non-public Daten
• Unverschlüsselte Dienste/Protokolle ganz abschalten
• Browser-Update -> Zugriff auf Domino Webdienst geht nicht mehr
• NGINX, Apache: SSLv3 aus der Konfig entfernt?
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Security-Scan
• Alle Domino Server, Reverse Proxy, u.a. Webdienste scannen:https://www.ssllabs.com/ssltest/
• Nach jeder Konfigurationsänderung Scan wiederholen
• Periodisch wiederholen (z.B. monatlich)
• Bewertung «A-» sollte mit Domino R9 möglich sein
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
DISABLE_SSLV3=1 (notes.ini)
• Auf jedem Domino Server setzen. (HTTP, SMTP, POP3, IMAP, LDAP)
• Zuvor, den neusten (oder entsprechenden) Fix installieren:http://www-01.ibm.com/support/docview.wss?uid=swg21695998
• Alte Domino Keyrings mit MD5 Signaturen müssen vorher ersetzt werden:http://www-01.ibm.com/support/docview.wss?uid=swg21701159
• Nur in Ausnahmefällen SSLv3 nicht abschalten (Kompatibilität)
• SMTP Gateway?
• Ev. bei serverseitigem LDAP Lookup (z.B. Directory Assistance)
• Konfiguration im Domino Directory wird ignoriert
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Verbindungs-Fehler
• Client kann keine Verbindung zum Server aufbauen.
→ (Client kann kein TLS, Server akzeptiert kein SSL)
• Meldung im Log.nsf und auf der Konsole:
• Ist dieser spezifische Client wichtig?
→ Im Zweifelsfall SSLv3 temporär wieder einschalten, Lösung suchen.
→ Wenn möglich, TLS auf dem Remote-System einschalten.
→ Ziel sollte sein, SSLv3 abzuschalten. Es ist nicht sicher.
• Ev. Meldung im Monitoring einbauen.
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Perfect Forward Secrecy (PFS)
• Sicherer Schlüsselaustausch
• Session Key wird nicht übers Netz übertragen
• Implementation durch Diffie-Hellman Methode (DHE)
• Wenn Private Key kompromittiert wird:
• Datenverkehr von Man-In-The-Middle nicht entschlüsselbar
• Rückwirkend keine Entschlüsselung aufgezeichneter Daten möglich
• Ab Domino R9.0.1FP3IF2 verfügbar
• PFS defaultmässig nicht aktiviert (braucht mehr CPU Leistung)
• Über notes.ini Variable SSLCipherSpec konfigurierbar
• Bei Problemen mit Java 1.6/1.7 : SSL_DH_KEYSIZE=1024
• Domino: Noch kein DHE mit Elliptic-Curve (ECDHE)
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
verschlüsselte Verbindung (symmetrisch)
Schlüsselaustausch ohne PFS
Schritt 1: Verbindungs-Aufbau (TLS Negotiation)
HTTP
ClientHTTP
Serververschlüsselte Verbindung (asymmetrisch)
PRIVATE
KEY
PUBLIC
KEY
Schritt 2: Datenübertragung
HTTP
Client HTTP
Server
Datenübertragung
SESSION
KEYSESSION
KEY
Geheimnis für Session Key
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Schlüsselaustausch mit PFS (Diffie-Hellman)
Verbindungs-Aufbau (TLS Negotiation mit Perfect Forward Secrecy)
HTTP
ClientHTTP
ServerPRIVATE
KEY
PUBLIC
KEYverschlüsselte Verbindung (asymmetrisch)
Geteiltes Geheimnis für Session Key
x
aPrivates
Geheimnis
a
xGeteiltes
Geheimnis
x
bPrivates
Geheimnisb
xGeteiltes
Geheimnis
SESSION
KEYSESSION
KEY
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
SSLCipherSpec (notes.ini)
• Ohne diese Variable kein PFS möglich
• Variable, übersteuert alle Cipher-Einstellungen im DDIR
• Verwendung der Variable SSLCipherSpec:http://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_Cipher_Configuration
• Verwendung der Variable (Kurzübersicht):
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Cipher-Konfiguration ohne SSLCipherSpec (nur mit DDIR)
• Alle Server Dokumente und Website Dokumente im DDIR überprüfen.
• Alle AES Cipher einschalten
• Schwache Cipher wurden vom Fixpack/IF disabled
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Entscheidungshilfe für Cipher Bewertung
• Wie bewertet man die Bezeichnung eines Ciphers (z.B. DHE_RSA_WITH_AES_128_CBC_SHA)
Funktion Abkürzung Erklärung Bewertung
Schlüsselaustausch-Verfahren DHE
(ECDHE)
Diffie-Hellman (PFS)(noch nicht unterstützt)
+(++)
Asymmetrisches Verfahren
(Private/Public Key) für
Negotiation/Schlüsselaustausch
RSA
(ECC) (noch nicht unterstützt)
+(++)
Symmetrisches Verfahren für
Datenübertragung
AES
3DES_EDE
RC4
Für legacy Windows
+0-
Schlüsselstärke (bit) für
symmetrischen Schlüssel
>128 bit
<128 bit
+-
Betriebsart für Block-Cipher
(symmetrische Schlüssel)
GCM
CBC
(AEAD)
Cipher Block Chaining
+0
Hash Algorithmus für MAC Integrity-
Checking (symmetrische Schlüssel)
SHA-384, SHA-256
SHA (=SHA-1)
MD5
+0--
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Konkrete Vorschläge (SSLCipherSpec)
• iNotes & Applikations-Webserver:SSLCipherSpec=9D9C3D3C352F3339676B9E9F
DISABLE_SSLV3=1
• Falls alte Windows XP+IE Clients verbinden sollen:
0A zu der SSLCipherSpec Variable hinzufügen
( 0A : RSA_WITH_3DES_EDE_CBC_SHA )
• TravelerSSLCipherSpec=9D9C3D3C352F3339676B9E9F
DISABLE_SSLV3=1
• SMTPSSLCipherSpec=9D9C3D3C352F0A3339676B9E9F
DISABLE_SSLV3=1
RouterFallbackNonTLS=1
• Bei Verbindungs-Problemen mit alten Systemen:SSL_ENABLE_INSECURE_SSLV2_HELLO=1 (nicht empfohlen)
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Cipher testen & bewerten
• Alle aktuellen Browser durchtesten
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Cipher testen - Fehler
• Client kann keine Verbindung zum Server aufbauen.
→ (finden keinen gemeinsamen Cipher)
• Meldung im Log.nsf und auf der Konsole:
• DDM Monitoring – Warnungen an Admin schicken?
• Fehlermeldung im Browser:
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Security-Scan mit SSL Labs
LIVE DEMO…
https://www.ssllabs.com/ssltest/
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Cipher testen & bewerten - Tipps
• Security-Scan mit SSL Labs vom Internet her:https://www.ssllabs.com/ssltest/
Protocols
• TLS1.2, TLS1.0 aktiv, kein SSL
Cipher Suites
• DHE (PFS) Cipher verfügbar?
• «DH 1024 bits WEAK» – Wird SSL_DH_KEYSIZE=1024 (notes.ini) verwendet?
Handshake Simulation
• Windows IE / XP, Java 6, Java 7 : «Protocol or Cipher Suite mismatch»
→ Alte Systeme unterstützen nur noch schwache/unsichere Cipher
Protocol Details
• «Forward Secrecy – with some browsers»
→ weil Elliptic Curves noch nicht unterstützt sind
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Socket Layer Security
Fragen?
SSL, TLS
DHE – Diffie-Hellman
AES, 3DES, RC4
PFS, Perfect Forward
Secrecy
SHA-256, SHA-1
Asymmetrisch
Symmetrisch
Session Key
Zertifikat
Negotiation
HTTP
SMTP
LDAP
notes.ini
Signatur
SSLCipherSpec=
SSL_DH_KeySize=
Windows XPCipher
Reverse Proxy
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Security auf HTTP-Ebene
• Wechsel zu SHA-2 Zertifikaten
• Kyrtool
• Security-Empfehlungen HTTP Server
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Wechsel zu SHA-2 Internet Zertifikaten
• SHA: Secure Hashing Algorithmus
• Signatur von Internet Zertifikaten
• Überprüfung von Datenintegrität bei Datenübertragung (Block-Cipher)
• SHA-1 Zertifikate werden praktisch nicht mehr ausgestellt
• SHA-2 = SHA-256 (oder SHA-224, SHA-384, SHA-512)
• Theoretische Attacken gegen SHA-1 bereits bekannt
• Domino R8.* - inkompatibel mit SHA-2!
→ Empfehlung: 2015 alle Internet Zertifikate umstellen auf SHA-2
SHA
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
kyrtool.exe
• Neues Tool von IBM
• Für Verwaltung von Domino Keyrings
• Erstellen von neuen Keyrings (*.kyr + *.sth)
• Hinzufügen von Internet Zertifikaten
• Kommandozeile (ohne GUI)
• Windows + Linux
• Achtung: Neue Version seit 02.04.2015
• Keyrings mit SHA-2 Zertifikaten inkompatibel mit Domino R8*
• Kyrtool benötigt ev. Installation von Microsoft Visual C++ Runtime
• Notes DB «Domino Server Certificate Admin» nicht mehr verwenden (ggf. bei älteren Domino Servern)
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
kyrtool.exe - Beispiele
• Verifizierung vor dem Import der Internet Zertifikate in den Domino Keyring:
• Erstellen eines neuen Domino Keyrings:
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
HTTP Server Security
Wechsel zu SHA-2 Zertifikaten
Kyrtool
Security-Empfehlungen HTTP Server
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Allgemeine Sicherheits-Prinzipien
• Alle Daten, die nicht ausschliesslich für die Öffentlichkeit sind, sollten durch Authentisierung geschützt sein.
• Authentifizierungs-Daten (Usernamen, Passwort, Cookie, Zertifikatsaustausch) sollten verschlüsselt sein.
• Alle Daten, die Authentifizierung erfordern, sollten verschlüsselt übertragen werden.
• Sensitive Daten sollten zudem nur in verschlüsselter Form abgelegt werden.
• Dies gilt sowohl für Kommunikation übers Internet, als auch für interne Kommunikation.
• Dies gilt für alle Protokolle. (inkl. LDAP)
Referenz: Daniel Nashed, David Kern
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Internet (HTTP) Authentisierung
• Für Web-Server, die keine öffentlichen Inhalte haben:
• Anonyme Verbindungen werden nicht gebraucht – abstellen!
• Keine unverschlüsselten Verbindungen
• Domino Keyring-Datei wird benötigt
• Alle «Internet Site» Dokumente überprüfen
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
iNotes Redirect Datenbank (anonymer Zugriff abgeschaltet)
• Wenn anonymer Zugriff abgeschaltet ist, kann das Login Formular nicht richtig angezeigt werden.
→ Weil User noch nicht authentisiert sind, wenn sie auf das Login Formular zugreifen.
• Lösung: URL’s die trotzdem anonym erreichbar sein müssen, können in einer notes.ini Variable aufgelistet werden:
HTTPPublicURLs=/redir.nsf/*
• Mehrere URL’s durch Kommas getrennt
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Internet Password Lockout
• Ohne «Internet Password Lockout» können Brute-Force Attacken gegen Internet Passwörter nicht verhindert werden.
• Einstellung im Server Configuration Document
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
«More Secure Internet Password»
• Längere Password Hashes (mit Salting) für Internet Passwörter.
• Auf «release 8.01 orgreater» setzen
• Unterschiedliche Hashesfür identische Passwörter
• Internet Passwörter für die User bleiben unverändert
• Agent starten, der alle Passwort-Hashes in Personen Dokumenten sicherer macht:
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Authentisierung – Basic Authentication
• Basic Authentication:
• Usernamen + Passwort werden vom Browser in jedem HTTP GET Request zum Webserver mitgeschickt.
→ Empfehlung: Wenn möglich, nie verwenden.
• Vermutlich mehrmals pro Mausklick.
• Ohne https-Verbindung: Credentials aller Benutzer im Klartext
• Passwörter können ev. in Server-Logs gespeichert werden
• Merkmal: separates Login-Fenster über dem Browser
• Logoff nicht möglich (Browser Programm beenden)
• Im Domino Directory:
• Session authentication: Disabled
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Authentisierung – Multiple Server SSO
• Bevorzugte Authentisierungs-Methode für Domino Web Server.
• Browser bekommt vom Server ein verschlüsseltes LTPA Token.
• Browser speichert dieses verschlüsseltes Session-Cookie im Cache.
• Browser kann verschlüsseltes Cookie nicht entschlüsseln.
• Browser schickt Cookie mit jedem HTTP GET Reqest.
• Nach Timeout oder Logoff der Session ist das Cookie nicht mehr gültig.
• Eigenschaft: Login Aufforderung in der Webseite (Formular).
• Cookies müssen vor Diebstahl geschützt werden (-> https).
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Internet Port Status - HTTP
• Im Server Dokument
• Disabled:
• Browser Requests mit «http://» funktionieren nicht mehr.
• Einziges Mittel um Credentials im Klartext sicher zu verhindern.
• Redirect to SSL:
• Im ersten Browser Request könnten Credentials im Klartext übermittelt werden.
• Enabled:
• Nur bei Public Content
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
HTTP Server Security
Fragen?
SHA-256, SHA-1
HTTP
SMTP
LDAP notes.ini
Signatur
HTTPPublicURLs=
Internet Password
Lockout
Reverse Proxy
Kyrtool
Internet Zertifikat
Basic Authentication
Multi-Server SSO
iNotesTraveler
More Secure
Internet Password
© 2
014
Bel
soft
Col
labo
ratio
n A
G |
ww
w.b
elso
ft-co
llabo
ratio
n.ch
Quellenverzeichnis
• ConnectED2015, BP102: «Practical IBM Notes and Domino Internet Security» (Daniel Nashed, David Kern)
• IBM Notes and Domino wiki: «TLS Cipher Configuration»
http://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_Cipher_Configuration
• Daniel Nashed’s Blog: «First Perfect Forward Secrecty Ciphers shipped with 9.0.1.FP3 IF2»
http://blog.nashcom.de/nashcomblog.nsf/dx/first-perfect-forward-secrecy-ciphers-shipped-with-9.0.1-fp3-if2.htm
• Darren Duke’s Blog: «TLS 1.2 in Domino and the settings I use»
http://blog.darrenduke.net/Darren/DDBZ.nsf/dx/tls-1.2-in-domino-and-the-settings-i-use.htm
• Wikipedia: «Transport Layer Security»
http://de.wikipedia.org/wiki/Transport_Layer_Security
• Wikipedia: «Forward Secrecy»
http://en.wikipedia.org/wiki/Forward_secrecy
• YouTube: «Diffie Hellman Key Exchange»
https://www.youtube.com/watch?v=YEBfamv-_do
• Wikipedia: «POODLE»
http://de.wikipedia.org/wiki/Poodle
• Wikipedia: «Heartbleed»
http://de.wikipedia.org/wiki/Heartbleed
• Wikipedia: «Secure Hash Algorithm»
http://de.wikipedia.org/wiki/Secure_Hash_Algorithm
• Div. Weitere Wikipedia Artikel (RSA, AES, RC4, DES, 3DES, MD5, Elliptic Curve Cryptography, CBC, GCM, u.a.)