Securizando el acceso al servidor de administración

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.

ldap2_1

El primer paso va a consistir en instalar el módulo ssl de apache y crear los directorios para claves y certificados.

ldap2_2

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.

ldap2_3

Una vez creada la CSR, la firmamos con la clave de la CA intermedia.

ldap2_4

ldap2_5

ldap2_6

Copiamos la cadena de certificados de la autoridad certificadora al directorio donde está el certificado y la clave privada:

ldap2_7

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.

ldap2_9

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:

ldap2_10

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:

ldap2_11

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:

ldap2_12

Una vez que re-arranco el servidor Apache, cualquier solicitud se redirige a HTTPS.

ldap2_13