TLS für Mailserver richtig aufsetzen



Ähnliche Dokumente
X.509v3 Zertifizierungsinstanz der Universität Würzburg

IT-Sicherheit Kapitel 11 SSL/TLS

Apache Webserver with SSL on Windows

Nachrichten- Verschlüsselung Mit S/MIME

-Verschlüsselung

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Netzwerksicherheit Übung 5 Transport Layer Security

Programmiertechnik II

Sichere für Rechtsanwälte & Notare

Erste Vorlesung Kryptographie

SSL/TLS: Ein Überblick

Freie Zertifikate für Schulen und Hochschulen

Netzwerksicherheit Übung 5 Transport Layer Security

Reale Nutzung kryptographischer Verfahren in TLS/SSL

FL1 Hosting Technische Informationen

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Dieses HowTo darf nicht vervielfältigt oder veröffentlich werden ohne Einverständnis des Erstellers. Alle Angaben ohne Gewähr.

Ist das so mit HTTPS wirklich eine gute Lösung?

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

Übungen zur Vorlesung Systemsicherheit

Die Idee des Jahres 2013: Kommunikation verschlüsseln

Verschlüsselte s: Wie sicher ist sicher?

PKI Was soll das? LugBE. Public Key Infrastructures - PKI

Informatik für Ökonomen II HS 09

Anleitung zur Nutzung von OpenSSL in der DFN-PKI

FAQ s für die Exchange Migration

Erstellen einer digitalen Signatur für Adobe-Formulare

ViMP 3.0. SSL Einrichtung in Apache 2.2. Verfasser: ViMP GmbH

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Anleitung für -Client Thunderbird mit SSL Verschlüsselung

Apache HTTP-Server Teil 1

Leichte-Sprache-Bilder

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

E-Government in der Praxis Jan Tobias Mühlberg. OpenPGP. Brandenburg an der Havel, den 23.

Kryptographie. Ich doch hab nichts zu verbergen. IT-Security Bootcamp. Ziel. Was also tun? asymmetrisch. symmetrisch

Eine Praxis-orientierte Einführung in die Kryptographie

Windows Server 2008 R2 und Windows 7 Stand-Alone Arbeitsplatz per VPN mit L2TP/IPSec und Zertifikaten verbinden.

How to install freesshd

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Installation eines SSL Zertifikates unter Apache http Server 2.x

Stammtisch Zertifikate

SFTP SCP - Synology Wiki

Installationsanleitung SSL Zertifikat

CCC Bremen R.M.Albrecht

Authentikation und digitale Signatur

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Apache HTTP-Server Teil 1

Allgemeine Erläuterungen zu

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Apple Mail

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

IT-Sicherheit Kapitel 13. Sicherheit


Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2010

Outlook 2013

Einrichten eines POP-Mailkontos unter Thunderbird Mail DE:

Mail encryption Gateway

BytStorMail SAAS als Relay

Import des persönlichen Zertifikats in Outlook 2003

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

Enigmail Konfiguration

FTP Tutorial. Das File Transfer Protocol dient dem Webmaster dazu eigene Dateien wie z.b. die geschriebene Webseite auf den Webserver zu laden.

Nationale Initiative für Internet- und Informations-Sicherheit


Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2013

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Zeitstempel für digitale Dokumente. Ein neuer Dienst in der DFN-PKI

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13.

Infrastruktur: Vertrauen herstellen, Zertifikate finden

T.I.S.P. Community Meeting 2013 Berlin, Integritätsschutz durch Security by design

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

Möglichkeiten der verschlüsselten -Kommunikation mit der AUDI AG Stand: 11/2015

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Anwendungsprotokolle: HTTP, POP, SMTP

Anleitung Thunderbird Verschlu sselung

Beweisbar sichere Verschlüsselung

-Verschlüsselung viel einfacher als Sie denken!

Man liest sich: POP3/IMAP

Kryptographie. = verborgen + schreiben

Inhalt. Seminar: Codes und Kryptographie

A-CERT CERTIFICATION SERVICE 1

Ebenenmasken Grundlagen

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil D2:

Import des persönlichen Zertifikats in Outlook Express

Kurze Einführung in kryptographische Grundlagen.

Rillsoft Project - Installation der Software

Internet Explorer Version 6

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

Effizienten MAC-Konstruktion aus der Praxis: NMAC Idee von NMAC:

