System PreparationAdd the Moonshot librariesIf you have not already done so, you first need to follow the instructions on how to install the Moonshot Libraries on Debian 7. Installation InstructionsTo use the Apache module, install it and the MIT Kerberos client package: $ apt-get install krb5-user apache2-mpm-prefork libapache2-mod-auth-gssapi |
To install the Apache module, issue the following command (or create the appropriate symlinks manually): Add a dummy Kerberos key to make the module happy: $ ktutil
ktutil: addent -password -p HTTP/localhost@YOUR-WEBSERVER-HOSTNAME -k 1 -e aes256-cts
<enter any password>
ktutil: wkt /etc/apache2/krb5.keytab
ktutil: quit |
Export the location of the keytab file into Apache's config: $ echo export KRB5_KTNAME=/etc/apache2/krb5.keytab >> /etc/apache2/envvars |
Assign the correct permissions to the keytab file: $ chown www-data /etc/apache2/krb5.keytab |
Ensure that the certificates referenced in /etc/radsec.conf can be read by the Apache user: $ su - --shell=/bin/bash www-data
$ cat path_to_ca.pem
$ cat path_to_client.pem
$ cat path_to_client.key |
Verify that the KeepAlive option is enabled in the Apache configuration file /etc/apache2/apache2.conf : Restart Apache: $ service apache2 restart |
Configuration InstructionsPlease note that this module is currently not compatible with the Shibboleth2 service provider Apache module. When testing or using the Moonshot module, disable the Shibboleth module and restart the webserver before attempting your test. We are attempting to resolve this problem. |
Protecting a location with MoonshotTo protect a particular location on your Apache server, you must configure it with an AuthType of "Negotiate". To allow anyone with a valid Moonshot account to access /wherever , you would do the following: <Location "/wherever">
AuthType Negotiate
Require valid-user
</Location> |
|
Populating REMOTE_USERWeb services often rely on the REMOTE_USER Apache environment variable for user information, such as a local user account or a pseudonymous identifier. To populate REMOTE_USER , update the reply from the RP Proxy with the User-Name RADIUS attribute in the RP Proxy's post-auth section: update reply {
User-Name := "content"
} |
HTTPS Internet Explorer compatibilityFor updated best practice with Internet Explorer connections, you should also read Microsoft's HTTPS and Keep-Alive Connections article. |