SSL Certificados · 6 min read · Sep 25, 2025

Asegurando Tu Instalación de ISPConfig 3 Con Un Certificado SSL Clase1 Gratuito De StartSSL

Este tutorial muestra cómo puedes usar un certificado SSL Clase1 gratuito de StartSSL para asegurar tu instalación de ISPConfig 3 y deshacerte de las advertencias de certificados autofirmados. La guía cubre el uso del certificado SSL para la interfaz web de ISPConfig (tanto Apache2 como nginx), Postfix (para conexiones TLS), Courier y Dovecot (para POP3s e IMAPs), y PureFTPd (para conexiones TLS/FTPES). Si has instalado monit y usas HTTPS para su interfaz web, también te mostraré cómo usar el certificado de StartSSL para ello. Esta guía asume que usas Debian o Ubuntu; el principio es el mismo para otras distribuciones soportadas por ISPConfig 3, pero las rutas pueden diferir.

ACTUALIZACIÓN 20/12/2017

La CA de StartSSL ya no es confiable para los navegadores y dejará de emitir certificados SSL el 1 de enero de 2018. Hay una buena alternativa disponible hoy, usa Let’s Encrypt en lugar de StartSSL para obtener un certificado SSL gratuito. Aquí puedes encontrar instrucciones sobre cómo usar un certificado SSL de Let’s Encrypt para ISPConfig, Postfix, Dovecot, Courier, Monit y PureFTPD:

https://www.howtoforge.com/community/threads/securing-ispconfig-3-control-panel-port-8080-with-lets-encrypt-free-ssl.75554/

1 Nota Preliminar

Asumo que has utilizado una de las guías de http://www.ispconfig.org/ispconfig-3/documentation/ para configurar tu sistema. Como mencioné antes, me concentraré en Debian/Ubuntu en esta guía, pero debería funcionar para otras distribuciones soportadas por ISPconfig 3 también (aunque puede que tengas que ajustar algunas rutas).

Usaré el nombre de host server1.example.com aquí; StartSSL te permite crear el certificado Clase1 para el dominio principal y un subdominio, así que crearé el certificado para example.com y server1.example.com. Esto significa que debes decirles a tus usuarios que usen el dominio principal example.com o el subdominio server1.example.com para todos los servicios (interfaz web de ISPConfig, Postfix, Courier/Dovecot, PureFTPD, etc.) porque de lo contrario recibirán advertencias de certificado.

Si prefieres usar nombres de host diferentes para tus servicios (por ejemplo, mail.example.com para Postfix, ispconfig.example.com para ISPConfig, etc.), te sugiero que obtengas un certificado Clase2 de StartSSL. No es gratuito, pero te permite crearlo para múltiples subdominios (incluso puedes usar *.example.com para crearlo para todos los subdominios) e incluso múltiples dominios. Las instrucciones son las mismas, excepto que cuando use el certificado intermedio sub.class 1.server.ca.pem de StartSSL, debes usar sub.class 2.server.ca.pem en su lugar. Resaltaré esta diferencia a lo largo del tutorial.

Estoy ejecutando todos los pasos de este tutorial con privilegios de root, así que asegúrate de estar conectado como root. Si usas Ubuntu, ejecuta…

sudo su

… para obtener privilegios de root.

2 Creando Una Solicitud de Firma de Certificado (CSR)

Necesitamos una Solicitud de Firma de Certificado (CSR) para obtener un certificado SSL de StartSSL. Dado que el instalador de ISPConfig (para versiones >= 3.0.4) crea esto de todos modos, usaré esta CSR como base para cifrar todos los servicios (ISPConfig, Postfix, etc.).

Desde la versión 3.0.4 de ISPConfig, el instalador de ISPConfig ofrece la opción de usar cifrado SSL para la interfaz web de ISPConfig, crea un certificado autofirmado (4096bits) incluyendo una CSR si respondes a la siguiente pregunta con ENTER o y:

¿Quieres una conexión segura (SSL) a la interfaz web de ISPConfig (y,n) [y]: <– ENTER

Para hacer que el instalador de ISPConfig cree la CSR con los datos correctos, debes ingresar los detalles correctos cuando veas estas preguntas:

Generando clave privada RSA, módulo de 4096 bits ……………………………………………………++ ……………………………………………………………++ e es 65537 (0x10001) Estás a punto de ser preguntado para ingresar información que será incorporada en tu solicitud de certificado. Lo que estás a punto de ingresar se llama un Nombre Distinguido o DN. Hay bastantes campos, pero puedes dejar algunos en blanco Para algunos campos habrá un valor predeterminado, Si ingresas ‘.’, el campo quedará en blanco.


Nombre del País (código de 2 letras) [AU]: <– DE Nombre del Estado o Provincia (nombre completo) [Some-State]: <– Niedersachsen Nombre de la Localidad (por ejemplo, ciudad) []: <– Lueneburg Nombre de la Organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <– My Company Ltd. Nombre de la Unidad Organizativa (por ejemplo, sección) []: <– IT Nombre Común (por ejemplo, TU nombre) []: <– example.com Dirección de Correo Electrónico []: <– [email protected]

