Apache HTTP Server Version 1.3

Module mod_auth_udp

This module is contained in the auth_udp/mod_auth_udp.c file, and is not part of the standard distribution. It provides for user authentication using an external server, which is contacted via an udp socket.

The server, is an external process, that even may reside on a different machine. It runs independently from the httpd.

AuthUDPHost

Syntax: AuthUDPHost hostname
Context: directory, .htaccess
Override: AuthConfig
Status: Extension
Module: mod_auth_udp

The AuthUDPHost names the host on wich the udpauthserver is running. To avoid DNS-lookups and possible DNS-spoofing attacks you can also use an IP-adress.

Default: 127.0.0.1 (localhost)


AuthUDPPort

Syntax: AuthUDPPort portnumber
Context: directory, .htaccess
Override: AuthConfig
Status: Extension
Module: mod_auth_dbm

The AuthUDPPort sets the UDP-portnumber the udpauthserver is listening.

Default: 2233


AuthUDPSendPassword

Syntax: AuthUDPSendPassword < on | off(default) >
Context: directory, .htaccess
Override: AuthConfig
Status: Extension
Module: mod_auth_udp

Setting AuthUDPSendPassword to on forces the module to send the - unencrypted - password that is supplied by the user to the udpauthserver. Checking is then done within the server.

Default: By default, only the username ist sent to the server. The server than responds with the encrypted password.

Security: Normally sending the password to the udpauthserver is an unnessecary risk. Thus the default is off.


AuthUDPAuthoritative

Syntax: AuthUDPAuthoritative < on(default) | off >
Context: directory, .htaccess
Override: AuthConfig
Status: Extension
Module: mod_auth_udp

Setting the AuthUDPAuthoritative directive explicitly to 'off' allows for both authentication and authorization to be passed on to lower level modules (as defined in the Configuration and modules.c file if there is no userID or rule matching the supplied userID. If there is a userID and/or rule specified; the usual password and access checks will be applied and a failure will give an Authorization Required reply.

So if a userID appears in the database of more than one module; or if a valid require directive applies to more than one module; then the first module will verify the credentials; and no access is passed on; regardless of the AuthAuthoritative setting.

A common use for this is in conjunction with one of the basic auth modules; such as mod_auth.c. Whereas this UDP module supplies the bulk of the user credential checking; a few (administrator) related accesses fall through to a lower level with a well protected .htpasswd file.

Default: By default; control is not passed on; and an unknown userID or rule will result in an Authorization Required reply. Not setting it thus keeps the system secure; and forces an NCSA compliant behaviour.

Security: Do consider the implications of allowing a user to allow fall-through in his .htaccess file; and verify that this is really what you want; Generally it is easier to just secure a single .htpasswd file, than it is to secure a database which might have more access interfaces.


Apache HTTP Server Version 1.3