<-
Apache > Servidor HTTP > Documentación > Versión 2.5 > Módulos

Módulo Apache mod_auth_basic

Idiomas disponibles:  en  |  es  |  fr  |  ja  |  ko 

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

Resumen de contenidos

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.

Directivas

Lista de comprobación de errores corregidos

Consulte también

top

Directiva AuthBasicAuthoritative

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.

top

Directiva AuthBasicFake

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.

Fixed Example

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

Ejemplo de Certificado

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

Ejemplo de Contraseña

<Location "/secure">
    AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}"
</Location>

Ejemplo de Exclusión

<Location "/public">
    AuthBasicFake off
</Location>
top

Directiva AuthBasicProvider

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.

Ejemplo

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

top

Directiva AuthBasicUseDigestAlgorithm

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.

El método inverso de cambiar de Autenticación Básica a Digest sin asignar nuevas contraseñas generalmente no es posible. Solo si las contraseñas de la Autenticación Básica se han almacenado en texto plano o con un esquema de encriptación reversible sería posible recuperarlas y generar un nuevo almacén de datos siguiendo el esquema de almacenamiento de contraseñas de Autenticación Digest.
Solo proveedores que dan soporte a Autenticación Digest podrán autenticar usuarios cuando AuthBasicUseDigestAlgorithm está configurada a MD5. El uso de otros proveedores dará como resultado una respuesta de error y se denegará el acceso al cliente.

Idiomas disponibles:  en  |  es  |  fr  |  ja  |  ko 

top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.