# $Id: README,v 1.5 2007/12/08 03:26:51 atobey Exp $

In order to install and use this package you will need Perl version 5.6 or better, mod_perl2, libapreq (Apache2::Request), Crypt::CBC, Crypt::Blowfish and Authen::ACE.

Installation as usual:

perl Makefile.PL
make
make test
make install

There are three components to Apache::AuthenSecurID.

Apache::AuthenSecurID
Apache::AuthenSecurID::Auth
ace_initd

There are support files for Redhat-based systems in the redhat directory.

NAME

Apache2::AuthenSecurID - Authentication via a SecurID server

SYNOPSIS

# Configuration in httpd.conf or access.conf

PerlModule Apache2::AuthenSecurID

<Location /secure/directory> AuthName SecurID AuthType Basic

PerlAuthenHandler Apache2::AuthenSecurID

     PerlSetVar AuthCryptKey Encryption_Key 
     PerlSetVar AuthCookie Name_of_Authentication_Cookie 
     PerlSetVar AuthUserCookie Name_of_Username_Authentication_Cookie 
     PerlSetVar AuthCookiePath /path/of/authentication/cookie
     PerlSetVar AuthCookieTimeOut 30 
     PerlSetVar Auth_Handler /path/of/authentication/handler

     require valid-user

</Location>

DESCRIPTION

This module allows authentication against a SecurID server. It detects whether a user has a valid encrypted cookie containing their username and last activity time stamp. If the cookie is valid the module will change the activity timestamp to the present time, encrypt and send the cookie. If the cookie is not valid the module will redirect to the authentication handler to prompt for username and passcode.

LIST OF TOKENS

CONFIGURATION

The module should be loaded upon startup of the Apache daemon. Add the following line to your httpd.conf:

PerlModule Apache2::AuthenSecurID

PREREQUISITES

For AuthenSecurID you need to enable the appropriate call-back hook when making mod_perl:

perl Makefile.PL PERL_AUTHEN=1

AuthenSecurID requires Crypt::Blowfish and Crypt::CBC.

SEE ALSO

Apache, mod_perl, Authen::ACE Apache2::AuthenSecurID::Auth

AUTHORS

COPYRIGHT

The Apache2::AuthenSecurID module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

NAME

Apache2::AuthenSecurID::Auth - Authentication handler for Apache2::AuthenSecurID

SYNOPSIS

# Configuration in httpd.conf

<Location /path/of/authentication/handler> SetHandler perl-script PerlHandler Apache2::AuthenSecurID::Auth

       PerlSetVar AuthCryptKey Encryption_Key
       PerlSetVar AuthCookie Name_of_Authentication_Cookie
       PerlSetVar AuthUserCookie Name_of_Username_Authentication_Cookie
       PerlSetVar AuthCookiePath /path/of/authentication/cookie
       PerlSetVar AuthApacheCookie Apache_Cookie
       PerlSetVar ace_initd_server name.of.ace.handler.server.com
       PerlSetVar ace_initd_port 1969

</Location>

DESCRIPTION

This module allows authentication against a SecurID server. A request is redirected to this handler if the authentication cookie does not exist or is no longer valid. The handler will prompt for username and passcode. It will then construct and encrypt a UDP packet and send it to the Ace request daemon. This is necessary since libsdiclient.a needs to persist for NEXT TOKEN MODE and SET PIN MODE. If the authentication is valid an encrypted Authentication Cookie is set and the request is redirected to the originating URI. If the user needs to enter NEXT TOKEN or set their PIN they will be prompted to do so and if valid the request is then redirected to the originating URI.

LIST OF TOKENS

CONFIGURATION

The module should be loaded upon startup of the Apache daemon. Add the following line to your httpd.conf:

PerlModule Apache2::AuthenSecurID::Auth

PREREQUISITES

For AuthenSecurID::Auth you need to enable the appropriate call-back hook when making mod_perl:

perl Makefile.PL PERL_AUTHEN=1

AuthenSecurID::Auth requires Crypt::Blowfish and Crypt::CBC.

For AuthenSecurID::Auth to properly track users mod_usertrack must be compiled and enabled.

SEE ALSO

Apache, mod_perl, Authen::ACE Apache2::AuthenSecurID::Auth

AUTHORS

COPYRIGHT

The Apache2::AuthenSecurID::Auth module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

NAME

ace_initd - ACE Authentication daemon for Apache::AuthenSecurID::Auth

SYNOPSIS

nohup ./ace_initd --listen=127.0.0.1 --facility=local2 --secret=123456 --port=1969 --var_ace=/var/ace

DESCRIPTION

This daemon handles the ACE authentication requests for the Apache::SecurID::Auth module. It is a single threaded, single fork server that listens on a specified UDP port. Incoming requests are decrypted and requests forwarded to the ACE server. If a specific request is in either in NEXT TOKEN MODE or SET PIN MODE the Authen::ACE object is not deleted. It is instead kept in memory to handle those specific requests later.

LIST OF TOKENS

CONFIGURATION

Either run from the command line;

prompt$ nohup ./ace_initd &

or write the appropriate scripts in the /etc/rc directories.

PREREQUISITES

ace_initd requires Crypt::Blowfish, Crypt::CBC and Authen::ACE.

SEE ALSO

Authen::ACE Apache::AuthenSecurID Apache::AuthenSecurID::Auth

AUTHORS

COPYRIGHT

ace_initd is free software; you can redistribute it and/or modify it under the same terms as Perl itself.