Webseiten mit HTTPS bereitstellen und mit HSTS und HPKP sichern

Ähnliche Dokumente
Certificate Pinning mit NGINX Dritte, überarbeitete Fassung

HPKP Alles was Sie wissen müssen

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

Installation eines SSL Zertifikates unter Apache http Server 2.x

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

Apache Webserver with SSL on Windows

Apache HTTP-Server Teil 1

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS

Apache HTTP-Server Teil 1

Netzwerksicherheit Übung 5 Transport Layer Security

Netzwerksicherheit Übung 5 Transport Layer Security

Der Netzwerk Insider Systematische Weiterbildung für Netzwerk- und IT-Professionals

Einführung in X S/MIME

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

Anleitung zur Nutzung von OpenSSL in der DFN-PKI

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

Einführung in die symmetrische und asymmetrische Verschlüsselung

Verschlüsselung der Kommunikation zwischen Rechnern

Konfiguration Apache Webserver für SSL

Ein Überblick über Security-Setups von E-Banking Websites

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

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security. Teil 2: Zertifikate, X.509, PKI Dr.

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

TLS für Mailserver richtig aufsetzen

Hacken von implementierungsspezifischen! SSL-Schwachstellen

Acrolinx IQ. Sichern der Kommunikation mit Acrolinx IQ Server mit HTTPS

Implementierung Drittanbieter Zertifikate (x509) in Securepoint UTM -Am Beispiel einer Microsoft zweistufigen PKI Infrastruktur-

Let s Encrypt: Kostenlose SSL-Zertifikate auf STRATO Linux-Server nutzen

SSL/TLS, OpenSSL und https

Verteilte Systeme Unsicherheit in Verteilten Systemen

Henning Mohren Zertifikatsserver der Certification Authority (CA) Technische Spezifikation. Version 4.0. c 2005 FernUniversität in Hagen

Verteilte Systeme. Übung 10. Jens Müller-Iden

Internet Security: Verfahren & Protokolle

DA(e)NEn lügen nicht. Patrick Ben Koetter Carsten Strotmann

IT-Sicherheit SSL/TLS. Jens Kubieziel. Fakultät für Mathematik und Informatik. 6. Januar 2012

1. Praktikumsaufgabe zur IT-Sicherheit 2

Apache HTTP-Server Teil 2

SSL/TLS und SSL-Zertifikate

sslstrip und HSTS Sven Schleier OWASP Stammtisch München, 18. Februar 2014 sslstrip und HSTS sslstrip und HSTS Sven Schleier Der Angriff

Shibboleth Infrastruktur an der RWTH Aachen

Semantic Web Technologien. Security and Trust. Sebastian Henke. Betreuer: Mark Giereth VIS 06

mit virtuellen Servern und SSL

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

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

SSL-Zertifikate. Dr. Christopher Kunz

BEKO-Forum Juni 2007 Server-Zertifikate an der Uni Bern

Die Idee des Jahres 2013: Kommunikation verschlüsseln

Public Key Infrastruktur. Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09

Sicheres HTTP. 8. Juni Proseminar Electronic Commerce und digitale Unterschriften

Sichere Kommunikation im Netz mit Zertifikaten: Albtraum oder etablierte Technik? Dr. Simon Hoff,

Public Key Infrastructure https-smtps-pop3s etc Ver 1.0

Neues aus der DFN-PKI. Jürgen Brauckmann

Für die Ausgabe der Zertifikate betreibt die Hochschule Ulm eine Registrierungsstelle (RA).

Studentenzertifikate für Online-Dienste der Fachhochschule Landshut

SSL-Authentisierung mit Nutzerzertifikaten

SSL/TLS: Ein Überblick

Community Zertifizierungsstelle. Digitale Identität & Privatsphäre. SSL / S/MIME Zertifikate

1 Client Authentifizierung (Login mit Zertifikat) unter Apache HTTP Server 1.3.x und 2.x (Dokumentversion 1.4)

MSXFORUM - Exchange Server 2003 > SSL Aktivierung für OWA 2003

