«CASificación» de Apache Web Server 2.4 «dockerizado»

0
2743

En este tutorial vamos a comprobar como podemos «CASificar» un servidor web como Apache Web Server para
restringir el acceso a recursos estáticos sin estar autenticado en CAS.

0. Índice de contenidos.


1. Introducción

Ya hemos hablado de CAS en otras ocasiones, este estandar de facto para la implementación de un SSO, esto es,
«me autentico una vez y entro en todos los sites corporativos».

Lo habitual es encontrarse o aplicaciones «CASificadas» o configuraciones de filtros de seguridad con Spring Security
validando los tickets de CAS.

En este tutorial vamos a comprobar como podemos «CASificar» un Apache Web Server para impedir el acceso a los recursos
estáticos (html, css o js) que puede albergar en él. Esa «CASificación» la realizaremos con el soporte del módulo
mod_auth_cas.

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 15′ (2.3 GHz Intel Core i7, 16GB DDR3).
  • Sistema Operativo: Mac OS Mavericks 10.9.4
  • Boot2docker 1.6.2
  • Apache Web Server httpd 2.4.12


3. Configuración.

Para realizar la prueba de concepto hemos reutilizado el contenedor docker que ya usamos para el tutorial de

Soporte de Web Sockets en Apache Web Server (httpd) sobre un contenedor Docker

almacenando una imagen en base al mismo:

A continuación creamos un nuevo contenedor en base a dicha imagen para mapear algún puerto adicional:

Una vez estamos dentro del contenedor debemos preparar el entorno de paquetes de linux necesario para compilar y
ejecutar nuestro módulo de Apache.

Una vez tenemos el entorno preparado podemos seguir la siguiente secuencia de comandos:

Creamos un directorio de trabajo:

Clonamos el repositorio de git que contiene el módulo mod_auth_cas y aquí tenemos dos opciones:

Nosotros necesitamos compatibilidad con la versión 2.4 y, a continuación, compilamos el módulo:

Una vez creado lo añadimos al directorio de módulos de apache modificando los permisos para que al arranque pueda leerlo.

Antes de entrar en la configuración de Apache vamos a crear un «área segura» que será la que securizaremos con el soporte de CAS:

Y, por simular algo más, una «página segura»

A continuación editamos la configuración de Apache:

Primero vamos a habilitar el soporte de SSL, descomentando la siguiente línea:

Y crearemos un certificado en el siguiente directorio:

Por último, en la misma configuración de Apache (httpd.conf) incluiremos la carga de nuestro módulo:

Debemos asegurarnos que el siguiente directorio tiene los permisos suficientes para que el proceso de Apache esrciba en él:

Ya solo nos queda reiniciar el servidor…


4. Referencias.


5. Conclusiones.

CASificado!

Un saludo.

Jose

Dejar respuesta

Please enter your comment!
Please enter your name here