Securing IBM collaboration environment (CCTY 2016 Munich)

899 Aufrufe

Veröffentlicht am

Presentation (german language) from the IBM "connect comes to you" conference at IBM business partner edcom in munich.
Showing how to protect domino & websphere with TLS

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
899
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
512
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Securing IBM collaboration environment (CCTY 2016 Munich)

  1. 1. Absicherung der IBM Collaboration Umgebungen mit TLS 7.-8. März 2015, edcom/Rheinland Nachlese 2016 Alexander Novak, alexander.novak@edcom.de, Tel.: +49 89 38 40 850 edcom Software & Consulting GmbH, Baierbrunner Straße 39, 81379 München www.edcom.de / noviblog.net
  2. 2. Seite 2 Begriffe Domino & TLS Einstellungen/Konfiguration Domino SSL Key Erstellung (Kyrtool) Websphere SSL Konfiguration Agenda
  3. 3. Seite 3 Hybrides Verschlüsselungsprotokoll, das Daten im Internet sicher transferiert werden. Solche Techniken werden vor allem eingesetzt, wenn vertrauliche Daten (zum Beispiel Bankgeschäften 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)
  4. 4. Seite 4 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
  5. 5. Seite 5 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
  6. 6. Seite 6 PSK:= Pre-Shared Key Verschlüsselung mit vorher vereinbartem Schlüssel = Verteilungsproblemm Wird oft bei WLANs eingesetzt RC4:= Rons Code Symmetrische Stromverschlüsselung Unsicher, 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 unsicher Verschlüsselungstechniken/algorithmen
  7. 7. Seite 7 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
  8. 8. Seite 8 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
  9. 9. Seite 9 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 unsicher, 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 unsicher 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
  10. 10. Seite 10 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
  11. 11. Seite 11 Man in the Middle Abfangen des Datentransfers (eine Art Proxy) ohne Kenntnis des Anwenders CBC := Cipher Block Chaining Mode Technik der blockweisen Chiffrierung BEAST := Browser Exploit Against SSL/TLS Cipher Block Chaining (CBC) Verwundbarkeit (Man in the Middle) SSL renegotiation SSL Neuverhandlung HTTP/s Sicherheitslücken
  12. 12. Seite 12 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
  13. 13. Seite 13 ... 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
  14. 14. Seite 14 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
  15. 15. Seite 15 Blockchiffren (cipher) AES-128, AES-192, AES-256 mit folgenden Betriebsarten Galois-Counter-Mode (GCM) Cipher-Block Chaining (CBC) Counter Mode (CTR) Asymetrische Verschlüsselung (encryption) Diffie-Hellman EC Diffie-Hellmann (ECDHE) RSA Hashing SHA-256, SHA-512/256, SHA-384 und SHA-512 SHA3-256, SHA3-384, SHA3-512 BSI Empfehlung (Jan. 2016) BSI TR-02102 Kryptographische Verfahren: Empfehlungen und Schlüssellängen
  16. 16. Seite 16 Begriffe Domino & TLS Einstellungen/Konfiguration Domino SSL Key Erstellung (Kyrtool) Websphere SSL Konfiguration Agenda
  17. 17. Seite 17 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
  18. 18. Seite 18 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
  19. 19. Seite 19 Impementierung 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
  20. 20. Seite 20 „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 Impelementierung 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
  21. 21. Seite 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 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
  22. 22. Seite 22 DISABLE_SSLV3=1 Deaktivierung von SSLV3 SSL_DISABLE_TLS_10=1 Deaktivierung von TLS 1.0 (9.0.1FP3IF3+) SSL_DISABLE_RENEGOTIATE=1 Unterbindet die SSL Neuverhandlung SSL_LOGGING_DISABLE=1 Unterbindet alle Domino Console Meldungen zu SSL SSL_DISABLE_FALLBACK_SCSV=1 Deaktivierung der Fallback_SCSV Funktion > reduziert die Sicherheit IBM Domino TLS Parameter
  23. 23. Seite 23 IBM Domino SSL/TLS Cipherorder – 9.0.1 F3 TLS 1.0 / SSLv3 - Default vs. complete DHE_RSA_WITH_AES_256_CBC_SHA (39) RSA_WITH_AES_256_CBC_SHA (35) RSA_WITH_AES_128_CBC_SHA (2F) DHE_RSA_WITH_AES_128_CBC_SHA (33) RSA_WITH_3DES_EDE_CBC_SHA (0A) RSA_WITH_RC4_128_SHA (05) TLS 1.2 - Default vs. complete DHE_RSA_WITH_AES_256_GCM_SHA384 (9F) DHE_RSA_WITH_AES_128_GCM_SHA256 (9E) DHE_RSA_WITH_AES_256_CBC_SHA256 (6B) DHE_RSA_WITH_AES_256_CBC_SHA (39) DHE_RSA_WITH_AES_128_CBC_SHA256 (67) RSA_WITH_AES_256_GCM_SHA384 (9D) RSA_WITH_AES_128_GCM_SHA256 (9C) RSA_WITH_AES_256_CBC_SHA256 (3D) RSA_WITH_AES_256_CBC_SHA (35) RSA_WITH_AES_128_CBC_SHA256 (3C) RSA_WITH_AES_128_CBC_SHA (2F) DHE_RSA_WITH_AES_128_CBC_SHA (33) RSA_WITH_3DES_EDE_CBC_SHA (0A) RSA_WITH_RC4_128_SHA (05)
  24. 24. Seite 24 IBM Domino SSL/TLS Cipherorder – 9.0.1 FP4+ TLS 1.0 / SSLv3 - Default vs. complete ECDHE_RSA_WITH_AES_256_CBC_SHA (C014) DHE_RSA_WITH_AES_256_CBC_SHA (0039) ECDHE_RSA_WITH_AES_128_CBC_SHA (C013) RSA_WITH_AES_256_CBC_SHA (0035) RSA_WITH_AES_128_CBC_SHA (002F) RSA_WITH_3DES_EDE_CBC_SHA (000A) RSA_WITH_RC4_128_SHA (0005) TLS 1.2 – Default vs. complete ECDHE_RSA_WITH_AES_256_GCM_SHA384 (C030) DHE_RSA_WITH_AES_256_GCM_SHA384 (009F) ECDHE_RSA_WITH_AES_128_GCM_SHA256 (C02F) DHE_RSA_WITH_AES_128_GCM_SHA256 (009E) ECDHE_RSA_WITH_AES_256_CBC_SHA384 (C028) DHE_RSA_WITH_AES_256_CBC_SHA256 (006B) ECDHE_RSA_WITH_AES_256_CBC_SHA (C014) DHE_RSA_WITH_AES_256_CBC_SHA (0039) ECDHE_RSA_WITH_AES_128_CBC_SHA256 (C027) DHE_RSA_WITH_AES_128_CBC_SHA256 (0067) ECDHE_RSA_WITH_AES_128_CBC_SHA (C013) RSA_WITH_AES_256_GCM_SHA384 (009D) RSA_WITH_AES_128_GCM_SHA256 (009C) RSA_WITH_AES_256_CBC_SHA256 (003D) RSA_WITH_AES_256_CBC_SHA (0035) RSA_WITH_AES_128_CBC_SHA256 (003C) RSA_WITH_AES_128_CBC_SHA (002F) RSA_WITH_3DES_EDE_CBC_SHA (000A) RSA_WITH_RC4_128_SHA (0005)
  25. 25. Seite 25 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
  26. 26. Seite 26 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
  27. 27. Seite 27 https://www.ssllabs.com/ssltest/index.html https://www.ssllabs.com/ssltest/viewMyClient.html
  28. 28. Seite 28 Domino 8.5.3 FP6 IF9 DISABLE_SSLV3=1 SHA-1 !!! SHA-2 TLS 1.0 Domino Security Best Practices (03/2016) Domino 9.0.1 FP5 IF1 DISABLE_SSLV3=1 SSL_DISABLE_TLS_10=1 TLS 1.2 (wenn möglich) SHA 2 Zertifikat(e) Default Cipherorder
  29. 29. Seite 29 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
  30. 30. Seite 30 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
  31. 31. Seite 31 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
  32. 32. Seite 32 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
  33. 33. Seite 33 Nutzung der AES Verschlüsselung NRPC Network Port Encryption (Uses a FIPS 140-2 certified cryptographic library) Controlled on the Domino server & enabled by default on clients Change: old port Encryption  HMAC SHA-256 integrity checking Change: old 128 bit AES-CBC  HMAC SHA-256 integrity checking 128 bit AES-GCM for encryption and integrity checking Forward secrecy & 256 bit AES SHA-2 Pläne NRPC Authentication & NRPC Network Integrity verification Domino.NEXT Planung The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion
  34. 34. Seite 34 Begriffe Domino & TLS Einstellungen/Konfiguration Domino SSL Key Erstellung (Kyrtool) Websphere SSL Konfiguration Agenda
  35. 35. Seite 35 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
  36. 36. Seite 36 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 <9.0 funktionieren nicht !!! iKeyman gskit V5 Läuft nur unter Windows 2003/XP Domino Keyring Tools
  37. 37. Seite 37 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
  38. 38. Seite 38 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
  39. 39. Seite 39 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
  40. 40. Seite 40 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)
  41. 41. Seite 41 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
  42. 42. Seite 42 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
  43. 43. Seite 43 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 .......
  44. 44. Seite 44 Begriffe Domino & TLS Einstellungen/Konfiguration Domino SSL Key Erstellung (Kyrtool) Websphere SSL Konfiguration Agenda
  45. 45. Seite 45 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“
  46. 46. Seite 46 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
  47. 47. Seite 47 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“
  48. 48. Seite 48 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
  49. 49. Seite 49 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
  50. 50. Seite 50 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)
  51. 51. Seite 51 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
  52. 52. Seite 52 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
  53. 53. Seite 53 Websphere – TLS & Cipherlist Cipherliste anpassen SSL certificate and key management > SSL configurations > CellDefaultSSLSettings > Quality of protection (QoP) settings
  54. 54. Seite 54 Sametime & Connection TLS Sametime 8.5 - 9.0 Websphere 8.5.5 FP4+ (ST 9.0 only) Sametime Poodle Hotfix vom 5. Feb. 2015 einspielen (Fixcentral) Sametime Community TLS benötigt noch weitere Konfigurationsschritte Security Bulletin: Vulnerability in SSLv3 affects Sametime (CVE-2014-3566) http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21687845 Connections 3.0 – 5.0 WebSphere, IHS & Plugins müssen gefixed werden http://www-01.ibm.com/support/docview.wss?uid=swg21690640
  55. 55. Seite 55 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
  56. 56. Seite 56 Sametime Community TLS Zuweisung der Schlüsseldatebanken (Keystore/P12)
  57. 57. Seite 57 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
  58. 58. Seite 58 Beurteilung bitte nicht vergessen! Securing IBM Collaboration Environment
  59. 59. Seite 59 APPENDIX
  60. 60. Seite 60 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
  61. 61. Seite 61 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
  62. 62. Seite 62 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) IBM Domino TLS Parameter

×