Por favor ingresa los siguientes atributos ‘extra’ que se enviarán con tu solicitud de certificado Una contraseña de desafío []: <– ENTER Un nombre de empresa opcional []: <– ENTER escribiendo clave RSA

Si inicialmente has creado el certificado con los datos incorrectos, puedes actualizar ISPConfig ejecutando…

ispconfig_update.sh

…, o, si ya tienes instalada la última versión, ejecuta los siguientes comandos:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.php

Esto te permitirá crear un nuevo certificado para tu interfaz web de ISPConfig 3 respondiendo a la siguiente pregunta con sí:

Crear nuevo certificado SSL de ISPConfig (sí,no) [no]: <– sí

Si usas una versión de ISPConfig anterior a 3.0.4, ahora deberías actualizar a la última versión estable ejecutando…

ispconfig_update.sh

Esto también te permitirá crear una conexión SSL para tu interfaz web de ISPConfig 3 respondiendo a la siguiente pregunta con sí:

Crear nuevo certificado SSL de ISPConfig (sí,no) [no]: <– sí

Como se mencionó anteriormente, asegúrate de ingresar los detalles correctos.

Después, deberías tener una clave SSL, una CSR y un certificado autofirmado en el directorio /usr/local/ispconfig/interface/ssl/:

ls -l /usr/local/ispconfig/interface/ssl/
root@server1:~# ls -l /usr/local/ispconfig/interface/ssl/
total 16
-rwxr-x--- 1 ispconfig ispconfig 2423 Jan 16 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 Jan 16 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 Jan 16 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 3311 Jan 16 13:28 ispserver.key.secure
root@server1:~#

Todo lo que necesitamos en este tutorial es la clave privada (ispserver.key) y la CSR (ispserver.csr); reemplazaremos ispserver.crt con el certificado Clase1 de StartSSL. Puedes ignorar ispserver.key.secure.

También es posible crear ispserver.key e ispserver.csr en la línea de comandos de la siguiente manera:

cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr

(Esto no te dará ispserver.crt, lo cual no importa ya que obtendremos nuestro certificado firmado de StartSSL.)

Tu ispserver.csr debería ser similar a este (he ocultado grandes partes de él porque este es un CSR real que uso):

cat /usr/local/ispconfig/interface/ssl/ispserver.csr

| -----BEGIN CERTIFICATE REQUEST----- MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWVkZXJzYWNo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz -----END CERTIFICATE REQUEST----- |

3 Obteniendo Tu Certificado Clase1 Gratuito De StartSSL

Ahora ve a http://www.startssl.com/ y crea una cuenta. Después de que hayas validado tu dominio (en la pestaña del Asistente de Validaciones), puedes solicitar tu certificado en la pestaña del Asistente de Certificados - selecciona Certificado SSL/TLS para Servidor Web del menú desplegable de Objetivo del Certificado:

Dado que ya tenemos una clave privada y una CSR, podemos omitir el siguiente paso - haz clic en Omitir >>:

En la siguiente página, rellena tu CSR, es decir, el contenido del archivo /usr/local/ispconfig/interface/ssl/ispserver.csr (comenzando con —–BEGIN CERTIFICATE REQUEST—– y terminando con —–END CERTIFICATE REQUEST—–):

Luego sigue el resto del asistente - te pedirá un dominio y un subdominio para los cuales se creará el certificado. Si usas server1.example.com para todos tus servicios, completa example.com como el dominio y server1 como el subdominio.

Después de unos minutos, recibirás un correo electrónico de que tu nuevo certificado está listo. Ve a Toolbox > Recuperar Certificado y selecciona tu certificado:

Copia el certificado de la interfaz web de StartSSL…

… y haz una copia de seguridad de tu archivo original ispserver.crt y pega el certificado Clase1 de StartSSL en el archivo ispserver.crt (vacío):

mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt

| -----BEGIN CERTIFICATE----- MIIHMTCCBhmgAwIBAgIDxxxxxx0GCSqGSIb3DQEBBQUAMIGCMQswCQYDVQQGEwJJ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c2x1wonVRVmKovt2OuM1ZqZw0Ynk -----END CERTIFICATE----- |

A continuación, descarga la CA raíz de StartSSL y la CA intermedia del servidor Clase1:

cd /usr/local/ispconfig/interface/ssl
wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem

(Si usas un certificado Clase2, por favor descarga sub.class2.server.ca.pem en lugar de sub.class1.server.ca.pem).

Renombra ambos archivos:

mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt

(Ajusta el segundo comando si usas un certificado Clase2.)

Algunos servicios requieren un archivo .pem que creamos de la siguiente manera (nuevamente, asegúrate de ajustar los comandos si usas un certificado Clase2):

cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt
cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem
chmod 600 ispserver.pem
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.