Name-based SSL virtual hosts: how to tackle the problem



Similar documents
CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Virtual Host Continue

CSC 474 Information Systems Security

Crypto at Scale. Brian Sniffen

CSC Network Security

Binding Security Tokens to TLS Channels. A. Langley, Google Inc. D. Balfanz, Google Inc. A. Popov, Microsoft Corp.

User s guide. APACHE SSL Linux. Using non-qualified certificates with APACHE SSL Linux. version 1.3 UNIZETO TECHNOLOGIES S.A.

Communication Systems SSL

Network Security Web Security and SSL/TLS. Angelos Keromytis Columbia University

ViMP 3.0. SSL Configuration in Apache 2.2. Author: ViMP GmbH

Installing an SSL certificate on the InfoVaultz Cloud Appliance

Web Security Considerations

HP Jetdirect and SSL/TLS

Communication Systems 16 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2009

GlobalSign Solutions

CentOS. Apache. 1 de 8. Pricing Features Customers Help & Community. Sign Up Login Help & Community. Articles & Tutorials. Questions. Chat.

Information Security

LAB :: Secure HTTP traffic using Secure Sockets Layer (SSL) Certificate

Transport Layer Security

Outline. Transport Layer Security (TLS) Security Protocols (bmevihim132)

SecuritySpy Setting Up SecuritySpy Over SSL

Implementing HTTPS in CONTENTdm 6 September 5, 2012

Setup a Virtual Host/Website

LAB :: Secure HTTP traffic using Secure Sockets Layer (SSL) Certificate

This section describes how to use SSL Certificates with SOA Gateway running on Linux.

Low-Level TLS Hacking

Security Engineering Part III Network Security. Security Protocols (I): SSL/TLS

TLS/SSL in distributed systems. Eugen Babinciuc

APACHE HTTP SERVER 2.2.8

Apache & Virtual Hosts & mod_rewrite

Certificates and network security

esync - Receiving data over HTTPS

The Beautiful Features of SSL And Why You Want to Use Them?

Table of Contents GEEK GUIDE APACHE WEB SERVERS AND SSL AUTHENTICATION

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

SECURE SOCKETS LAYER (SSL)

TLS-RSA-PSK. Channel Binding using Transport Layer Security with Pre Shared Keys

Real-Time Communication Security: SSL/TLS. Guevara Noubir CSU610

Secure Socket Layer (SSL) and Trnasport Layer Security (TLS)

By Jan De Clercq. Understanding. and Leveraging SSL-TLS. for Secure Communications

Security Protocols and Infrastructures. h_da, Winter Term 2011/2012

Apache Security with SSL Using Linux

ncircle PCI Compliance Report for Techno Kitchen Detail Report

Lecture 7: Transport Level Security SSL/TLS. Course Admin

Managing and Securing Computer Networks. Guy Leduc. Chapter 4: Securing TCP. connections. connections. Chapter goals: security in practice:

Protocol Rollback and Network Security

GlobalSign Enterprise Solutions Google Apps Authentication User Guide

SSL Secure Socket Layer

SSL Secure Socket Layer

ISA 562 Information System Security

Apache2 Configuration under Debian GNU/Linux. Apache2 Configuration under Debian GNU/Linux

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

Announcement. Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed.

Design and Implementation of Web Forward Proxy with


Enterprise SSL Support

Apache Security with SSL Using Ubuntu

How to configure HTTPS proxying in Zorp 5

Vulnerabilità dei protocolli SSL/TLS

How to: Install an SSL certificate

Kerberos and Single Sign On with HTTP

Secure HTTP

SSL Troubleshooting with Wireshark and Tshark

Configuration Manual for Lime Domains

Transport Layer Security Protocols

Accelerating SaaS Applications with F5 AAM and SSL Forward Proxy

The course will be run on a Linux platform, but it is suitable for all UNIX based deployments.

Practical Invalid Curve Attacks on TLS-ECDH

Lecture 4: Transport Layer Security (secure Socket Layer)

Administering mod_jk. To Enable mod_jk

HP ALM. Software Version: External Authentication Configuration Guide

Proto Balance SSL TLS Off-Loading, Load Balancing. User Manual - SSL.

NeoMail Guide. Neotel (Pty) Ltd

Authenticity of Public Keys

Communication Security for Applications

Deploying the BIG-IP System v11 with Microsoft Exchange 2010 and 2013 Client Access Servers

Client configuration and migration Guide Setting up Thunderbird 3.1

Embedded SSL. Christophe Kiennert, Pascal Urien. Embedded SSL - Christophe Kiennert, Pascal Urien 1

Configuring Apache Web Server for x509 User Authentication

CHARTER BUSINESS custom hosting faqs 2010 INTERNET. Q. How do I access my ? Q. How do I change or reset a password for an account?

Basic Configuration. Key Operator Tools older products. Program/Change LDAP Server (page 3 of keyop tools) Use LDAP Server must be ON to work

Cleaning Encrypted Traffic

Alternative Frameworks of E-Commerce and Electronic Payment Systems Specially Suitable for the Developing Countries Likes Ours

HTTPS: Transport-Layer Security (TLS), aka Secure Sockets Layer (SSL)

Lecture 31 SSL. SSL: Secure Socket Layer. History SSL SSL. Security April 13, 2005

