Configuración del Servidor WEB
C@mpus - @cademia Linux

Introducción 

En esta sección de encontrará como configurar un servidor WEB para ser utilizado por LXE. En general se cubrirá la parte sobre autentificación básica con el directorio.


Paquetes necesarios

  • Apache
  • Auth_LDAP

Configuración

La configuración que a continuación mostraremos se estará sujeta a el archivo .htaccess en donde radicará toda la información posible para autentificar contra el directorio.

httpd.conf o commonhttpd.conf
<Directory directorio>
  Options -Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

#Opcional
<Directory directorio_cgi>
  AllowOverride All
  Options ExecCGI
</Directory>
 

La línea Options indica a apache el comportamiento del directorio, independientemente de a qué dominio pertenezca. Los valores posibles son:

  • Indexes: Permite ver el contenido del directorio en caso de que no exista el archivo por defecto.
  • FllowSymLinks: Permite seguir los enlaces.
  • MultiViews: Ve el contenido iconificado.
  • ExecCGI: Asume que todo el contenido serán scrips ejecutables.

Allowoverride permite al directorio la existencia de un archivo .htaccess (nombre por defecto) y su contenido sobrescribirá los parámetros especificados anteriormente. Es muy importante que esta línea funcione puesto que de lo contrario los datos tendrían que ser inscritos dentro del tag <Directory> y se perdería dinamismo.

La línea Order indicará a apache el proceso de confianza/desconfianza para permitir el acceso al directorio.

Allow from permite discriminar el acceso al sitio dependiendo del sitio, los valores podrán ser none, all y direcciones IP o segmentos (los segmentos se especificarán de la forma 192.168.3. para indicar al segmento 192.168.3.0/24).

También habrá que modificar los scripts de inicio de apache para poder pasarle la directiva -DHAVE_AUTH_LDAP. Aunque se podrá omitir.

Una vez modificado los parámetros habrá que dar reinicio a apache con la línea:

service httpd restart


Módulo 

La mayoría de las distribuciones no traen pre-cargado el módulo de autentificación por LDAP de esta forma se tendrá que configurar manualmente.

En los archivos de configuración de Apache se tendrán que agregar las siguientes líneas:

Configuración del módulo
<IfDefine HAVE_AUTH_LDAP>
  LoadModule auth_ldap_module extramodules/auth_ldap.so
</IfDefine>

<IfDefine HAVE_AUTH_LDAP>
  AddModule auth_ldap.c
</IfDefine>

Si se omitió la directiva -DHAVE_AUTH_LDAP los tags <IfDefine> y </IfDefine> pueden ser omitidos.

Después de esto hay que recordar que apache debe ser reiniciado.


.htaccess 

De ahora en adelante se podrá crear el archivo .htaccess con las siguientes directivas para poder hacer funcionar la autentificación por el directorio. 

Configuración del archivo .htaccess

AuthName LXE
AuthLDAPEnabled on
AuthLDAPAuthoritative on
AuthLDAPURL ldap://192.168.3.1:389/base?atributo?alcance?(criterio)
AuthType Basic
Require valid-user
IndexIgnore .htaccess

Aunque en realidad el contenido de este archivo puede ser cualquiera sólo se cubrirá a lo que este documento importa.

La Directiva AuthName no tiene efecto alguno sobre la autentificación, sin embargo es obligatoria y se encarga de desplegar un mensaje en el cuadro de dialogo donde se piden la dupla usuario-contraseña. Generalmente se pone el nombre del servidor o el dominio al que se está inscrito para ayudar a saber qué dato es el que se introduce.

AuthLDAPEnabled sirve para indicar si la autentificación funcionará, en caso de estar en off se se omitirá pedir usuario-contraseña.

La línea AuthLDAPAuthoritative indica a apache si es obligatorio que este módulo pase la autentificación. Puesto que como pueden existir más de una forma de autentificación al mismo tiempo, al estar este valor en off indica que con que otro método valide correctamente se permitirá el acceso.

Los parámetros que se le pasan a AuthLDAPUrl indican en dónde y como buscará la autentificación el módulo. Todos los parámetros son opcionales excepto la dirección. Si se omite el parámetro puerto se asumirá que es el 389, que es el puerto estándar de LDAP. La base indicará a partir de dónde se buscará para autentificar, si se omite se empezará desde la base del directorio. La opción de atributo indica sobre cual buscará para encontrar al usuario. El alcance aplicará sobre la búsqueda y los posibles valores son sub, one y base para buscar todas las ramas inferiores las ramas, sólo en una rama inferior o solamente en la rama especificada respectivamente. Y por último el parámetro criterio que siempre deberá estar encerrado en paréntesis, este se utiliza en caso de tener más de un tipo de usuarios en una rama. Y se combinará con el parámetro uid=usuario como un AND para hacer la búsqueda.

Los demás valores no tienen que ver con el módulo de Auth_LDAP pero se platicarán rápidamente puesto que son básicos para su funcionamiento.

AuthType indica el tipo de autentificación, en este caso básica.

Requiere indica los usuarios o la condición, se pueden enumerar los usuarios explícitamente o poner la cláusula valid-user para cualquier usuario autentificado.

IndexIgnore indica los archivos los cuales apache no listará ni dará acceso aunque se pidan explícitamente por el navegador.

Una vez hecho esto la autentificación para acceder a sitios WEB estará completada. No es necesario reiniciar apache, esta es una ventaja sobre inscribir los datos en los archivos de configuración.

Si se desea obtener más información sobre el módulo se podrá visitar su sitio http://www.rudedog.org/auth_ldap/1.6/auth_ldap.html  en donde estarán más ejemplos y parámetros de configuración.