NCSA CyberSecurity


Note: For printing purposes, you can SHOW ALL or HIDE ALL instructions.

Author: Terry Fleury (tfleury@ncsa.uiuc.edu)
Last Update: March 8, 2006

Implementation

While this document provides some high-level implementation recommendations, specific instructions are given for Fedora Core 4 as the base for the Apache Web Server. We hope to add more information as we test additional platforms and software versions.

Server Setup

Here we give instructions for building the server and configuring the software. Since we will be using the Apache Web Server, instructions are provided for a Linux server, specifically Fedora Core 4. As the Apache Web Server is available for (i.e. compiles on) various operating systems and architectures, it is assumed that this process can be applied to other systems. However, this assumption has not yet been tested.

In each step below, a 'general' instruction is given first, followed by a link for specific instructions. These specific instructions are initially hidden and can be viewed by clicking on the appropriate link.

  1. Install the operating system for your server.
    Instructions For Fedora Core 4...

  2. Install/update Apache Web Server and OpenSSL.
    At the minimum, you need to be using OpenSSL 0.9.7g since that is the first version with proxy certificate support. However, it is advised that you use OpenSSL 0.9.8a since that has many fixes and is what was used for testing. Once you have an appropriate version of OpenSSL installed, you can build install the Apache Web Server. At the minimum, you need to use httpd 2.0.x and make sure that mod_ssl is built against the appropriate version of OpenSSL. Ideally, you should install httpd 2.2.x since it contains numerous bug fixes and speed enhancements.
    Instructions For Fedora Core 4...

  3. Configure OpenSSL to allow proxy certificates.
    This can be done by setting the environment variable OPENSSL_ALLOW_PROXY_CERTS to 1.
    Instructions For Fedora Core 4...

  4. Obtain a certificate to secure your web server.
    There are several ways to secure your web server. You can obtain an SSL certificate from one of the many commercial certificate providers, for example VeriSign. This will allow users to connect to your website via an https:// connection without any annoying warning messages. You can obtain a free SSL certificate from CAcert.org. You can create a self-signed certificate which will generate a warning message for users, but otherwise provides a secure https connection. Finally, if you are at an organization which can act as a Certificate Authority (CA) such as NCSA, you can obtain a host certificate authorized by that organization.
    Instructions For NCSA-Signed Certificate...
    Instructions For CAcert.org...
    Instructions For Commercial SSL Certificate Provider...
    Instructions For Self-Signed Certificate...

  5. Install your host certificate and private key for the Apache Web Server.
    Instructions For Fedora Core 4...

  6. If necessary, install Certificate Authority files.
    If you obtained your host certificate from a commercial provider, you do not need to install any CA files since clients will have information on the commercial provider and accept their root CA as trusted. If you generated a self-signed certificate, you do not need to install any CA files since the certificate is not signed by any Certificate Authority.
    For Other Certificate Authorities...

  7. Configure the Apache Web Server for https (SSL) access.
    Instructions For Fedora Core 4...

  8. If you are running a firewall, allow access for http/https.
    Instructions For Fedora Core 4...

  9. Restart the Apache web server.
    Instructions For Fedora Core 4...
Once you have your server configured and running, you can test your server with Internet Explorer.