SSL Configuration Best Practices for SAS Visual Analytics 7.1 Web Applications and SAS LASR Authorization Service

Zeitgemäße Webserver-Konfiguration. Ein Serviervorschlag

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

Installing Apache as an HTTP Proxy to the local port of the Secure Agent s Process Server

Biography of Trainer. Education. Experience. Summary. TLS/SSL : Securing your website PGP : Secure your communication. Topic

, SNMP, Securing the Web: SSL

Reverse Proxy Guide. Version 2.0 April 2016

Secure network protocols: how SSL/TLS, SSH, SFTP and FTPS work

Configuring Content Switching Feature

Advanced DNS Course. Module 4. DNS Load Balancing

Secure Socket Layer (SSL) and Transport Layer Security (TLS)

Linux VPS with cpanel. Getting Started Guide

Transcription:

Name-based SSL virtual hosts: how to tackle the problem Kaspar Brand <brand@switch.ch> 2nd SWITCHpki RAO Meeting Berne, 18 April 2007 2007 SWITCH

When trying to configure Apache This will not work as intended, actually: NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on ServerName server1.example.com SSLCertificateFile server1.example.com.crt SSLCertificateKeyFile server1.example.com.key </VirtualHost> <VirtualHost *:443> SSLEngine on ServerName server2.example.com SSLCertificateFile server2.example.com.crt SSLCertificateKeyFile server2.example.com.key </VirtualHost> (The client will always see server1.example.com.crt, only) 2007 SWITCH 2

The SSL/TLS handshake (RFC 4346) Client Server ClientHello --------> ServerHello Certificate* ServerKeyExchange* CertificateRequest* <-------- ServerHelloDone Certificate* ClientKeyExchange CertificateVerify* [ChangeCipherSpec] Finished --------> [ChangeCipherSpec] <-------- Finished Application Data <-------> Application Data Basic problem: the server has to select and send the certificate to the client immediately after the ClientHello, but at this time it doesn t have any information about the requested host name (which will only follow later in the Host: HTTP header, after completion of the full handshake) 2007 SWITCH 3

Current workaround #1 Wildcard certificate: CN=*.example.com will match for server1.example.com, server2.example.com, server3.example.com in Apache, specify the same certificate for each VirtualHost: NameVirtualHost *:443 <VirtualHost *:443> ServerName server1.example.com SSLCertificateFile wildcard.example.com.crt </VirtualHost> <VirtualHost *:443> ServerName server2.example.com SSLCertificateFile wildcard.example.com.crt </VirtualHost> or configure a single VirtualHost and use mod_rewrite: RewriteCond %{HTTP_HOST} =server1.example.com RewriteRule (.*) /document/root/for/server1/$1 [L] RewriteCond %{HTTP_HOST} =server2.example.com RewriteRule (.*) /document/root/for/server2/$1 [L] 2007 SWITCH 4

Current workaround #1 (cont d) Matching rules: RFC 2595 (Using TLS with IMAP, POP3 and ACAP): A * wildcard character MAY be used as the left-most name component in the certificate. For example, *.example.com would match a.example.com, foo.example.com, etc. but would not match example.com. RFC 2818 (HTTP Over TLS): Names may contain the wildcard character * which is considered to match any single domain name component or component fragment. E.g., *.a.com matches foo.a.com but not bar.foo.a.com. f*.com matches foo.com but not bar.com. RFC 4513 (LDAP Authentication Methods): The * (ASCII 42) wildcard character is allowed in subjectaltname values of type dnsname, and then only as the left-most (least significant) DNS label in that value. This wildcard matches any left-most DNS label in the server name. That is, the subject *.example.com matches the server names a.example.com and b.example.com, but does not match example.com or a.b.example.com. Most browsers use matching rules like these (implementation details may differ), with one notable exception: for Mozilla, * simply matches everything (i.e. a certificate with CN=* will work, though it s a pretty bad idea to trust such a certificate can do MITM for every https URL) For Internet Explorer/Windows, see also http://support.microsoft.com/kb/258858: * will not match a dot (. ), must occur in the leftmost FQDN component, can be preceeded by other characters (www*.example.com), but must be immediately followed by. [note that some of the accepted examples in the referenced KB article are actually wrong e.g. www.example.*] 2007 SWITCH 5

Current workaround #2 subjectaltname extension add a dnsname for every (additional) virtual host, put the default host into both the CN and the subjectaltname extension works with all major browsers Apache configuration similar to wildcard certificates drawback: certificate needs to be reissued whenever a new FQDN is added 2007 SWITCH 6

Future solution: server name indication RFC 4366: Transport Layer Security (TLS) Extensions Specifies how to extend the ClientHello, one of these extensions being the server name indication (SNI, the FQDN of the host the client wants to connect to) Browser support currently implemented by Opera, MSIE 7 (under Vista only), and Firefox 2 Toolkits with SNI support GnuTLS OpenSSL (0.9.9 development version) Mozilla NSS (client-side only, currently) Server support currently limited to Apache mod_gnutls: for Apache 2.x, experimental module (http://www.outoforder.cc/projects/apache/mod_gnutls/) mod_ssl: experimental patch for 2.2, needs recent OpenSSL development version (http://issues.apache.org/bugzilla/show_bug.cgi?id=34607) 2007 SWITCH 7

2007 SWITCH 8