Apache Security with SSL Using Linux



Similar documents
Apache Security with SSL Using Ubuntu

Apache, SSL and Digital Signatures Using FreeBSD

Security Workshop. Apache + SSL exercises in Ubuntu. 1 Install apache2 and enable SSL 2. 2 Generate a Local Certificate 2

Web Security: Encryption & Authentication

Websense Content Gateway HTTPS Configuration

Unifying Information Security. Implementing TLS on the CLEARSWIFT SECURE Gateway

Implementing Secure Sockets Layer on iseries

What is an SSL Certificate?

SecuritySpy Setting Up SecuritySpy Over SSL

Securing Your Apache Web Server With a Thawte Digital Certificate

Implementing Secure Sockets Layer (SSL) on i

Network-Enabled Devices, AOS v.5.x.x. Content and Purpose of This Guide...1 User Management...2 Types of user accounts2

mod_ssl Cryptographic Techniques

Installing an SSL certificate on the InfoVaultz Cloud Appliance

2014 IBM Corporation

Exercises: FreeBSD: Apache and SSL: SANOG VI IP Services Workshop

Setting Up SSL on IIS6 for MEGA Advisor

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

TLS and SRTP for Skype Connect. Technical Datasheet

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

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

APACHE HTTP SERVER 2.2.8

Using EMC Unisphere in a Web Browsing Environment: Browser and Security Settings to Improve the Experience

Setting Up SSL From Client to Web Server and Plugin to WAS

RED HAT SECURE WEB SERVER 3.0 DEVELOPER EDITION FOR COBALT NETWORKS SERVERS

To install and configure SSL support on Tomcat 6, you need to follow these simple steps. For more information, read the rest of this HOW-TO.

Generating and Installing SSL Certificates on the Cisco ISA500

Creating Certificate Authorities and self-signed SSL certificates

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

Using etoken for SSL Web Authentication. SSL V3.0 Overview

Encrypted Connections

MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server

Enterprise SSL Support

Installing Dspace 1.8 on Ubuntu 12.04

esync - Receiving data over HTTPS

Clearswift Information Governance

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

Sun Java System Web Server 6.1 Using Self-Signed OpenSSL Certificate. Brent Wagner, Seeds of Genius October 2007

Installation Procedure SSL Certificates in IIS 7

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

Web Payment Security. A discussion of methods providing secure communication on the Internet. Zhao Huang Shahid Kahn

Building Customer Confidence through SSL Certificates and SuperCerts

Securing the OpenAdmin Tool for Informix web server with HTTPS

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Secure Sockets Layer (SSL ) / Transport Layer Security (TLS) Network Security Products S31213

Understanding Digital Certificates and Secure Sockets Layer (SSL)

How to configure SSL proxying in Zorp 3 F5

Administering mod_jk. To Enable mod_jk

By default, STRM provides an untrusted SSL certificate. You can replace the untrusted SSL certificate with a self-signed or trusted certificate.

Domino and Internet. Security. IBM Collaboration Solutions. Ask the Experts 12/16/2014

ERserver. iseries. Securing applications with SSL

CHAPTER 7 SSL CONFIGURATION AND TESTING

Table of Contents GEEK GUIDE APACHE WEB SERVERS AND SSL AUTHENTICATION

EventTracker Windows syslog User Guide

Secure Socket Layer (SSL) Machines included: Contents 1: Basic Overview

Overview. SSL Cryptography Overview CHAPTER 1

How to configure HTTPS proxying in Zorp 5

Integrated SSL Scanning

Cisco SSL Encryption Utility

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

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

Properties of Secure Network Communication

An Overview of the Secure Sockets Layer (SSL)

Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

Configuring TLS Security for Cloudera Manager

SSL: Paved With Good Intentions. Richard Moore


Understanding SSL/TLS

Application Note AN1502

Chapter 17. Transport-Level Security

(n)code Solutions CA A DIVISION OF GUJARAT NARMADA VALLEY FERTILIZERS COMPANY LIMITED P ROCEDURE F OR D OWNLOADING

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

Apache Server Implementation Guide