Import des persönlichen Zertifikats in Outlook2007

Einführung in OpenSSL und X.509-Zertifikate. Martin Kaiser

COMPUTER MULTIMEDIA SERVICE

Sicherheitszertifikate der DKB AG und ihrer Partner

11. Das RSA Verfahren und andere Verfahren

Wir empfehlen die Konfiguration mit den Servern secureimap.t-online.de und securepop.t-online.de.

IT-Sicherheit WS 2012/13. Übung 5. zum 28. November 2012

Transkript:

TLS für Mailserver richtig aufsetzen Andreas Schulze DATEV eg 6. Mailserverkonferenz Berlin, 2014

Agenda Browser vs. MTA Krypto Organisation von Zertifikaten Demo: Zertifikat erstellen TLS mit postfix Blick über'n Tellerrand 12. Mai 2014 A. Schulze / MK6 / TLS 2

Browser vs. MTA erst Zertifikat prüfen, dann verschlüsseln Wenn die Zuordnung zum Namen nicht passt, ist alles böse HSTS / RFC 6797: verhindert Rückfall auf Klartext HTTPS Everywhere Mehr als 100 Root-Zertifikate - Juur-SK/AS Sertifitseerimiskeskus/EE - E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. - IZENPE S.A. Vertrauen? 12. Mai 2014 A. Schulze / MK6 / TLS 3

Browser vs. MTA Hauptsache nicht Klartext Sicherheit vorm passiven Mitlesen durch externe Dritte Transport Layer Security Optional: Validierung von X509 Zertifikaten aktive Sicherheit 12. Mai 2014 A. Schulze / MK6 / TLS 4

Agenda Browser vs. MTA Krypto Organisation von Zertifikaten Demo: Zertifikat erstellen TLS mit postfix Blick über'n Tellerrand 12. Mai 2014 A. Schulze / MK6 / TLS 5

Krypto Austauschen von geheimen Informationen in der Öffentlichkeit Üblich: asymmetrisch zum Tausch eines temporären Schlüssels Danach symmetrisch Schlüsseltausch Hash Symmetrische Verschlüsselung der Nutzdaten 12. Mai 2014 A. Schulze / MK6 / TLS 6

Schlüsseltausch RSA Übertragung einer Zufallszahl mittels asymmetrischer Verschlüsselung Problem: geheimer Schlüssel muss geheim bleiben Diffie Hellmann Zusenden von Nachrichten, aus denen sich ein gemeinsames Geheimnis ableiten lässt 12. Mai 2014 A. Schulze / MK6 / TLS 7

Hash Belegen die Unverändertheit von Daten MD4 MD5 SHA1 SHA2 / SHA3 12. Mai 2014 A. Schulze / MK6 / TLS 8

Symmetrische Verschlüsselung Blockverschlüsselung DES, 3DES, RC2, AES + AESGCM BLOWFISH, IDEA brauchen einen Betriebsmodus - ECB, CBC, CFB (ISO10116) Stromverschlüsselung RC4 12. Mai 2014 A. Schulze / MK6 / TLS 9

graue Theorie? openssl ciphers -v man ciphers gnutls-cli list http://en.wikipedia.org/wiki/comparison_of_tls_implementations Cipher-Suiten+Namen von der IETF standardisiert (openssl nutzt eigene Namen) Einige Algorithmen möchte man heute nicht mehr verwenden Andere muss man leider noch anbieten :-/ 12. Mai 2014 A. Schulze / MK6 / TLS 10

RC4-MD5 ist keine Verschlüsselung RC4 wird vermutlich in Echtzeit dechiffriert http://www.theregister.co.uk/2013/09/06/nsa_cryptobreaking_bullrun_analysis/ Klartext MD5 1996 2006 Uhhhh 2012 MS-Zertifikat nachgemacht SHA1 2005: Bruce Schneier: SHA-1 has been broken DSS Der Digital Signature Algorithm (DSA) ist ein Standard der US-Regierung für Digitale Signaturen Fefe: GCM ist nur in Hardware sauber implementierbar 12. Mai 2014 A. Schulze / MK6 / TLS 11

Agenda Browser vs. MTA Krypto Organisation von Zertifikate Demo: Zertifikat erstellen TLS mit postfix Blick über'n Tellerrand 12. Mai 2014 A. Schulze / MK6 / TLS 12