CSR- Erstellung. Hersteller

Studentenzertifikate für Online-Dienste der Hochschule Landshut

Shibboleth zum Mitmachen die AAR-Testumgebung 3ter AAR Workshop

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

Protonet Server mit DynDNS-Adresse/Subdomain konfigurieren

LDAPS (LDAP Secure) Internet Architektur, Protokolle, Management 3 (SS2004) Jens Festag (Jens.Festag@FH-Worms.de)

Die Zertifikatdienste auswählen und mit weiter fortfahren. Den Hinweis mit JA bestätigen.

Workshop Sicherheit im Netz KZO Wetzikon. Peter Skrotzky, 4. Dezember 2013

Webserver allgemein Voraussetzung für die Integration von Plone NginX Apache 2 Demonstration Zusammenfassung

Sicherer -Dienste-Anbieter

Wie installiere ich das CAcert Root-Zertifikat?

Registrierungsstelle der TU Braunschweig CA

etoken unter Linux 13. Dezember 2010 etoken unter Linux Dominik Russenberger

Dirk Wetter. Dirk Wetter. Kleine, feine Helferlein: HTTP Header und Security. Kleine, feine Helferlein: HTTP Header und Security

Sicherheitskonzept und Sicherheitspru fung. Internetanbindung Befundserver MVZ Labor PD Dr. Volkmann und Kollegen GbR

Wie richte ich mein Webhosting auf dem Admin Panel ein?

USB-Tokens. Technik und Einsatzgebiete

Erstellen sicherer ASP.NET- Anwendungen

Installation eines SSL Zertifikates am Microsoft IIS 5.0 v0.4

AKTUELLE VERBREITUNG VON HTTP STRICT TRANSPORT SECURITY (HSTS)

FH Schmalkalden Fachbereich Informatik. Kolloquium 21. März 2002

Installationsanleitung SSL Zertifikat

SSL-Zertifikate. ausgestellt bzw. bezogen von den Informatikdiensten. Dieter Hennig. 25. November ETH Zürich. SSL-Zertifikate.

Rosa Freund SSL/TLS SSL/TLS Institut für Mathematik, TU Berlin. Rosa Freund --

SSL TLS Erweiterte Einführung Deutscher Perl Workshop 2015 Steffen Ullrich Slides:

TeleSec ServerPass. Zertifikats-Requesterzeugung für den NGINX Webserver. Version: 1.2 Stand: Status: Final

Sichere mit OpenPGP und S/MIME

PKI CA / SubCA mit openssl

Sicherheitsanalyse der TLS-Konfiguration von SMTP-Installationen. Bachelorarbeit. Thomas Maier

> Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012

Public Key Infrastructure (PKI) Funktion und Organisation einer PKI

Secure Socket Layer V.3.0

XAMPP für Windows. Installation und Konfiguration

Attribut Kürzel Beispiele Bemerkungen Country Name C DE bitte Großbuchstaben State or Province Name ST Nordrhein-Westfalen

Einrichtung von radsecproxy. Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Sichern Sie Ihren Apache Web-Server mit einem Digitalen Zertifikat von thawte

Programmiertechnik II

Dipl.-Ök. Thorben Sandner Institut für Wirtschaftsinformatik Leibniz Universität Hannover.

Public Key Infrastrukturen (PKI)

Transkript:

Webseiten mit HTTPS bereitstellen und mit HSTS und HPKP sichern 26. Oktober 2017

Inhalt 1

Inhalt 1 2

Inhalt 1 2 3