Secure Transfers. Contents. SSL-Based Services: HTTPS and FTPS 2. Generating A Certificate 2. Creating A Self-Signed Certificate 3

Building a Secure RedHat Apache Server HOWTO

SBClient SSL. Ehab AbuShmais

Installing an SSL Certificate Provided by a Certificate Authority (CA) on the BlueSecure Controller (BSC)

SolarWinds Technical Reference

ISM/ISC Middleware Module

Enable SSL in Go2Group SOAP Server

Configure SecureZIP for Windows for Entrust Entelligence Security Provider 7.x for Windows

CERTIFICATE-BASED SINGLE SIGN-ON FOR EMC MY DOCUMENTUM FOR MICROSOFT OUTLOOK USING CA SITEMINDER

ENABLING RPC OVER HTTPS CONNECTIONS TO M-FILES SERVER

Computer Networks. Secure Systems

Securing your Online Data Transfer with SSL

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

CTS2134 Introduction to Networking. Module Network Security

[SMO-SFO-ICO-PE-046-GU-

Managing the SSL Certificate for the ESRS HTTPS Listener Service Technical Notes P/N REV A01 January 14, 2011

Protect your CollabNet TeamForge site

ERserver. iseries. Secure Sockets Layer (SSL)

Configuration (X87) SAP Mobile Secure: SAP Afaria 7 SP5 September 2014 English. Building Block Configuration Guide

HP OpenView Adapter for SSL Using Radia

Tel: Tel: +44 (0) Comodo Group.

Cornerstones of Security


Configuring Secure Socket Layer and Client-Certificate Authentication on SAS 9.3 Enterprise BI Server Systems That Use Oracle WebLogic 10.

SSL/TLS: The Ugly Truth

Transcription:

Apache Security with SSL Using Linux These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/)

Some SSL background Invented by Netscape for secure commerce. Only available using Netscape and Netscape Commerce Server. Originally only one signing authority, RSA Data Security. Eric A. Young created SSLeay, an Open Source SSL implementation. OpenSSL project extends SSLeay for public use. RSA spun certificate services division to Verisign in 1995. Netscape and Microsoft decided to support multiple CA's. 1996 the IETF Transport Layer Security (TLS) task force was created. They published RFCs to support an open stream encryption standard. TLS is based on SSL version 3.0 with additions. TLS and SSL are just semantics.

What SSL Provides Secure communication between client and server. SSL protocol works on top of the TCP/IP layer and below the Application layer. Provides for authentication using certificates, multiple encryption cipher choices, methods to exchange session keys, and integrity checking. Server authentication almost always takes place. Client authentication is optional. Once authentication and handshaking are done then data is transmitted using the strongest mutually available cipher over TCP/IP. Weaker ciphers have resulted in some potential SSL security holes.

Apache+mod_ssl What is it? Together Apache and mod_ssl create a system of security with digital certificates that allows you to offer secure, encrypted connections to your web server. mod_ssl is an Apache module that adds secure sockets layer (ssl) and transport layer security (tls) between a web server and it's clients (web browsers).

What are we going to use? We'll use Apache Web server version 2.2 with mod_ssl. Apache currently runs about 50% o all web sites on the Internet: mod_ssl is the most popular method for using SSL with apache at this time.

And, the name? What does apache+mod_ssl mean? Any guesses?... Apache = A Patchwork of programs mod = Module (an Apache program) SSL = Secure Socket Layer

Digital certificates and signatures If you generate a local digital certificate you can pay a signing authority to verify your certificate and they'll send it back to you with their signature. With the signing authority's signature your certificate will be accepted by clients (web browsers) without additional prompts. A digitally signed certificate implies trust that you are who you say you are between your server and the clients who connect to it.

How a certificate request is done To generate a signed digital certificate from a commercial CA for your site (using Linux and openssl) you do the following: Generate your own public and private keys using openssl. Answer requested information for the CA you choose to use. Send your public key and information to the CA. The CA will verify you are who you say you are. The CA creates a signed, digital certificate with their private key, using your public key and additional information. The signed certificate is made available to you. You place the certificate file in the appropriate location. Apache will now use this for all https requests. If client browsers have the CA's public key, then a secure connection is made without additional prompting.

