Die Angreifbarkeit der IBM-Webdienste hat es erfoderlich gemacht, dass IBM mit einem TLS-Patch nachbessert.
Diese Session zeigt Ihnen wie Sie Ihre IBM Collaborationsumgebungen (Domino, Websphere) auf TLS und aktuelle Ciphertechniken umstellen und wie Sie Web-Zertifikate, die den heutigen Standards (SHA2) entsprechen, erstellen (kyrtool, ikeyman)
3. Seite 3AdminCamp 2016 – Sept. 19-21
Hybrides Verschlüsselungsprotokoll, das Daten im Internet sicher
transferiert werden.
Solche Techniken werden vor allem eingesetzt, wenn vertrauliche
Daten (zum Beispiel Bankgeschäfte im Internet) übermittelt werden.
SSL 3.0 (veraltet)
SSL 3.1 = TLS 1.0 (Rename)
TLS 1.0 bis TLS 1.2
TLS 1.3 (in Bearbeitung)
Protokolle: HTTP, IMAP, POP3, SMTP, LDAP
SSL (Secure Socket Layer) / TLS (Transport Layer Security)
5. Seite 5AdminCamp 2016 – Sept. 19-21
Im Protokoll Transport Layer Security (TLS) legt die Cipher Suite fest,
welche Algorithmen zum Aufbau einer gesicherten Datenverbindung
verwendet werden sollen.
Dabei identifiziert jede Cipher Suite eine Kombination aus vier
Algorithmen:
Schlüsselaustausch: RSA, DH (auch ADH, ECDH), PSK
Authentifizierung: RSA, DSA (auch ECDSA), PSK
Hashfunktion: MD5, SHA
Verschlüsselung: keine, RC4, DES, 3DES, AES
Cipher Suite
6. Seite 6AdminCamp 2016 – Sept. 19-21
RSA:= Rivest Shamir Adleman
Asymetrisches Verfahren (public/privat) zum Verschlüsselung und digitalen Signieren
Wird oft mit symetrischen Verfahren kombiniert (z.B. 3DES, AES)
DH:= Diffie-Hellmann
Schlüsselaustauschprotokoll zur Erzeugung geheimer Schlüssel für zwei
Kommunikationspartner
DSA:= Digital Signature Algorithm
Standard Algorythmus der US-Regierung für digitale Signaturen
EC*:= Elliptic Curve * (z.B. ECDH, ECDSA)
Technik zur Übertragung der Schlüssel in elliptischen Kurven
Verschlüsselungstechniken/algorithmen
7. Seite 7AdminCamp 2016 – Sept. 19-21
PSK:= Pre-Shared Key
Verschlüsselung mit vorher vereinbartem Schlüssel = Verteilungsproblem
Wird oft bei WLANs eingesetzt
RC4:= Rons Code
Symmetrische Stromverschlüsselung
NOT SECURE
Einsatz durch das IETF (Internet Engineering Task Force) seit Feb. 2015 verboten
DES:= Data Encryption Standard
Symmetrische Blockverschlüsselung (56Bit), Mehrfahrnutzung (TripleDES / 3DES)
Gilt als NOT SECURE
Verschlüsselungstechniken/algorithmen
8. Seite 8AdminCamp 2016 – Sept. 19-21
AES := Advanced Encryption Standard
Symmetrische Blockverschlüsselung (128, 192, 256 Bit)
Nachfolger von DES; Vorgabverschlüsselung für Regierungen
AE AD := Authenticated Encryption with Associated Data
Symmetrische Blockverschlüsselung
Prüfung der Daten auf Vertraulichkeit, Integrität und Authentizität
Schutz vor Angriffen gegenüber Hashes und Cipher Block Chaining (CBC)
Verschlüsselungstechniken/algorithmen
9. Seite 9AdminCamp 2016 – Sept. 19-21
Betriesmodi für Blockchiffres
Definition wie mit einer Blockchiffre (AES, DES, AEAD) verschlüsselt werden soll
CBC := Cipher Block Chaining Mode
CTR := Counter Mode
GCM := Galois/Counter Mode
GMAC := Galois Message Authentication Mode (GCM nur Authentifizierung)
HMAC := Keyed-Hash Message Authentication Code
Nachrichtenauthentifizierungscode basierend auf Hash-Funktionen
Gewissheit über den Ursprung von Daten/Nachrichten zu erhalten und ihre Integrität zu
überprüfen.
Verschlüsselungstechniken/algorithmen
10. Seite 10AdminCamp 2016 – Sept. 19-21
PFS := Perfect Forward Secrecy
Eigenschaft der Schlüsselaustauschprotokolle (z.B. DH)
Verhindert die Entschlüsselung älterer Datenübermittlungen wenn der
Langzeitschlüssel aufgedeckt (kompromittiert) wurde
HSTS := HTTP Strict Transport Security
ein Sicherheitsmechanismus für HTTPS-Verbindungen, der vor der
Aushebelung der Verbindungsverschlüsselung durch eine SSL downgrade
(TLS>SSL) Attacke schützen soll
Verschlüsselungstechniken/algorithmen
11. Seite 11AdminCamp 2016 – Sept. 19-21
MD5 := Message Digest Algorithm 5
ist eine weit verbreitete kryptologischer Hashfunktionen, die aus einer beliebigen
Nachricht einen 128-Bit-Hashwert erzeugt.
MD5 gilt inzwischen als NOT SECURE, da es mit überschaubarem Aufwand möglich ist,
unterschiedliche Nachrichten zu erzeugen, die den gleichen MD5-Hashwert aufweisen
SHA := Secure Hash Algorithm
bezeichnet eine Gruppe standardisierter kryptologischer Hashfunktionen.
SHA-1 mit 128 Bit, SHA-2 Familie, SHA-3 Familie
SHA-1 gilt seit 2005 NOT SECURE und es wird vom BSI seit 2010 empfohlen diesen
nicht mehr zu verwenden
SHA-1 wird aktuell und zukünftig von den Browser geblockt
SHA1-basierte SSL-Zertifikate und Browserwarnungen
Verschlüsselungstechniken/algorithmen
12. Seite 12AdminCamp 2016 – Sept. 19-21
SHA-1 (160 Bit Länge) << DO NOT USE
http://de.wikipedia.org/wiki/Secure_Hash_Algorithm
SHA-2 / SHA-256 (224 Bit, 256 Bit, 384 Bit und 512 Bit)
http://de.wikipedia.org/wiki/SHA-2
SHA-3 „Keccak“ (128 Bit, 256 Bit)
Neues Hashverfahren (Aug. 2015) mit „Zustandsvektor“, jedoch scheinbar langsam
http://de.wikipedia.org/wiki/SHA-3
Secure Hash Algorithm (SHA) Techniken
13. Seite 13AdminCamp 2016 – Sept. 19-21
Man in the Middle
Abfangen des Datentransfers (eine Art Proxy)
ohne Kenntnis des Anwenders
BEAST := Browser Exploit Against SSL/TLS
Cipher Block Chaining (CBC) Verwundbarkeit (Man in the Middle)
SSL renegotiation
SSL Neuverhandlung
HTTP/s Sicherheitslücken
14. Seite 14AdminCamp 2016 – Sept. 19-21
Padding Oracle On Downgraded Legacy Encryption
... ist eine schwerwiegende Sicherheitslücke in verschiedenen Internet-
Protokollen, wodurch über verschlüsselte Verbindungen private Daten von
Clients und Servern ausgelesen werden können (Quelle: Wikipedia)
Sicherheitslücke bei SSL V3.0 und seit Ende 2014 auch TLS V1.0/1.1
SSL Downgrade & Cipher Block Chaining (CBC) Angriff
Referenz(en)
https://www.openssl.org/~bodo/ssl-poodle.pdf
http://de.wikipedia.org/wiki/Poodle
HTTP/s Sicherheitslücken - Poodle
15. Seite 15AdminCamp 2016 – Sept. 19-21
... ein schwerwiegender Programmfehler in älteren Versionen der Open-Source-
Bibliothek OpenSSL, durch den über verschlüsselte TLS-Verbindungen private
Daten von Clients und Servern ausgelesen werden können. (Quelle: Wikipedia)
Sicherheitslücke bei OpenSSL V1.0.1 – 1.0.1f
Lücke wurde mit Version 1.0.1g (April 2014) behoben
Referenz(en)
http://de.wikipedia.org/wiki/Heartbleed
Jan. 2016: Weitere Sicherheitslücke in OpenSSL V1.0.1 und V1.0.2
OpenSSL fixt kritische Sicherheitslücke fixed mit V1.0.1r/V1.0.2f
HTTP/s Sicherheitslücken - Heartbleed
16. Seite 16AdminCamp 2016 – Sept. 19-21
FREAK := Factoring RSA Export Keys
Schwachstelle im RSA 512 Bit Schlüssel (cipher = RSA_Export); trotz höherer cipher wird
vom Angreifer ein „fall back“ auf den unsicheren RSA 512 Bit Schlüssel erzwungen
https://de.wikipedia.org/wiki/FREAK_%28Sicherheitsl%C3%BCcke%29
Domino ist davon nicht betroffen
Websphere IFIX: PI36563 - Interim fix to remove the RSA_Export and RC4 ciphers
RC4 Bar Mitzvah Attacke
Angriff auf die RC4 Chiffres
https://en.wikipedia.org/wiki/Bar_mitzvah_attack
RC4-SHA Cipher deaktivieren bzw entfernen
HTTP/s Sicherheitslücken
19. Seite 19AdminCamp 2016 – Sept. 19-21
IBM Domino 2014 HTTP Stack bietet nur SSL V3.0
Kein natives TLS Protokoll
TLS nur mit IBM HTTP Server
IHS Plug-in mit IBM Domino 9.x
Standalone
Auf Druck der Kunden wurden Interims Fixes (IF) für TLS 1.0
(HTTP, SMTP, LDAP, POP3 & IMAP) entwickelt
SSLv3 POODLE Angreifbarkeit (CVE-2014-3566)
Fix (Nov 2014)
IBM Notes/Domino 9.0.1 FP2 IF1 & 9.0 IF6
IBM Notes/Domino 8.5.3 FP6 IF4, 8.5.2 FP4 IF2, 8.5.1 FP5 IF2
IBM Domino HTTP Stack 2014
20. Seite 20AdminCamp 2016 – Sept. 19-21
Weitere Fix(es) wg. Poodle Angriffe im TLS v1.0
TLS POODLE Angreifbarkeit (CVE-2014-8730)
Fix (Dez. 2014)
IBM Notes/Domino 9.0.1 FP2 IF3 & 9.0 IF7
IBM Notes/Domino 8.5.3 FP6 IF6, 8.5.2 FP4 IF3, 8.5.1 FP5 IF3
Automatische Deaktivierung
SSL V2 IMAP
SSL V3 via Notes.ini := DISABLE_SSLV3=1
SSL renegotiation
Alle schwachen Cipher (<128Bit) wurden entfernt
Ciphersuite TLS_FALLBACK_SCSV (verhindert das Erzwingen der SSLV3-Verbindung)
„reordering“ Cipher Liste um AEC cipher zuerst zu nutzen
SSLv3 POODLE Angreifbarkeit der IBM JVM 1.6 SR16 FP1
Aktualisierung der IBM JVM 1.6 SR16 FP2 für IBM Notes/Domino 9.0.1 FP2 & 8.5.3 FP6
Security Bulletin: Multiple vulnerabilities in IBM Java SDK affect IBM Notes and Domino
IBM Notes/Domino Fix – Dez 2014
21. Seite 21AdminCamp 2016 – Sept. 19-21
Implementierung von TLS 1.0 (Nov 2014)
IBM Notes/Domino 9.0.1 FP2 IF1 & 9.0 IF6
IBM Notes/Domino 8.5.3 FP6 IF4, 8.5.2 FP4 IF2, 8.5.1 FP5 IF2
SHA-2 Support (Nov 2014)
IBM Notes/Domino 9.0.1 FP2 IF1 & 9.0 IF6
Implementierung von TLS 1.2 (Apr 2015)
IBM Domino 9.0.1 FP3 IF2 & IBM Notes 9.0.1 FP3 IF3
HTTP, SMTP, LDAP, POP3 & IMAP
https://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_1.2
Perfect Forward Secrecy (PFS) via Ephemeral Diffie-Hellman (DHE)
Authenticated Encryption with Associated Data (AEAD) mit Advanced Encryption Standard (AES)
Implementierung von HTTP Strict Transport Security (HSTS)
IBM Notes/Domino Security Fix Historie
22. Seite 22AdminCamp 2016 – Sept. 19-21
„two image parsing buffer overflow“ in Dojo (Mai 2015)
IBM Notes/Domino 9.0.1 FP3 IF3
IBM Notes/Domino 8.5.3 FP6 IF6
http://www-01.ibm.com/support/docview.wss?uid=swg21883245
Implementierung von Eliptic Curve DHE (ECDHE) (Okt 2015)
IBM Domino 9.0.1 FP4 IF2
Apple App Transport Security verwenden ECDHE Cipher
http://www-01.ibm.com/support/docview.wss?uid=swg21966059
Domino GIF processing “overflow“ (Okt 2015)
IBM Notes/Domino 9.0.1 FP4 IF3
IBM Notes/Domino 8.5.3 FP6 IF10
http://www-01.ibm.com/support/docview.wss?uid=swg21969050
IBM Notes/Domino Security Fix Historie
23. Seite 23AdminCamp 2016 – Sept. 19-21
MD5 SLOTH TLS 1.2 Verwundbarkeit (Jan 2016)
IBM Domino 9.0.1 FP5 IF1
IBM Notes 9.0.1 FP5 IF1 (Linux), FP5 IF2 (Windows), FP1 IF1 (Mac 64 Bit)
http://www-01.ibm.com/support/docview.wss?uid=swg21974958
Support für Extended Master Secret (TLS 1.2)
Deaktivierung der „TLS Session Resumption“ (Wiederaufnahme der bestehenden Verbindung) für
ausgehende Verbindungen
IBM Java SDK V6SR16FP15 SLOTH TLS1.2 Verwundbarkeit (Feb 2016)
IBM Notes/Domino 9.0.1 FP5 JVM Patch - V6SR16FP20
Multiple Vulnerabilities in IBM Java SDK affect IBM Domino
How to use the IBM Notes & Domino JVM installer
<ProgramFiles>jvmpatcher.log
IBM Notes/Domino Security Fix Historie
24. Seite 24AdminCamp 2016 – Sept. 19-21
Flexera InstallShield Verwundbarkeit (Juni 2016)
IBM Notes 8.5-9.0.1 Installer, IBM ICAA 1.0.
Trojaner im „untrusted“ Suchpfad kann bei der InstallShield Installation evlt. Adminrechte auf dem
System erlangen
Workaround: <systemdir</mapistub.dll & mapi32.dll to <installdir>
IBM ICAA InstallShield vulnerable to DLL planting (CVE-2016-2542)
IBM Notes InstallShield vulnerable to DLL planting (CVE-2016-2542)
IBM Traveler XML External Entity Injection (XXE) Verwundbarkeit (Juli 2016)
IBM Traveler 9.0.1 FP11
IBM Domino 8.5.3 – 9.0.1
XML External Entities Injection Vulnerability in IBM Traveler (CVE-2016-3039)
IBM Notes/Domino Security Fix Historie
25. Seite 25AdminCamp 2016 – Sept. 19-21
IBM Java SDK V6SR16FP25 Verwundbarkeit (Aug 2016)
IBM Notes/Domino 8.5.3 FP6 / 9.0.1 FP6 JVM Patch - V6SR16FP30
IBM Notes/Domino 9.0.1 FP7 - JVM FP30 included
Multiple Vulnerabilities in IBM Java SDK affect IBM Notes/Domino
How to use the IBM Notes & Domino JVM installer = <ProgramFiles>jvmpatcher.log
AES & SHA-2 Support für Notes Encryption (Sept. 2016)
IBM Notes / Domino 9.0.1 FP7
Authentication encryption = SHA-2 anstatt SHA-1 (HMAC-SHA 256 = Vorgabe FP7)
Port ecryption = AES oder SHA-2 anstatt RC4
HMAC-SHA256, AES-CBC, AES GCM, Forward Secrecy
Authentication & port encryption enhancements in Notes and Domino 9.0.1 FP7
IBM Notes/Domino Security Fix Historie
26. Seite 26AdminCamp 2016 – Sept. 19-21
Die Java Klasse HttpsURLConnection verbindet sich mit dem
TLSV1.0 Protokoll
IBM Domino 9.0.1FP3 IF2+
TLSv1.2 Verbindung für Java Agents (HttpsURLConnection class)
erzwingen
Notes.ini
JavaUserOptionsFile=C:DominoprogJVMjvmOptions.txt
jvmOptions.txt
https.protocols=TLSv1.2
Config Domino to connect over TLSv1.2 running Java agents HttpsURLConnection class
IBM Domino Java Agents TLS Parameter
27. Seite 27AdminCamp 2016 – Sept. 19-21
DISABLE_SSLV3=1
Deaktivierung von SSLV3
SSL_DISABLE_TLS_10=1
Deaktivierung von TLS 1.0 (9.0.1FP3IF3+)
SSL_DISABLE_TLS_12=1
Deaktivierung von TLS 1.2 (9.0.1FP5+)
SSL_DISABLE_RENEGOTIATE=1
Unterbindet die SSL Neuverhandlung
SSL_DISABLE_FALLBACK_SCSV=1
Deaktivierung der Fallback_SCSV Funktion > reduziert die Sicherheit
IBM Domino TLS Parameter
30. Seite 30AdminCamp 2016 – Sept. 19-21
SSL_USE_CLIENT_CIPHER_ORDER=1
Deaktiviert die Ciphervorgabe vom Domino Server (Client Cipherhandling) > unsicher
SSLCIPHERSPEC=CipherHexwerte
Überschreibt die Vorgabe Cipherliste & -reihenfolge
https://www-10.lotus.com/ldd/dominowiki.nsf/dx/TLS_Cipher_Configuration
<FP4 = 2stellig SSLCipherSpec=9F9E6B39679D9C3D353
>FP4 = 4stellig SSLCipherSpec=C030009F009D
USE_WEAK_SSL_CIPHERS=1
Ermöglicht die Nutzung “schwacher” Cipher > unsicher
Zusätzliche Cipher werden danach via SSLCIPHERSPEC= definiert
IBM Domino SSL/TLS Cipher
31. Seite 31AdminCamp 2016 – Sept. 19-21
DHE Cipher verwenden die Schlüssellänge des Domino Keyrings
(z.B. 2048/4096 Bit)
Java Clients V1.6 / 1.7 kann nur DHE 1024 Bit Schlüssellänge
Problem mit DHE Cipher > 1024 Bit
Lösung
1024 Bit Schlüssellänge für DHE Cipher
SSL_DH_KEYSIZE=1024
SSL_DH_PARAMS=c:domprogdhparams1024.pem
Eigene DH Cipher via „openssl dhparam 1024“ erstellen
ABER: SSL Labs bewertet 1024 DHE Schlüssel als „weak“
DHE Cipher Probleme mit Java
32. Seite 32AdminCamp 2016 – Sept. 19-21
Authentication & port encryption enhancements in Notes and Domino 9.0.1 FP7
PORT_ENC_ADV=sum
Port Encryption Optionen (HMAC-SHA256, AES-128 CBC, AES-128 GCM, Forward Secrecy)
Sum=127 (Bitweise Aktivierung aller Optionen)
TICKET_ALG_SHA=value (Vorgabe FP7 = 256)
Zuweisung des Cryptographic Algorithmus für die Authentifizierung
1 = HMAC-SHA1, 256 = HMAC-SHA256 (Def.)
384 = HMAC-SHA 384, 512 = HMAC-SHA 512
DEBUG_PORT_ENC_ADV=1
Anzeigen von Fehlermeldungen bzgl. der neuen Algorithmen
LOG_AUTHENTICATION=1
Zeigt an welcher Algorithmus beim der Authentifizierung verwendet wird.
IBM Domino 9.0.1 FP 7 - N/D encryption
33. Seite 33AdminCamp 2016 – Sept. 19-21
Test für SSL/TLS
Externe Webseiten per SSLLabls
https://www.ssllabs.com/ssltest/index.html
https://www.ssllabs.com/ssltest/viewMyClient.html
Interne/Externe Webseiten
TESTSSLServer.exe
OpenSSL (Linux / Windows)
HTTPs Test: openssl s_client -connect webhost.dns:443
SMTP TLS Test: openssl s_client -connect mailhost.dns:25 -starttls smtp
Weitere Optionen sind -tls1, -no_ssl3
35. Seite 35AdminCamp 2016 – Sept. 19-21
Domino FP3+
Zugriff via Java Console nur noch mit Notes 9.0.1 FP3+ möglich (Disable SSLV3)
http://www-01.ibm.com/support/docview.wss?uid=swg21695943
Notes FP4
Probleme bei Zugriffen auf IBM Connections wg. deaktivierten Ciphern
Domino FP5 & Java Patch SR16FP20 (SPR# RSSNA6UU79)
Keine Zugriff auf Java Console – MD5 Algroithmen sind deaktiviert
Fix in FP6 oder Reaktivierung der MD5 Algorithmen (domprog/jvm/..../java.security)
http://www-01.ibm.com/support/docview.wss?uid=swg21977125
Sametime 8.5.x/9.0 LDAPs Verbindung schlägt fehl
Option 1: Verwenden SSL V2 Protokoll (SSL_ENABLE_INSECURE_RENEGOTIATE=1)
Option 2: Update Sametime 9.0.1 mit TLS Patch und Neukonfiguration
Problemfälle mit 9.0.1 und TLS/Cipher
36. Seite 36AdminCamp 2016 – Sept. 19-21
DB Einstellung für SSL
„Require SSL connection“
Server / Token Einstellung für
das Login
„Force login on SSL“
Globale SSL Umleitung
HTTP, LDAP & IMAP Ports
„Redirect to SSL“
Domino & SSL Aktivierung
37. Seite 37AdminCamp 2016 – Sept. 19-21
Domino Redirect Loginseite muss Anonym
erreichbar sein, ansonsten wird diese nicht
richtig angezeigt
Bildresourcen werden nicht geladen
REDIRECT TO SSL = TRUE
Notes.ini := HTTPPublicUrls=/redir.nsf/*
8.5.3 := HTTPPublicUrls=/redir.nsf/
iNotes-LoginBanner65short.gif:/redir.nsf/StylesheetLogin:/redir.nsf/Login.js
9.0.x := HTTPPublicUrls=/redir.nsf/
IBMLogo.gif:/redir.nsf/StylesheetLogin:/redir.nsf/Login.js
Redirect Login Page
38. Seite 38AdminCamp 2016 – Sept. 19-21
SMTP Inbound
Configdok := „SSL negotiated over TCPIP“
SMTP Outbound
Serverdok := “negotiated SSL“ via Port 25
SMTP w/o SSL > Failover wenn TLS Outbound nicht verfügbar ist
RouterFallbackNonTLS=1
Domino SMTP TLS
40. Seite 40AdminCamp 2016 – Sept. 19-21
DER := Dateiformat für ein Binary X.509-Zertifikat
Base64 := Dateiformat für ein Base64 codiertes
(Text) X.509-Zertifikat
PKCS#12 := Dateiformat für privaten Schlüssel
(meist durch Passwort geschützt)
Dateiendungen
.CRT := kennzeichnet Dateien, die das fertige Zertifikat enthalten
Alternativ auch .CER oder .PEM (Base64-kodiertes X.509-Zertifikat)
.CSR := Zertifizierungsanforderung für CA (eigene oder offizielle)
.P12 := Zertifikatsdatei bzw. -speicher inkl. privater Schlüssel und/oder weiterer Schlüssel
Zertifikatsspeicher/datenbanken := .JKS, .CMS, .P12
Dateiformate für Zertifikate
41. Seite 41AdminCamp 2016 – Sept. 19-21
certsrv.nsf / certreq.nsf
Domino Keyring Datenbanken
NEU := KYRTOOL (Kommandozeile)
Am besten in Verbindung mit OpenSSL nutzbar
Kann keine eigenen „private key“ Request erstellen
SHA-2 Support nur für IBM Domino 9.0.x
SHA-2 Keyrings in Domino 8.5.x funktionieren nicht !!!
iKeyman gskit V5
Läuft nur unter Windows 2003/XP
Domino Keyring Tools
42. Seite 42AdminCamp 2016 – Sept. 19-21
Download KYRTOOL
KYRTOOL ins IBM Notes Client Verzeichnis kopieren (Notes.dll wird benötigt)
Download OpenSSL
OpenSSL (pre build für Windows von Shining Light) installieren
http://slproweb.com/products/Win32OpenSSL.html
OpenSSL DLL Dateien NICHT in das Windows Verzeichnis kopieren
OpenSSL Konfigurationsdatei zuweisen und ggfls. konfigurieren
set OPENSSL_CONF=c:OpenSSLopenssl.cnf (Win64 Bit binaries)
Domino KYRTOOL & OpenSSL
43. Seite 43AdminCamp 2016 – Sept. 19-21
IBM Wiki: Generating a keyring file with a third party CA SHA-2 cert
using OpenSSL and kyrtool
1. Privaten Schlüssel (RSA / 2048 Bit) erstellen
>openssl.exe genrsa–out serverpriv.key 2048
2. CSR (Certificate Signing Request) für die eigene/externe CA
generieren
>openssl.exe req -new -sha256 -key serverpriv.key –out serverreq.csr
Eingabe der Requestdaten (Name des Servers = CN, Organisation, OU, Country,
Mailadresse, etc.)
3. CSR Datei oder Inhalt bei der Internet-CA hinterlegen und auf das
gestempelte Zertifikat (CRT) warten
44. Seite 44AdminCamp 2016 – Sept. 19-21
4. Alle Zertifikate in eine Datei zusammenführen
>type serverpriv.key servercert.crt ca-intermediate.crt ca-root.crt > allservercerts.txt
optional können diese auch einen Texteditor nacheinander zusammen kopiert werden
Richtige Reihenfolge beachten da ansonsten die Kette (CHAIN) nicht richtig erkannt
wird !! 1.. private Key, 2. gestempeltes Zertifikat, 3. CA2, 4. RootCAs
5. Domino Keyring erstellen und mit Kennwort schützen (stash file/sth)
>kyrtool create –k dominokey.kyr –p password
6. Zertifikate bzw. Schlüssel in die Domino Keyring Datei importieren
>kyrtool import all -k dominokey.kyr –i allservercerts.txt
IBM Wiki: Generating a keyring file with a third party CA SHA-2 cert
using OpenSSL and kyrtool
4. Alle Zertifikate in eine Datei zusammenführen
>type serverpriv.key servercert.crt ca-intermediate.crt ca-root.crt > allservercerts.txt
optional können diese auch einen Texteditor nacheinander zusammen kopiert werden
Richtige Reihenfolge beachten da ansonsten die Kette (CHAIN) nicht richtig erkannt
wird !! 1.. private Key, 2. gestempeltes Zertifikat, 3. CA2, 4. RootCAs
5. Domino Keyring erstellen und mit Kennwort schützen (stash file/sth)
>kyrtool create –k dominokey.kyr –p password
6. Zertifikate bzw. Schlüssel in die Domino Keyring Datei importieren
>kyrtool import all -k dominokey.kyr –i allservercerts.txt
45. Seite 45AdminCamp 2016 – Sept. 19-21
Domino Keyring – Kyrtool Befehle
Zertifikate bzw. Schlüssel auf Gültigkeit prüfen
>kyrtool verify allservercerts.txt
Zertifikate in der Domino Keyring Datei prüfen bzw. anzeigen
>kyrtool show keys -k dominokey.kyr (nur Serverzertifkat – inkl. privater Schlüssel)
>kyrtool show certs -k dominokey.kyr (nur Ausstellerzertifkate)
46. Seite 46AdminCamp 2016 – Sept. 19-21
Import von bestehenden Zertifikaten in eine Domino Keyring Datei
z.B. Wildcard Zertifikate *.timetoact.de / *.edcom.de
Inklusiver privater Schlüssel und kompletter Zertifikatskette (=chain) – sofern exportiert
P12/PCKS Dateien sind normalerweise durch Passwort geschützt
Voraussetzung für den Import ist das die Schlüsseldatei in
Textformat vorliegt (PEM Format)
>openssl pkcs12 –in SSLkey.pkcs/.p12 -out SSLKeyAll.pem –nodes
Optional >openssl pkcs12 –in SSLkey.pkcs/.p12 -out SSLCertsOnly.pem –nodes –nokeys
Optional >openssl pkcs12 –in SSLkey.pkcs/.p12 -out SSLPrivKeyOnly.pem –nodes –nocerts
Import des konvertierten Zertifikates in das Domino Keyring
>kyrtool import all -k dominokey.kyr –i SSLKeyAll.pem
Domino Keyring - PKCS/P12 Import
47. Seite 47AdminCamp 2016 – Sept. 19-21
Certsrv.nsf
Self-signed 512 Bit mit MD5 encryption
Cert-sign-req (CSR) 512/1024 & 2048 Bit
mit MD5 encryption
Certreq.nsf (CA Prozess)
MD5, SHA1 encryption mit 512/1024 & 2048 Bit
SHA-2 Fix – IBM Domino 9.0.1 FP3
SPR# DKEN9PJNBC - Allow certreq.nsf to create SSL keyring files containing certificates signed using SHA-256, SHA-384, and SHA-512.
SHA in Domino
48. Seite 48AdminCamp 2016 – Sept. 19-21
OPENSSL Konfig Datei
OPENSSL.CNF
Zuweisung mehrerer DNS Einträge im
Zertifikat um Browserfehlermeldung zu
unterbinden
OpenSSL – Alias URL zuweisen
.......
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature,
keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = im.novitest.local
DNS.2 = dom.novitest.local
IP.1 = 192.168.1.1
IP.2 = 192.168.69.14
.......
50. Seite 50AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate
SSL Verwaltung
Keystore := Verwaltung der eigenen Zertifikate
... <wasdmgrprofile>configcells<cellname>trust.p12
Truststore := Querzulassungen zu anderen Servern / root Zertifikaten
... <wasdmgrprofile>configcells<cellname>key.p12
Konfiguration via Websphere ISC oder IBM ikeyman
Password „WebAS“
51. Seite 51AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate
Websphere generiert ein „self-signed“ SSL Zertifikat
Auf Basis des Hostnamen
Network Deployment generiert eigene Root CA (dmgr hostname)
“self signed“ Serverschlüssel ist ein Jahr gültig und erneuert sich selbstständig
52. Seite 52AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate
offizielle SSL Zertifikate für Extranet und mobile Access
(Verisign, Cybertrust, Trustcenter, etc.)
SSL Request erstellen (CSR) & empfangen (CRT/CER)
Import Privat Key Format *.P12 (z.B. Wilcard Zertifikate)
Zuweisung des SSL Schlüssel an den WAS Server
Import der SSL Zertifikate in andere WAS Zellen (Trust)
Media Server TLS (Video Manager)
Connections Sametime TLS „Querzulassung“
53. Seite 53AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate
Request erstellen (in der WAS ISC)
SSL certificate and key management > Key stores and certificates
> CellDefaultKeyStore > Personal certificate requests > NEW
Signiertes CA Zertifikat importieren
SSL certificate and key management > Key stores and certificates > CellDefaultKeyStore > Personal certificates > Receive cert from CA
54. Seite 54AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate P12
Ist der „personal request“ nicht mehr vorhanden (z.B. bei Verlängerungen)
kann ein „Renewal“ nicht mehr eingelesen werden (ISC Fehlermeldungen)
P12 „private“ Key importieren (z.B. bei Wildcard Zertifikaten)
P12 Dateien werden durch Passwörter geschützt
SSL certificate and key management > Key stores and certificates > CellDefaultKeyStore > Personal certificates > Import certificates from a key file or key store
55. Seite 55AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate
Zuweisung der SSL Zertifikate dem Websphere Anwendungsserver
SSL certificate and key management > Manage endpoint security configurations > Inbound > WebsphereServer (z.B.
STProxyServer)
SSL certificate and key management > Manage endpoint security configurations > Outbound > WebsphereServer (z.B.
STProxyServer)
56. Seite 56AdminCamp 2016 – Sept. 19-21
Websphere – SSL Zertifikate
Websphere Network Deployment hat evtl. Probleme die Schlüsselspeicher
(keystore, trustore) zwischen dem Deployment Manager und Knotes zu
synchronsieren
Folge = WAS Server lassen sich nicht richtig beenden (hängt beim Beenden), da der
Schlüsselaustausch auf eine Bestätigung wartet
Manuelle Synchronisation
<wasnodeprofile>binretrievesigners –host dmgrhost –port dmgrsoapport
SOAP Port für dmgr ist normalerweise 8879 – bei Sametime SSC allerdings 8703
Sametime > retrievesigners –host ssc.novitest.local –port 8703
57. Seite 57AdminCamp 2016 – Sept. 19-21
Websphere – TLS & Cipherlist
SSL Protokollversion einstellen
SSL certificate and key management > SSL configurations > CellDefaultSSLSettings > Quality of protection (QoP) settings
SSL_TLS := SSLv3 und TLSv1 Vorgabe
SSL := SSLv3
TLS := TLSv1 only
TLSv1 := TLSv1 only
SSL_TLSv2 := ist SSLv3 und TLSv1, TLSv1.1, TLSv1.2
TLSv1.1 := TLSv1.1 only
TLSv1.2 := TLSv1.2 only
SSLV3 wird mit Websphere 8.5.5 FP3 IF Patches oder 8.5.5 FP4+ automatisch
deaktiviert
JVM Argument := -Dcom.ibm.jsse2.disableSSLv3=true
http://www-01.ibm.com/support/docview.wss?uid=swg21687173
58. Seite 58AdminCamp 2016 – Sept. 19-21
Websphere – TLS & Cipherlist
Cipherliste anpassen
SSL certificate and key management > SSL configurations > CellDefaultSSLSettings > Quality of protection (QoP) settings
59. Seite 59AdminCamp 2016 – Sept. 19-21
Sametime & Connection TLS
Websphere
Protokoll auf TLSv1.2 (kein TLS1.0) umstellen
Websphere 8.5.5 FP4+ deaktiviert SSLv3 per Code
Sametime 8.5 - 9.0
Sametime Poodle Hotfix vom 5. Feb. 2015 einspielen oder neueste Fixes (Fixcentral)
Sametime Community TLS benötigt noch weitere Konfigurationsschritte
Connections 3.0 – 5.0
WebSphere, IHS & Plugins müssen gefixed (IBM Link) werden
Connections 5.5 (IHS & Websphere) TLS V.12
How to Force IBM Connections 5.5 CR1 to Use TLSv1.2
60. Seite 60AdminCamp 2016 – Sept. 19-21
Sametime TLS für Community & LDAP
IBM Doku: Security Considerations for TLS Configuration
1. Domino Keyring (SHA-2) für Sametime Community erstellen
2. SSL Software Support (ST 9 SDK) installieren
3. KeyDBs via IBM iKeyman erstellen und externes LDAP Server
Zertifikate einlesen
Keytrust.p12 := Externes LDAP Zertifikat und/oder Zertifikatskette (root) einlesen
Keystore.p12 := Eigenes Domino/Sametime Zertifikat und/oder Zertifikatskette (root) einlesen
TIPP – Umwandlung der Domino/OpenSSL privaten Schlüssel und
signiertes Zertifikatsdatei in P12 Format
openssl pkcs12 -export -in st9certdatei.pem -inkey st9priv.key -out st9.p12
61. Seite 61AdminCamp 2016 – Sept. 19-21
Sametime Community TLS
Zuweisung der Schlüsseldatebanken (Keystore/P12)
62. Seite 62AdminCamp 2016 – Sept. 19-21
Sametime Community TLS Verbindungen
Sametime Community Server > Sametime Community Server
Sametime Community Server > LDAP Server
Sametime Client > Sametime MUX/Community Server
Strict TLS vs. legacy RC2 encryption
66. Seite 66AdminCamp 2016 – Sept. 19-21
1. Privaten Schlüssel (RSA / 2048 Bit) erstellen
>openssl.exe genrsa –out server.key 2048
2. CSR (Certificate Signing Request) für die CA generieren
>openssl.exe req -new -sha256 -key server.key –out server.csr
Eingabe der Requestdaten (CN, Org, OU, Country, etc.)
3. OpenSSL „self-signed“ Zertifkat generieren (3560 Tage gültig)
>openssl.exe x509 -req -days 3650 -sha256 -in server.csr -signkey server.key-out server.pem
4. Alle Zertifikate (server.crt, CA-Root, CA-Intermediate) in eine Datei zusammenführen
>type server.key server.pem > selfsigned-key.txt
optional können diese auch einen Texteditor nacheinander zusammen kopiert werden
5. Domino Keyring erstellen und mit Kennwort schützen (stash file/sth)
>kyrtool create –k dominokey.kyr –p password
IBM Wiki: Generating a keyring file with a self-signed SHA-2 cert
using OpenSSL and kyrtool
67. Seite 67AdminCamp 2016 – Sept. 19-21
IBM Wiki: Generating a keyring file with a self-signed SHA-2 cert
using OpenSSL and kyrtool
6. Zertifikate bzw. Schlüssel auf Gültigkeit prüfen
>>kyrtool verify selfsigned-key.txt
7. Zertifikate bzw. Schlüssel in die Domino Keyring Datei importieren
>kyrtool import all -k dominokey.kyr –i selfsigned-key.txt
8. Zertifikate in der Domino Keyring Datei prüfen
>kyrtool show keys -k dominokey.kyr (nur Serverzertifkat – inkl. privater Schlüssel)
>kyrtool show certs -k dominokey.kyr (nur Ausstellerzertifkate)
9. Domino Keyring Datei(en) auf Domino Server portieren und einbinden
>copy dominokey.kyr + dominokey.sth > Domino Datenverzeichnis
68. Seite 68AdminCamp 2016 – Sept. 19-21
DEBUG_SSL_ALL=1/2
Debug für SSL (inlusive Handshake & Cipher)
DEBUG_SSL_HANDSHAKE=1/2
Zeigt Protokollversionen an
DEBUG_SSL_CIPHERS=1/2
Zeigt Informationen zu den Ciphern
DEBUG_SSL_DHE=1/2
DHE Cipher Debugging (9.0.1 FP3)
SSL_LOGGING_DISABLE=1
Unterbindet alle Domino Console Meldungen zu SSL
IBM Domino SSL/TLS Parameter