Der Prozess im Überblick Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats 1 Erzeugung eines privaten Schlüssels 2 Generierung einer Zertifikatsanfrage (CSR) 3 Übermittlung des CSR an eine Zertifizierungsstelle (CA) 4 Ausstellung eines signierten Zertifikats durch die CA 5 Implementierung des privaten Schlüssels und des Zertifikats auf dem Webserver

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Erzeugung eines privaten Schlüssels / tmp$ openssl genrsa -aes256 -out test.key 2048 Generating RSA private key, 2048 bit long modulus...+++...+++ e is 65537 (0 x10001 ) Enter passphrase for test.key: Verifying - Enter passphrase for test.key: Achtung Der private Schlüssel ist stets auf einem vertrauenswürdigen Host zu erzeugen. Er sollte niemals im Web auf den Seiten einer CA generiert werden.

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Generierung einer Zertifikatsanfrage (CSR) openssl req -batch -sha256 -new -key test.key -out test.csr \ -subj "/C=DE/L=Musterstadt/O=Musterfirma/OU=Musterabteilung/ \ CN=foo.example.com/emailAddress=foo@example.com" Achtung Auch dieser Schritt sollte auf einem vertrauenswürdigen Host ausgeführt werden. Der private Schlüssel darf den Host nicht verlassen.

Beispiel einer PKI Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Abbildung: Verarbeitung eines CSR durch RA und CA

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Beispiele für Zertifizierungsstellen DFN-PKI Let s Encrypt WoSign CAcert Symantec Hosting-Provider wie z. B. Strato, Hosteurope, 1&1, usw. Selbstsignierte Zertifikate (durch eigene CA)

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Implementierung auf einem Webserver Die Dateien gehören nicht ins DocumentRoot

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Implementierung auf einem Webserver Die Dateien gehören nicht ins DocumentRoot Zugriffsrechte auf den privaten Schlüssel soweit wie möglich beschränken

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Implementierung auf einem Webserver Die Dateien gehören nicht ins DocumentRoot Zugriffsrechte auf den privaten Schlüssel soweit wie möglich beschränken Zertifikatskette mitausliefern

Die Zertifikatskette Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Abbildung: Zertifikatskette vom Leaf Certificate bis zum Root Certificate im Trust Store des Webbrowsers

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Konfiguration einer TLS/SSL-Webseite Ein Beispiel für Apache 2.4 LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost *:443> ServerName www.example.com SSLEngine on SSLCertificateFile "/path/to/www.example.com.cert" SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt" SSLCertificateKeyFile "/path/to/www.example.com.key" </VirtualHost> Quelle: https://httpd.apache.org/docs/2.4/

Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage (CSR) CA signiert CSR und stellt Zertifikat aus Implementierung des Zertifikats Konfiguration einer TLS/SSL-Webseite Ein Beispiel für NGINX server { listen 443 ssl; server_name www.example.com ssl_certificate /path/to/www.example.com.cert ssl_certificate_key /path/to/www.example.com.key... } Quelle: http://nginx.org/en/docs/http/configuring_https_servers.html

Gefahr durch Man-In-The-Middle-Angriffe Schwachstelle im Design Gefahr durch Man-In-The-Middle-Angriffe Es ist Vorsicht geboten Obwohl TLS/SSL-Verschlüsselung implementiert wurde, sind Man-In-The-Middle-Angriffe weiterhin möglich.

Gefahr durch Man-In-The-Middle-Angriffe Schwachstelle im Design Gefahr durch Man-In-The-Middle-Angriffe Es ist Vorsicht geboten Obwohl TLS/SSL-Verschlüsselung implementiert wurde, sind Man-In-The-Middle-Angriffe weiterhin möglich. Denn der Webbrowser weiß nicht, ob TLS/SSL auf einer Webseite implementiert sind oder nicht.

Schwachstelle im Design Gefahr durch Man-In-The-Middle-Angriffe Schwachstelle im Design Es gibt hunderte von vertrauenswürdigen CAs, denen Browser und E-Mail-Clients vertrauen Jede dieser CAs kann Zertifikate für beliebige Domains ausstellen und die Browser und E-Mail-Clients vertrauen ihnen Man-In-The-Middle-Angriffe sind so auch auf HTTPS-Verbindungen möglich

HTTP Strict Transport Security Welchen Nutzen bietet HSTS? HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Dem Webbrowser wird mitgeteilt, dass eine Seite über HTTPS erreichbar ist Die URL wird transparent zu einer https-url umgeschrieben Der Webbrowser wird angewiesen, diese Seite ausschließlich über HTTPS aufzurufen