Issues with certificate requests Can you trust the Certificate Authority? Maybe you should sign your public key... Verisign bought Thawte. Verisign signs the majority of digital certificates. They are US-based. How does the CA know who you are? All these are good reasons to insist on expiration dates in certificates.

Creating a signed certificate locally Today we will sign our own certificate using our own private key. This can still be useful: Encrypts data. Deals with man-in-the middle attacks after the initial connection and certificate acceptance. It doesn't cost anything!

Installing support for SSL with Apache Use apt-get install apache2 This includes SSL by default Turn on ssl a2ensite default-ssl a2enmod ssl Restart the web server sudo service apache2 reload

Apache2 utilities a2enmod and a2dismod are available for enabling and disabling modules utilizing the above configuration system. a2ensite and a2dissite do essentially the same thing as the above tools, but for sites rather than modules.

Creating self-signed certificates When you install the ssl-cert package, a self-signed certificate will be automatically created using the hostname currently configured on your computer. You can recreate that certificate (e.g. after you have changed /etc/hosts or DNS to give the correct hostname) as user root with: make-ssl-cert generate-default-snakeoil --force-overwrite

Creating self-signed certificates To create more certificates with different host names, you can use: make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/cert-file.crt This will ask you for the hostname and place both SSL key and certificate in the file /etc/ssl/private/cert-file.crt. Use this file with the SSLCertificateFile directive in the Apache.The file /etc/ssl/private/cert-file.crt should only be readable by root.

Making the connection OK, so you have a server.crt (server certificate file and a server.key file (with our without a passphrase). Now what happens when someone actually connects to your sslenabled server? From http://www.iiitmk.ac.in/~courses/itm108/2004-winter/presentation/ssloverv.ppt 10 Steps to an SSL session Client wants document from secure server: https://some.server/document.html Server sends its certificate to the client.

Making the connection OK, so you have a server.crt (server certificate file and a server.key file (with our without a passphrase). Now what happens when someone actually connects to your sslenabled server? From http://www.iiitmk.ac.in/~courses/itm108/2004-winter/presentation/ssloverv.ppt 10 Steps to an SSL session Client wants document from secure server: https://some.server/document.html Server sends its certificate to the client.

Making the connection cont. 10 Steps to an SSL session continued... Checks if certificate was issued by trusted CA. Client compares information in the the certificate with site s public key and domain name. Client tells the server what Cipher suites it has available. The server picks the strongest mutually available cipher suite and notifies the client. The client then generates a session key, encrypts it using the server s public key and sends it to the server

Making the connection cont. 10 Steps to an SSL session continued... The server receives the encrypted session key and decrypts it using its private key. The client and the server use the session key to encrypt and decrypt the data they send to each other.

Solving problems If you cannot connect to the server check the following: Check if firewalling software is running and blocking access to port 443. Verify that Apache is listening for connections on port 443 using netstat -an grep LISTEN

Solving problems cont. See errors in: /var/log/apache2/*.log And, as always, you can use: http://www.google.com/ to look for other people having the same problem

Understanding SSL: Some resources Original Open Source version by Eric Young: http://www2.psy.uq.edu.au/~ftp/crypto/welcome.html Nice published resource: Web Security, Privacy & Commerce, 2nd. Ed. O'Reilly Press: http://www.oreilly.com/catalog/websec2/index.html Apache+mod_ssl: http://www.modssl.org/ The OpenSSL Project: http://www.openssl.org/

Conclusion The installation of Apache with mod_ssl permits you to run a secure web server. If you run webmail a secure serveressential is for your security and your client's security. Apache with mod_ssl => https. This is an extra load on your server. If you have many webmail clients you may need to plan accordingly. We'll take a look at some of the signing authorities in your web browser now. Without a signed certificate there is a fundamenta problem of trust when connecting to a server.

Exercises And, now let's install Apache with mod_ssl and generate our own local certificate that we'll sign usin our own private key...