Organisation von Zertifikaten Wichtige Parameter eines Zertifikates: Für welchen Namen? Wie lange gültig? Welche Root CA? Zwischen-CAs? Welches Dateiformat? - PEM Weniger wichtig: die benutze Anwendung 12. Mai 2014 A. Schulze / MK6 / TLS 13

Root CA X509 Subject Worum geht s? X509 Issuer Wer bestätigt das? Subject == Issuer Root Zertifikat / Zertifizierungsinstanz / Root CA Ich bestätige hiermit, dass ich wirklich ich bin ~150 sind durchaus üblich 12. Mai 2014 A. Schulze / MK6 / TLS 14

Zwischen CA Subject!= Issuer Zwischenzertifikat / Sub CA / Intermediate ist nicht zwingend auf jedem System vorhanden muss also dem Gegenüber bekannt gemacht werden, wenn dieser die Daten prüfen soll. 12. Mai 2014 A. Schulze / MK6 / TLS 15

Organisation von Zertifikaten Dateiablage laut Dokumentation, HowTos und diversen Mailinglisten: /etc/postfix/server.crt /etc/postfix/neu2.cert /etc/ssl/dovecot.pem /etc/apache/conf/ssl.crl/ca-bundle-client 12. Mai 2014 A. Schulze / MK6 / TLS 16

Organisation von Zertifikaten eigenes Schema zur Dateiablage Unterstützung durch Makefiles für Standardaktionen /etc/ssl/ Zertifikatsgegenstand /etc/ssl/${fqdn}/ 12. Mai 2014 A. Schulze / MK6 / TLS 17

Organisation von Zertifikaten Typische Dateinamen cert.pem root.pem key.pem intermediate.pem... sind SYMLINKS auf die aktuellen Dateien nach folgendem Schema: /etc/ssl/${fqdn}/${fqdn}-${typ}-${date}.pem 12. Mai 2014 A. Schulze / MK6 / TLS 18

Organisation von Zertifikaten cert.pem mx.example.org-cert-20140909.pem key.pem../private/mx.example.org-key-20100815.pem root.pem../certs/cacert.org-root.pem intermediate.pem../certs/cacert.org-class3.pem Makefile../path/to/Makefile_etc-ssl-fqdn (Quelle: postmaster.datev.de/mk6) 12. Mai 2014 A. Schulze / MK6 / TLS 19

/etc/ssl/${fqdn}/ vertrauenswürdige CAs als einzelne Dateien im Verzeichnis /etc/ssl/${fqdn}/trusted_cas/ Makefile erzeugt daraus /etc/ssl/${fqdn}/trusted_cas.pem und bei Bedarf für den SMTP-Server die Hash-Links in der chroot echo /var/spool/postfix/etc/ssl/${fqdn}/trusted_cas/ \ > /etc/ssl/${fqdn}/trusted_cas/chroot smtp_tls_cafile = /etc/ssl/${myhostname}/trusted_cas.pem smtpd_tls_capath = /etc/ssl/${myhostname}/trusted_cas/ 12. Mai 2014 A. Schulze / MK6 / TLS 20

Agenda Browser vs. MTA Krypto Organisation von Zertifikaten Demo: Zertifikat erstellen TLS mit postfix Blick über'n Tellerrand 12. Mai 2014 A. Schulze / MK6 / TLS 21

Demo: Zertifikat erstellen export FQDN=alice.example.org export STARTDATE=20140512 install -d /etc/ssl/${fqdn}/ && cd /etc/ssl/${fqdn}/ cat <<EOF > ${FQDN}-openssl.cnf [ req ] distinguished_name = req_distinguished_name [ req_distinguished_name ] commonname = CommonName commonname_default = ${FQDN} EOF openssl req -nodes -new -sha256 -newkey rsa:4096 \ -keyout../private/${fqdn}-key-${startdate}.pem \ -config ${FQDN}-openssl.cnf \ -out ${FQDN}-request-${STARTDATE}.pem chmod 400../private/${FQDN}-key-${STARTDATE}.pem 12. Mai 2014 A. Schulze / MK6 / TLS 22

