En un post anterior hemos visto la configuración y despliegue de un servidor OpenLDAP en un servidor virtual dedicado y la instalación del paquete phpLDAPadmin desplegado en el servidor de administración del entorno lab. En este artículo me voy a centrar en cómo hacer seguro el acceso a ese servidor.
El acceso http al paquete phpLDAPadmin está habilitado pero voy a hacer que todos los accesos a las interfaces HTTP se realicen a través de https. Ahora que ya tengo mi propia autoridad certificadora, la parte de emisión de certificados está resuelta.
El primer paso va a consistir en instalar el módulo ssl de apache y crear los directorios para claves y certificados.
Vamos a crear una clave privada para el servidor y una solicitud de firma de certificado (CSR). Para evitar tener que introducir la contraseña de la clave cada vez que arranque apache, no voy a cifrar la clave privada.
Una vez creada la CSR, la firmamos con la clave de la CA intermedia.
Copiamos la cadena de certificados de la autoridad certificadora al directorio donde está el certificado y la clave privada:
A continuación habilitamos la configuración por defecto del virtual host SSL, editando el fichero default-ssl.conf y ajustando los valores de los objetos de cifrado (clave, certificado y cadena de certificados) a los particulares del entorno.
Rearrancamos el servicio apache y comprobamos que funciona HTTPS. Tras aceptar la excepción de seguridad (ya que se trata de un certificado autofirmado) podemos ver desde un cliente las características del certificado:
Ahora me queda por hacer que los accesos a las interfaces de nagios y phpLDAPadmin sean a través de https. Voy a comenzar con phpLDAPadmin, en primer lugar, edito el fichero de configuración de phpLDAPadmin (/etc/phpladapadmin/apache.conf) para Apache y establezco el alias para el acceso al sitio web:
Ahora voy a evitar que se pueda acceder a través de una conexión http forzando una redirección, para ello edito el fichero de configuración de apache (/etc/apache2/sites-enabled/000-default.conf) y añado la redirección permanente:
Una vez que re-arranco el servidor Apache, cualquier solicitud se redirige a HTTPS.