HTTP Strict Transport Security Wie implementiert man HSTS? HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 <VirtualHost www.example.com:443> Header always set Strict-Transport-Security "max-age=63072000; \ includesubdomains;" </VirtualHost> server { listen 443 ssl; add_header Strict-Transport-Security "max-age=63072000; \ includesubdomains; "; }

HTTP Strict Transport Security Vor- und Nachteile von HSTS HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Vorteile Leicht zu konfigurieren Verhindert MITM-Angriffe auf HTTP-Verbindungen Nachteile Problematisch bei Mixed-Content MITM-Angriff mit gefälschtem TLS/SSL-Zertifikat weiterhin möglich

Pinning - Wie funktioniert das? HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Der öffentliche Schlüssel eines Zertifikats wird festgenagelt Ein Hash-Wert wird an den Browser übermittelt und von diesem gespeichert

Pinning - Wie funktioniert das? HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Der öffentliche Schlüssel eines Zertifikats wird festgenagelt Ein Hash-Wert wird an den Browser übermittelt und von diesem gespeichert Dadurch kann der Browser das Zertifikat wiedererkennen Stimmt der berechnete Hash nicht mit dem gespeicherten Wert überein, wird der Zugriff auf die Webseite verweigert

Implementierung von HPKP Vorüberlegungen HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Welcher öffentliche Schlüssel soll gepinnt werden?

Implementierung von HPKP Vorüberlegungen HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Welcher öffentliche Schlüssel soll gepinnt werden? Tipp: Pinnt das Serverzertifikat!

Implementierung von HPKP Vorüberlegungen HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Welcher öffentliche Schlüssel soll gepinnt werden? Tipp: Pinnt das Serverzertifikat! Was tun, wenn das Zertifikat kompromittiert wurde?

Implementierung von HPKP Vorüberlegungen HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Welcher öffentliche Schlüssel soll gepinnt werden? Tipp: Pinnt das Serverzertifikat! Was tun, wenn das Zertifikat kompromittiert wurde? Einen vorbereiteten Backup-PIN nutzen!

Implementierung von HPKP PINs berechnen HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 openssl x509 -noout -in certificate.pem -pubkey openssl asn1parse \ -noout -inform pem - out public.key openssl dgst -sha256 -binary public.key openssl enc -base64 openssl req -noout -in example.com.csr -pubkey openssl asn1parse \ -noout -inform pem -out example.com_csr.key openssl dgst -sha256 -binary example.com_csr.key \ openssl enc -base64

HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Implementierung von HPKP am Beispiel von NGINX server { listen 443 ssl; server_name www.example.com ssl_certificate /path/to/www.example.com.cert ssl_certificate_key /path/to/www.example.com.key add_header Public-Key-PINs pin-sha256="primary-pin"; \ pin-sha256="backup-pin"; max-age=300; includesubdomains ; }

HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Nutzen der Public Key Pinning Extension for HTTP (HPKP) Vorteile Kann MITM-Angriffe mit gefälschten Zertifikaten aufdecken Verhindert den Zugriff auf die betroffene Seite

HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Nutzen der Public Key Pinning Extension for HTTP (HPKP) Vorteile Kann MITM-Angriffe mit gefälschten Zertifikaten aufdecken Verhindert den Zugriff auf die betroffene Seite Nachteile Aufwendig zu implementieren Kann eine Webseite unerreichbar machen

Fazit Inhalt HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Mit HSTS und HPKP stehen wirksame Mittel zur Verfügung, um die Angriffsfläche auf HTTPS-Verbindungen zu verkleinern.

Fazit Inhalt HTTP Strict Transport Security - RFC 6797 Public Key Pinning Extension for HTTP (HPKP) - RFC 7469 Mit HSTS und HPKP stehen wirksame Mittel zur Verfügung, um die Angriffsfläche auf HTTPS-Verbindungen zu verkleinern. Weiterführende Informationen findet ihr im TLS-Kochbuch unter: https://www.my-it-brain.de/wordpress/ mein-tls-kochbuch/