Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Use stock httpd RPM install (standard NIST install)
  • Install mod_ssl and mod_auth_kerb RPMs:
    No Format
    # yum install mod_ssl
    # yum install mod_auth_kerb
    
Configure

Current versions of the various httpd configuration files can be obtained in the touchstone locker, in /mit/touchstone/config/idp2-core/httpd/. The changes to the standard stock versions include:

  • In /etc/httpd/conf/httpd.conf, set ServerName:
    No Format
    ServerName idp.mit.edu:80
    
    and set the UseCanonicalName option to On:
    No Format
    UseCanonicalName On
    
  • Disable the stock "Welcome" page, by commenting out the lines in /etc/httpd/conf.d/welcome.conf
  • In /etc/httpd/conf.d/ssl.conf, set the SSLRandomSeed options:
    No Format
    SSLRandomSeed startup file:/dev/urandom 1024
    SSLRandomSeed connect file:/dev/urandom 1024
    
    within the VirtualHost block, set the ServerName:
    No Format
    ServerName idp.mit.edu:443
    
    set the SSL cipher suite:
    No Format
    SSLCipherSuite HIGH:MEDIUM:EXP:!aNULL:!SSLv2:+SHA1:+MD5:+HIGH:+MEDIUM:+EXP
    
    Install the server certificate, key, and CA files in /etc/pki/tls/certs/ and /etc/pki/tls/private/, as appropriate, and set the paths in ssl.conf:
    No Format
    SSLCertificateFile /etc/pki/tls/certs/idp-staging.mit.edu-cert.pem
    SSLCertificateKeyFile /etc/pki/tls/private/idp-staging.mit.edu-key.pem
    SSLCertificateChainFile /etc/pki/tls/certs/EquifaxCA.pem
    SSLCACertificateFile /etc/pki/tls/certs/mitCAclient.pem
    
    set the SSL options:
    No Format
    SSLOptions +StrictRequire
    
    configure custom logging:
    No Format
     CustomLog logs/ssl_request_log \
              "%t %h %{HTTPS}x %{SSL_PROTOCOL}x %{SSL_CIPHER}x %{SSL_CIPHER_USEKEYSIZE}x %{SSL_CLIENT_VERIFY}x \"%r\" %b"
    
    ensure that all access is via SSL:
    No Format
    <Directory />
        SSLRequireSSL
    </Directory>
    
    ensure that all rewrite rules are inherited:
    No Format
    RewriteEngine On
    RewriteOptions inherit
    
  • Install an HTTP keytab in /etc/httpd/conf/keytab; it must be readable by (only) the apache user. This is used for authentication by HTTP/SPNEGO, as configured in /etc/httpd/conf.d/auth_kerb.conf; install this .conf file auth_kerb.con.
  • Install cert-authn.conf from the touchstone locker (XXX), which sets :
  • Install these additional conf files from the touchstone locker (/mit/touchstone/config/idp2-core/) in /etc/httpd/conf.d:
    • auth_kerb.conf
      This configures authentication by HTTP/SPNEGO (replaces version installed by mod_auth_kerb).
    • cert-authn.conf
      This sets up the separate virtual hosts for certificate authentication on ports 446 and 447 (for certificate optional and required, respectively).
    • idp-attr-query.conf
      This sets up the vhosts for back-channel attribute queries on ports 8443 and 8444.
    • idp-rewrite.conf
      This adds various rewrite rules for compatibility, etc.
    • proxy_ajp.conf
      Configures the AJP proxy module for the idp webapp (replaces version installed by httpd).
    • ssl.conf (see above)
    • welcome.conf (see above)
  • SELinux context mappings must be added for the non-standard ports configured for certificate authentication and attribute query, so that httpd can use them:
    No Format
    # semanage port -a -t http_port_t -p tcp 446
    # semanage port -a -t http_port_t -p tcp 447
    # semanage port -a -t http_port_t -p tcp 8444
    
    Disable the stock "Welcome" page, by commenting out the lines in /etc/httpd/conf.d/welcome.conf
  • Install our standard robots.txt and favicon.ico files in /var/www/html. The robots.txt should disallow all access:
    No Format
    User-agent: *
    Disallow: /
    
    Current versions of these files may be found in the touchstone locker, in /mit/touchstone/config/htdocs/.
  • Make sure httpd is started at boot time:
    No Format
    # chkconfig httpd on
    

...