Demo: Zertifikat erstellen ln -s../private/${fqdn}-key-${startdate}.pem key.pem cat ${FQDN}-request-${STARTDATE}.pem -----BEGIN CERTIFICATE REQUEST----- MIIEYTCCAkkCAQAwHDEaMBgGA1UEAxMRYWxpY2UuZXhhbXBsZ 6xXfHEB8lw+acV53pAQp33p2CAME -----END CERTIFICATE REQUEST----- damit zur CA cat $was_die_ca_liefert.pem openssl x509 -noout -enddate notafter=may 12 04:44:48 2016 GMT export ENDDATE=20160512 mv $was_die_ca_liefert.pem ${FQDN}-cert-${ENDDATE}.pem ln -s ${FQDN}-cert-${ENDDATE}.pem cert.pem ln /path/to/ca-root root.pem ln /path/to/intermediate.pem intermediate.pem 12. Mai 2014 A. Schulze / MK6 / TLS 23

Demo: Zertifikat erstellen ln -s /path/to/makefile ¹ Makefile make echo 443 > DANE; # echo 25 >> DANE; # echo 636 > DANE make dane ln -s /path/to/client_cacert.pem trusted_cas/ make trusted_cas.pem echo /var/spool/postfix/etc/ssl/${fqdn}/trusted_cas/ \ > trusted_cas/chroot make aktualisiert Links in der postfix-chroot-umgebung ¹) Quelle: postmaster.datev.de/mk6 12. Mai 2014 A. Schulze / MK6 / TLS 24

Agenda Browser vs. MTA Krypto Organisation von Zertifikaten Demo: Zertifikat erstellen TLS mit postfix Blick über'n Tellerrand 12. Mai 2014 A. Schulze / MK6 / TLS 25

Postfix als SMTP-Client Quasi Browser-Mode Zertifikat nicht zwingend nötig Verschlüsselung einfach einschalten: smtp_tls_security_level = may Postfix tritt gegenüber dem Server anonym auf 12. Mai 2014 A. Schulze / MK6 / TLS 26

Postfix als SMTP-Client oder mit Clientzertifikat smtp_tls_cert_file = /etc/ssl/${myhostname}/cert+intermediate.pem smtp_tls_key_file = /etc/ssl/${myhostname}/key.pem Dann weiß der Server, wer der Client ist Ob man dann 'andere Berechtigungen' hat, ist Sache des Servers 12. Mai 2014 A. Schulze / MK6 / TLS 27

Postfix als SMTP-Server Zertifikat zwingend ¹ nötig smtpd_tls_cert_file = /etc/ssl/${myhostname}/cert+intermediate.pem smtpd_tls_key_file = /etc/ssl/${myhostname}/key.pem smtpd_tls_security_level = may smtpd_tls_loglevel = 1 eingehende TLS-Verbindungen sind entweder anonym oder untrusted jenachdem ob - der Server überhaupt nach einem Clientzertifikat fragt ( smtpd_tls_ask_ccert ) - ein Clientzertifikat liefert ¹) postfix Server ohne Zertifikat ist wohl auch möglich... 12. Mai 2014 A. Schulze / MK6 / TLS 28

TLS bei SMTP!= HTTPS Postfix unterscheidet optionale und verpflichtende Verschlüsselung Dementsprechend unterschiedliche starke Kryptographie smtp(d)_tls_ciphers = export smtp(d)_tls_mandantory_ciphers = medium smtp(d)_tls_protocols =!SSLv2 smtp(d)_tls_mandantody_protocols = TLSv1.2 smtpd_tls_security_level / smtp(d)_policy_maps 12. Mai 2014 A. Schulze / MK6 / TLS 29

TLS bei SMTP!= HTTPS smtp(d)_tls_exclude_ciphers = anull, RC4, MD5 smtp(d)_tls_exclude_mandantory_ciphers = 3DES, DSS, (AESGSM) smtpd_tls_dh1024_param = ${data_directory}/4096.pem (nice -n 19) openssl gendh -out -2 4096 Submission Clients: ev. Default 12. Mai 2014 A. Schulze / MK6 / TLS 30

Trust? X509 Zertifikat binden einen öffentlichen Schlüssel an eine Identität Bestätigt durch eine externe Instanz Identität wird überprüfbar - smtp_tls_cafile / smtp_tls_capath - smtpd_tls_cafile / smtpd_tls_capath Und dann? Trusted TLS connection im LOG (verified OK) im Received Header 12. Mai 2014 A. Schulze / MK6 / TLS 31

