Apache, GNU/Linux

Autentificación HTTP con Apache – Parte I

 apache

La autentificación es cualquier proceso mediante el cual se verifica que alguien es quien dice ser. La autorización es cualquier proceso por el cual a alguien se le permite estar donde tiene que estar, o tener la información que debe tener.

INTRODUCCIÓN

En ocasiones es necesario solo como una de las tantas medidas de seguridad que existen, restringir el acceso a ciertas carpetas que contengan información sensible a la que solamente un grupo restringido de usuarios puede tener acceso.

Se usarán los conceptos de HTTPS, SSL, TLS, si se desea saber sobre ellos se puede visitar a la sabia wikipedia:

http://es.wikipedia.org/wiki/HTTPS 

http://es.wikipedia.org/wiki/Transport_Layer_Security

COMPROBACIÓN DE LOS MODULOS

Partimos que tenemos ya implementado el servidor apache tras haber instalado el paquete de XAMPP (si no, ver aqui).

Esta vez veremos como asegurarnos que dicha información sea vista por las personas que nosotros queramos que la vean.

Para realizar la autentificación necesitamos tener cargados los siguientes modulos:

  1. mod_auth.so: para autenticación básica.
  2. mod_auth_digest.so: para autenticación con el método digest (usuario y password encriptados).
  3. mod_ssl.so: para poder activar SSL (https).

Para ello podemos abrir un Terminal, desplazarnos a la carpeta /opt/lampp/bin y teclear:

windoctor@windoc-laptop: ./httpd -t -D DUMP_MODULES

Nos aparecerá una lista con los modulos que Apache tiene cargados. XAMPP por default ya los trae compilados y cargados. Para comprobarlo buscamos en dicha lista que aparezcan:

  • auth_basic_module (shared)
  • auth_digest_module (shared)
  • ssl_module (shared)

En caso que alguno de ellos no aparezcan entonces deberemos verificar que en la carpeta /opt/lampp/modules se encuentren esos tres modulos que tienen la extensión .so y verificar que en el archivo de configuración de apache se encuentren cargados dichos modulos sin la almoadilla (#).

Para entrar al archivo de configuración httpd.conf tecleamos:

sudo gedit /opt/lampp/etc/httpd.conf

y entonces verificar que no este comentada la línea que carga dichos modulos, por ejemplo:

#LoadModule ssl_module modules/mod_ssl.so

Si estuviera así, basta con quitarle el signo de #. En caso de que alguno de los tres modulos no estuviera ni siquiera comentado, solo deberiamos agregarlo (siempre y cuando el modulo se encuentre en la carpeta de modules).

Reiniciamos Apache (.lampp restart) y si todo esta bien pues obviamente no obtendremos ningún error

—– usuarios que no usaron XAMPP o algún otro paquete ———

en caso de que tengas hayas instalado Apache, PHP, MySQL, de manera separada es muy posible que los dos últimos modulos no se encuentren, para averiguarlo, dirigete a la carpeta bin y teclea el comando

./httpd -l

mod_auth.c debería aparecer, ya que se trata de una opción por defecto. Si los otros dos módulos no aparecen tendremos que recompilar Apache.Para compilar Apache con soporte SSL es necesario tener instalado los fuentes de openssl, ya que al compilar se necesitan los ficheros de cabecera (.h). También necesitamos tener instalado openssl para poder trabajar con los certificados.Para instalar ambos paquetes basta con ejecutar:# apt-get install openssl libssl-devAhora ya estamos listos para recompilar nuestro Apache. Nos situamos en el directorio donde tentemos los fuentes de Apache y usamos los siguientes comando:

# ./configure –prefix=/usr/local/apache2 –with-mpm=prefork –enable-so –enable-auth-digest –enable-ssl
# make
# make install

————————————————————————————–

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s