Versión 2.5 del Servidor HTTP Apache

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

- httpd historial de cambios
- Problemas Conocidos
- Reportar un error

### Consulte también

- `AuthName`
- `AuthType`
- `Require`
- Authentication howto
- Comentarios

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

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

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

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

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