Versión 2.5 del Servidor HTTP Apache
Descripción: | Autenticación HTTP Básica |
---|---|
Estado: | Base |
Identificador de Módulos: | auth_basic_module |
Fichero de Código Fuente: | mod_auth_basic.c |
Este módulo permite el uso de Autenticación HTTP Básica para restringir
acceso buscando usuarios en los proveedores configurados. La autenticación HTTP
Digest la facilita el módulo mod_auth_digest
. Este módulo
debería combinarse generalmente con al menos un módulo de autenticación como
mod_authn_file
y uno de autorización como mod_authz_user
.
Descripción: | Configura si se pasan autorización o autenticación a los módulos de más bajo nivel |
---|---|
Sintaxis: | AuthBasicAuthoritative On|Off |
Valor por defecto: | AuthBasicAuthoritative On |
Contexto: | directory, .htaccess |
Anula: | AuthConfig |
Estado: | Base |
Módulo: | mod_auth_basic |
Normalmente, cada módulo de autorización listado en
AuthBasicProvider
intentará vefificar el usuario y si el usuario no se encuentra en ningún proveedor, el acceso será denegado. Configurando la directiva
AuthBasicAuthoritative
de forma explícita a
Off
permite que ambos autenticación y autorización sean pasados a otros módulos no-proveedores si no hay ID de usuario o
regla coincidente para el ID de usario facilitado. Esto solo sería necesario cuando se combina mod_auth_basic
con módulos de terceros que no están configurados con la directiva
AuthBasicProvider
. Cuando se usan tales módulos, el orden de procesamiento se determina en el código fuente de los módulos y no es configurable.
Descripción: | Autenticación básica falsa usando las expresiones facilitadas para usario y contraseña |
---|---|
Sintaxis: | AuthBasicFake off|username [password] |
Valor por defecto: | none |
Contexto: | directory, .htaccess |
Anula: | AuthConfig |
Estado: | Base |
Módulo: | mod_auth_basic |
Compatibilidad: | Apache HTTP Server 2.4.5 y posteriores |
El usuario y contraseña especificados se combinan en una cabecera de Autorización, que se pasa al servidor o servicio detrás del servidor web. Ambos cambios usuario y contraseña son interpretrados usando el intérprete de expresión, que permite que tanto el usuario como la contraseña se basen en los parámetros solicitados.
Si la contraseña no se especifica, se utilizará el valor por defecto "password". Para desahabilitar la autenticación básica falsa para una URL, especifique "AuthBasicFake off".
En este ejemplo, enviamos un usuario y contraseña fijos a un servidor backend.
<Location "/demo"> AuthBasicFake demo demopass </Location>
En este ejemplo, pasamos la dirección de email extraida de un certificado cliente, extendiendo la opción de funcionalidad de FakeBasicAuth dentro de la directiva SSLOptions
. Como con la opción FakeBasicAuth, la contraseña se configura a la cadena de caracteres específica "password".
<Location "/secure"> AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" </Location>
Extendiendo el ejemplo de arriba, generamos una contraseña encriptando la dirección email con una contraseña fija, y pasando el resultado encriptado al servidor de backend. Este método se puede usar como puerta de acceso a sistemas antiguos que no dan soporte a certificados cliente.
<Location "/secure"> AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}" </Location>
<Location "/public"> AuthBasicFake off </Location>
Descripción: | Configura el/los proveedor/es de autenticación para esta ubicación |
---|---|
Sintaxis: | AuthBasicProvider provider-name
[provider-name] ... |
Valor por defecto: | AuthBasicProvider file |
Contexto: | directory, .htaccess |
Anula: | AuthConfig |
Estado: | Base |
Módulo: | mod_auth_basic |
La directiva AuthBasicProvider
configura qué proveedor
se usa para autenticar los usuarios en esta ubicación. El fichero
proveedor
por defecto se implementa con el módulo mod_authn_file
. Asegúrese de
que el proveedor elegido está presente en el servidor.
<Location "/secure"> AuthType basic AuthName "private area" AuthBasicProvider dbm AuthDBMType SDBM AuthDBMUserFile "/www/etc/dbmpasswd" Require valid-user </Location>
Se consulta a los proveedores en orden hasta que un proveedor encuentra una coincidencia para el nombre de usuario solicitado, y en este punto solo este proveedor intentará comprobar la contraseña. Un fallo al verificar la contraseña no provoca que el control se pase a los proveedores subsiguientes.
Los proveedores son implementados por mod_authn_dbm
,
mod_authn_file
, mod_authn_dbd
,
mod_authnz_ldap
y mod_authn_socache
.
Descripción: | Comprueba contraseñas en proveedores de autenticación como si la Autenticación Digest estuviera en uso en lugar de la Autenticación Básica. |
---|---|
Sintaxis: | AuthBasicUseDigestAlgorithm MD5|Off |
Valor por defecto: | AuthBasicUseDigestAlgorithm Off |
Contexto: | directory, .htaccess |
Anula: | AuthConfig |
Estado: | Base |
Módulo: | mod_auth_basic |
Compatibilidad: | Apache HTTP Server 2.4.7 y posteriores |
Normalmente, cuando se usa Autenticación Básica, los proveedores listados en
AuthBasicProvider
intentan verificar un usuario comprobando sus almacenes de datos para encontrar una coincidencia de nombre de usuario y contraseña asociados. Las contraseñas almacenadas generalmente están encriptadas, pero no necesariamente; cada proveedor puede usar su propio esquema de almacenamiento para contraseñas.
Cuando se usa
AuthDigestProvider
y Autenticación Digest, los proveedores realizan una comprobación similar para encontrar un nombre de usuario en sus almacenes de datos. Sin embargo, al contrario que en el caso de la Autenticación Básica, el valor asociado con cada nombre de usuario almacenado debe ser una cadena de caracteres encriptada compuesta del nombre de usuario, nombre real y contraseña. (Vea el
RFC 2617, Sección 3.2.2.2 para más detalles en el formato usado para la cadena de caracteres encriptada.)
Como consecuencia de la diferencia entre los valores almacenados entre la Autenticación Básica y la Digest, convertir desde Autenticación Digest a Autenticación Básica generalmente requiere que a todos los usuarios se les asigne nuevas contraseñas, puesto que sus contraseñas actuales no pueden ser recuperadas desde el esquema de almacenamiento de contraseñas impuesto en esos proveedores que soportan la Autenticación Digest.
Configurando la directiva
AuthBasicUseDigestAlgorithm
a
MD5
hará que se compruebe la contraseña del usuario de Autenticación Básica usando el mismo formato encriptado que para Autenticación Digest. Primero una cadena de caracteres que se compone del nombre de usuario, nombre real y contraseña es encriptada con MD5; entonces el usuario y esta cadena de caracteres encriptada se pasan a los proveedores listados en
AuthBasicProvider
como si
AuthType
fuera configurado como
Digest
y como si se estuviera usando la Autenticación Digest.
A través del uso de
AuthBasicUseDigestAlgorithm
un sitio puede pasar de Autenticación Digest a Básica sin requerir que a los usuarios se les asignen contraseñas nuevas.
AuthBasicUseDigestAlgorithm
está configurada a MD5
. El uso de otros proveedores dará como resultado una respuesta de error y se denegará el acceso al cliente.