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.
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)
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
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.
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.