Trust? smtp: wer ist der Server an den ich sende? smtpd: wer liefert gerade ein? smtp: bekommt Zertifikat frei Haus - kann quasi immer prüfen smtpd: muss danach fragen ( smtpd_tls_ask_ccert ) - kann also auch mal leer ausgehen ->anonymer Client In beiden Fällen: Liste von vertrauenswürdigen CAs 12. Mai 2014 A. Schulze / MK6 / TLS 32

Vertrauenswürdige CAs OpenSSL kennt verschiedene 2 Arten alle CA-Dateien in einer großen Datei - $ cat /path/to/trusted_cas/* > /path/to/trusted_cas.pem alle Dateien separat in einem Verzeichnis mit zusätzlichen Symbolischen Links - $ ls /path/to/trusted_cas/ datev-esecure9.pem - $ c_rehash /path/to/trusted_cas/ Doing /path/to/trusted_cas/ datev-esecure9.pem => d5a0e395.0 - $ ls -l /path/to/trusted_cas/ d5a0e395.0 datev-esecure9.pem datev-esecure9.pem 12. Mai 2014 A. Schulze / MK6 / TLS 33

CAfile oder CApath? CAfile wird geladen, bevor smtp / smtpd chroot aufruft CApath muss in der chroot liegen http://www.postfix.org/tls_readme.html#server_cert_key When you configure the Postfix SMTP server to request client certificates, the DNs of certificate authorities in $smtpd_tls_cafile are sent to the client, in order to allow it to choose an identity signed by a CA you trust. CAfile macht also den TLS-Handshake groß und geschwätzig somit: smtp_tls_cafile und smtpd_tls_capath 12. Mai 2014 A. Schulze / MK6 / TLS 34

Weiter TLS-Einstellungen tls_ssl_options = no_compression tls_preempt_cipherlist = yes smtp(d)_tls_fingerprint_digest = sha1 smtp_tls_note_starttls_offer = yes 12. Mai 2014 A. Schulze / MK6 / TLS 35

Agenda Browser vs. MTA Krypto Organisation von Zertifikaten Demo: Zertifikat erstellen TLS mit postfix Blick über'n Tellerrand 12. Mai 2014 A. Schulze / MK6 / TLS 36

nicht nur für postfix Dovecot ssl = yes ssl_cert = </etc/ssl/imap.example.org/cert-intermediate.pem ssl_key = </etc/ssl/imap.example.org/key.pem protocol pop3 { ssl_cert = </etc/ssl/pop3.example.org/cert+intermediate.pem ssl_key = </etc/ssl/pop3.example.org/key.pem } 12. Mai 2014 A. Schulze / MK6 / TLS 37

nicht nur für postfix Nginx server { listen 443 ssl spdy; server_name www.example.org; ssl_certificate /etc/ssl/www.example.org/cert+intermediate.pem; ssl_certificate_key /etc/ssl/www.example.org/key.pem; } Apache (weicht vom Schema ab) SSLCertificateChainFile /etc/ssl/www.example.org/intermediate.pem SSLCertificateFile /etc/ssl/www.example.org/cert.pem SSLCertificateKeyFile /etc/ssl/www.example.org/key.pem Lighttpd (ebenfalls anders) ssl.pemfile = /etc/ssl/www.example.org/cert+key.pem ssl.cafile = /etc/ssl/www.example.org/intermediate.pem 12. Mai 2014 A. Schulze / MK6 / TLS 38

nicht nur für postfix OpenLDAP TLSCertifikateFile = /etc/ssl/ldap.example.org/cert-intermediate.pem TLSCertifikateKeyFile = /etc/ssl/ldap.example.org/key.pem TLSCertifikateFile = /etc/ssl/ldap.example.org/trusted_cas/ 12. Mai 2014 A. Schulze / MK6 / TLS 39

nicht nur für postfix Systematische Dateinamen für Zertifikatsdateien machen TLS Setup transparenter scriptgesteuerte Überwachung der Ablaufzeiten: check-sslcert-expiredate 1 ¹) Quelle: postmaster.datev.de/mk6 12. Mai 2014 A. Schulze / MK6 / TLS 40

Zum Abschluß F R A G E N? A N M E R K U N G E N? 12. Mai 2014 A. Schulze / MK6 / TLS 41

Danke Andreas Schulze DATEV eg andreas. schulze @ datev. de 12. Mai 2014 A. Schulze / MK6 / TLS 42

12. Mai 2014 A. Schulze / MK6 / TLS 43