rrc2software Blog Proyectos
rrc2software Blog Proyectos

Autenticación de acceso básica en Apache HTTP Server

Una de las formas más sencillas de proteger el acceso a un sitio Web es mediante la utilización de la Autentificación de acceso básica. Mediante el uso de esta técnica se permite el intercambio de un usuario y contraseña entre el navegador Web del usuario y el servidor.

IMPORTANTE Dado que las credenciales se envían "en claro" por la red, este método es inseguro y debe utilizarse conjuntamente con HTTPS.

A continuación se muestran varias opciones de implementación:

Autentificación contra un archivo de contraseñas

Requisitos: mod_auth_basic, mod_authn_file, mod_authz_user

Este método utiliza un archivo de usuarios y contraseñas generado por la utilidad htpasswd.

<Directory /path/to/site>
    AuthType Basic
    AuthName "Área restringida - Se requiere autentificación"
    AuthBasicProvider file
    AuthUserFile /etc/httpd/.htpasswd
    Require valid-user
</Directory>

Autentificación y autorización contra archivos de contraseñas y grupos

Requisitos: mod_auth_basic, mod_authn_file, mod_authz_groupfile, mod_authz_user

Este método utiliza:

  • Un archivo de usuarios y contraseñas (generado por la utilidad htpasswd) para la autentificación.
  • Un archivo de grupos y membresías para la autorización. El formato de este archivo está compuesto por el nombre del grupo seguido de dos puntos y una lista de los usuarios que pertenecen al grupo, separados por espacios:
    grupo: usuario_1 usuario_2 ... usuario_n
<Directory /path/to/site>
    AuthType Basic
    AuthName "Área restringida - Se requiere autentificación"
    AuthBasicProvider file
    AuthUserFile /etc/httpd/.htpasswd
    AuthGroupFile /etc/httpd/.groups
    Require group {grupo}
</Directory>

Autentificación contra un Directorio Activo

Requisitos: mod_auth_basic, mod_authnz_ldap, mod_authz_user

Este método autentifica contra un Directorio Activo, comprobando que el usuario esté dado de alta en él.

<Directory /path/to/site>
    AuthType Basic
    AuthName "Área restringida - Se requiere autentificación"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://example.domain:389/CN=Users,DC=example,DC=domain?sAMAccountName?sub?(objectClass=*)"
    AuthLDAPBindDN "{usuario de solo-lectura}@example.domain"
    AuthLDAPBindPassword {contraseña}
    Require valid-user
</Directory>

Autentificación y autorización contra un Directorio Activo

Requisitos: mod_auth_basic, mod_authnz_ldap

Este método autentifica contra un Directorio Activo, comprobando que el usuario esté dado de alta en él y sea miembro de un grupo en concreto.

<Directory /path/to/site>
    AuthType Basic
    AuthName "Área restringida - Se requiere autentificación"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://example.domain/CN=Users,DC=example,DC=domain?sAMAccountName?sub?(objectClass=*)"
    AuthLDAPBindDN "{usuario de solo-lectura}@example.domain"
    AuthLDAPBindPassword {contraseña}
    AuthLDAPGroupAttributeIsDN on
    AuthLDAPGroupAttribute member
    AuthLDAPMaxSubGroupDepth 10
    Require ldap-group "CN={Grupo de usuarios del sitio Web},DC=example,DC=com"
</Directory>
Tweet Share Share Pin Share Email

Última modificación: Feb 17, 2021

Volver al inicio