Curso avanzado de administración de sistemas Linux

Rafael Varela Pet

Unidad de Sistemas

Área de Tecnologías de la Información y Comunicaciones

Universidad de Santiago de Compostela

Versión 0.1

Curso avanzado de administración de sistemas Linux

Autentificación en Apache

Apache básico

Instalamos los paquetes

apache2-mpm-prefork

Configuración en /etc/apache2

sites-enabled / sites-available

mods-enabled / mods-avaliable

Autentificación simple basada en fichero

Crear directorio para las páginas
mkdir /var/www/privado

Crear fichero de claves
htpasswd -c /usr/local/etc/usuarios.htpasswd usuario
htpasswd /usr/local/etc/usuarios.htpasswd otrousuario

Editar /etc/apache2/sites-enabled/000-default
<Directory /var/www/privado>
AuthType Basic
AuthName "Zona privada"
AuthUserFile /usr/local/etc/usuarios.htpasswd
Require user otrousuario
</Directory>

Autentificación simple basada en fichero

AuthType Basic
Establece método de autentificación:

Basic (mod_auth): claves en claro

Digest (mod_auth_digest): más seguro

AuthName "Zona privada"
Establece el dominio (realm) de autentificación

AuthUserFile /usr/local/etc/usuarios.htpasswd
Problema de prestaciones con muchos usuarios

Require user otrousuario
Establece quién tiene acceso

Autentificación simple basada en fichero (2)

Podemos dar acceso por grupos

AuthGroupFile /usr/local/etc/grupos
Ejemplo:
administradores: profesor alumno1

Require group administradores

Podemos dar permiso a todos los usuarios del fichero:

Require valid-user

Autentificación Digest

Activamos el módulo auth_digest

Configuración apache:
<Location /privado2>
AuthType Digest
AuthName "Zona privada con digest"
AuthDigestDomain /privado2/
AuthDigestFile /usr/local/etc/usuarios.digest
Require valid-user
</Location>

Creamos los usuarios:
htdigest2 -c /usr/local/etc/usuarios.digest "Zona privada con digest" alumno

Apache y LDAP

Vamos a usar los módulos

mod_auth_ldap

mod_ldap
(Ya están incluidos en el paquete apache2-common)

Analizar previamente la estructura LDAP a la que nos vamos a conectar

Windows -> herramienta ldp

Linux -> gq, LDAPBrowser,

Apache y LDAP

Fase de autentificación:

Busca en el directorio una entrada cuyo código de usuario coincida con el que nos envía el cliente

Intenta conectarse con el DN y la clave suministrada

Fase de Autorización:

Pertenencia a grupo

Posesión de atributos

...

Apache y LDAP

Configuración apache:

AuthLDAPURL
ldap://host:port/basedn?atributo?ámbito?filtro

AuthLDAPBindDN / AuthLDAPBindPassword

Require:

Require valid-user

equire ldap-attribute employeeType=active

Apache y LDAP

Ejemplo:
<Location /privado3>
AuthType Basic
AuthName “Zona LDAP”
AuthLDAPUrl
ldap://USC-34B4EC782DC.probas.usc.es/dc=Probas,dc=usc,dc=es?userPrincipalName?sub
AuthLDAPBindDN "CN=samba,CN=Users,DC=probas,DC=usc,DC=es"
AuthLDAPBindPassword curso
require valid-user
</Location>

Apache

Curso avanzado de administración de sistemas Linux

Autor:
Rafael Varela Pet
Area de Tecnologías de la Información y Comunicaciones
Universidad de Santiago de Compostela

Rafael Varela Pet

2006-02-13T17:54:30