Como instalar un certificado SSL en Directadmin

En este articulo vamos a ver como proteger el acceso a Directadmin con SSL en el puerto predeterminado (2222).

El primer paso es acceder como root al servidor via SSH.

Instalando un certificado autogenerado:

Esta opcion si bien genera un certificado SSL no mostrara el icono del candado en el navegador, sin embargo es una opcion valida y sin costo:

Procedemos a  generar el certificado:

/usr/bin/openssl req -x509 -sha256 -newkey rsa:4096 -keyout /usr/local/directadmin/conf/cakey.pem -out /usr/local/directadmin/conf/cacert.pem -days 9000 -nodes

Le damos los permisos necesarios:

chown diradmin:diradmin /usr/local/directadmin/conf/cakey.pem
chmod 400 /usr/local/directadmin/conf/cakey.pem

Instalando un Certificado Gratuito de LetsEncrypt:

Esta es una excelente opcion que aunque utiliza un certificado gratuito si muestra el candado al navegar en Directadmin.

Si no tenemos instalado y activado LetsEncrypt vamos a hacerlo siguiendo estos pasos descritos en otro articulo.

Una vez instalado LetsEncrypt vamos a generar e instalar el certificado en Directadmin:

cd /usr/local/directadmin/scripts
./letsencrypt.sh request_single x.dominio.com 4096

cambiamos x.dominio.com por el hostname del servidor, por ejemplo: ns1.servidor.com, es imprescindible que ese hostname resuelva por DNS y apunte a la IP del servidor para que se pueda generar el certificado:

Vamos al directorio de configuracion:

cd /usr/local/directadmin/conf

Activamos el SSL:
perl -pi -e ‘s/SSL=0/SSL=1/’ directadmin.conf

Establecemos el Certificado:
echo «carootcert=/usr/local/directadmin/conf/carootcert.pem» >> directadmin.conf

Forzamos el hostname y la redireccion a SSL:
echo «force_hostname=x.dominio.com» >> directadmin.conf
echo «ssl_redirect_host=x.dominio.com» >> directadmin.conf

Reiniciamos Directadmin:
service directadmin restart

De este modo Directadmin quedara funcionando con un certificado SSL de LetsEncrypt 100% valido.

Instalando un certificado de pago:

Si ya tenemos un certificado emitido por alguna entidad reconocida vamos a instalarlo simplemente editando los archivos que contienen la llave y el certificado como tal, esos archivos son:

Certificado:  /usr/local/directadmin/conf/cacert.pem
Llave: /usr/local/directadmin/conf/cakey.pem

Debemos tambien editar el archivo de configuracion de Directadmin en: /usr/local/directadmin/conf/directadmin.conf y establecer SSL=1. Esto le dira a Directadmin que debe leer el certificado y activarlo.

Si tambien disponemos de Certificado CA de Raiz, debemos especificar la ubicacion en directadmin.conf agregando la linea:

carootcert=/usr/local/directadmin/conf/carootcert.pem

y copiando, claro, el contenido del certificado raiz en ese archivo (carootcert.pem)

Procedemos a reiniciar Directadmin y hemos finalizado el proceso.