domino http security - neuerungen

36
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

Upload: belsoft

Post on 16-Jul-2015

474 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: 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

Page 2: Domino HTTP Security - Neuerungen

© 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

Page 3: Domino HTTP Security - Neuerungen

© 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

Page 4: Domino HTTP Security - Neuerungen

© 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…

Page 5: Domino HTTP Security - Neuerungen

© 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

Page 6: Domino HTTP Security - Neuerungen

© 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?

Page 7: Domino HTTP Security - Neuerungen

© 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

Page 8: Domino HTTP Security - Neuerungen

© 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

Page 9: Domino HTTP Security - Neuerungen

© 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.

Page 10: Domino HTTP Security - Neuerungen

© 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)

Page 11: Domino HTTP Security - Neuerungen

© 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

Page 12: Domino HTTP Security - Neuerungen

© 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

Page 13: Domino HTTP Security - Neuerungen

© 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):

Page 14: Domino HTTP Security - Neuerungen

© 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

Page 15: Domino HTTP Security - Neuerungen

© 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--

Page 16: Domino HTTP Security - Neuerungen

© 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)

Page 17: Domino HTTP Security - Neuerungen

© 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

Page 18: Domino HTTP Security - Neuerungen

© 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:

Page 19: Domino HTTP Security - Neuerungen

© 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/

Page 20: Domino HTTP Security - Neuerungen

© 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

Page 21: Domino HTTP Security - Neuerungen

© 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

Page 22: Domino HTTP Security - Neuerungen

© 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

Page 23: Domino HTTP Security - Neuerungen

© 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

Page 24: Domino HTTP Security - Neuerungen

© 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)

Page 25: Domino HTTP Security - Neuerungen

© 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:

Page 26: Domino HTTP Security - Neuerungen

© 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

Page 27: Domino HTTP Security - Neuerungen

© 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

Page 28: Domino HTTP Security - Neuerungen

© 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

Page 29: Domino HTTP Security - Neuerungen

© 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

Page 30: Domino HTTP Security - Neuerungen

© 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

Page 31: Domino HTTP Security - Neuerungen

© 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:

Page 32: Domino HTTP Security - Neuerungen

© 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

Page 33: Domino HTTP Security - Neuerungen

© 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).

Page 34: Domino HTTP Security - Neuerungen

© 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

Page 35: Domino HTTP Security - Neuerungen

© 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

Page 36: Domino HTTP Security - Neuerungen

© 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.)