Instalación de certificados SSL en un hosting externo en Linux

En la actualidad los nuevos servicios o aplicaciones web se pueden montar en servidores externos al hosting del dominio principal, por lo que se puede requerir la instalación de certificados SSL para un subdominio y servidor en Linux de otro proveedor.

Instalación de certificados SSL
Instalación de Certificados SSL

Los certificados SSL le permiten a un sitio web manejar transacciones seguras, ya que la información se encripta desde que sale del navegador web, hasta que llega al servidor de destino. De esta forma se garantiza que la información no es interceptada en el camino.

Este artículo detalla paso a paso el proceso para solicitar e instalar un certificado SSL en un host externo bajo sistema operativo Linux Ubuntu:

 

1. Compra del certificado SSL

Esencialmente se pueden comprar dos tipos de certificados, uno denominado essential y otro llamado wildcard. El certificado essential es para un solo subominio, por ejemplo pagina.miweb.com. El otro certificado wildcard sirve para todo el dominio, por ejemplo sirve para pagina.miweb.com, www.miweb.com, correo.miweb.com, etc. El costo del certificado depende de uno u otro tipo.

Los certificados tienen como vigencia mínima 1 año, se pueden comprar con mayor vigencia si se desea.

Para solicitar el certificado a nuestro proveedor, necesitamos proveerle de un archivo conocido como .csr. Esta es la llave pública del certificado.

 

2. Extraer el archivo .csr

El archivo .csr se debe extraer desde el servidor que va a ofrecer los servicios web, en  Linux se ingresa el siguiente comando, considerando que ya tenemos instalado el módulo openssl:

openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr

Este comando va a solicitar una serie de datos con los que se va a construir el archivo .csr y la llave privada .key.

ountry Name (2 letter code) [AU]: CO
State or Province Name (full name) [Some-State]: CUNDINAMARCA
Locality Name (eg, city) []: BOGOTA
Organization Name (eg, company) [Internet Widgits Pty Ltd]: COMPANIA
Organizational Unit Name (eg, section) []: IT
Common Name (eg, YOUR name) []: pagina.miweb.com (essential) o *.miweb.com (wildcard)
Email Address []:

En el parámetro Common Name, ponemos el subdominio para una certificado essential (pagina.miweb.com), o el dominio con el * (*.miweb.com) para el certificado wildcard.

Estos son datos adicionales que se pueden ingresar

A challenge password []: 
An optional company name []:

Los parámetros Email Address, A challenge password, An optional company Name, no son necesarios cuando se solicita un certificado para un servidor web.

En este ejemplo, el comando va a generar los archivos myserver.key y server.csr.

El archivo .key es la clave privada, por lo que nadie lo debe conocer, mientras que SOLO el archivo .csr es el que le enviamos al proveedor para que nos genere el certificado ssl.

 

3. Validación del dominio

Una vez que el proveedor recibe el archivo .csr y el pago del certificado, envía un correo a los administradores del dominio, para que por medio de un link y un número de validación, garanticen que quién está haciendo el proceso es dueño del dominio.

 

4. Instalación de Certificados SSL

El proveedor entonces enviará los archivos del certificado, que son dos archivos de extensiones .ca-bundle y .crt. Estos dos archivos junto con el archivo .key los trasladamos al servidor donde vamos a hacer la instalación de certificados SSL.

Siguiendo con nuestro ejemplo, consideremos que el proveedor nos envía los archivos:

miweb.ca-bundle
miweb.crt

Estos dos archivos, junto con el archivo myserver.key, se trasladan al servidor en las siguiente ubicaciones:

myserver.key                           ->       /etc/ssl/ssl.key/mysever.key
miweb.ca-bundle                   ->       /etc/ssl/ssl.crt/myweb.ca-bundle
miweb.crt                                 ->      /etc/ssl/ssl.crt/miweb.crt

 

4. Habilitación del módulo SSL en Apache

Debemos tener habilitado el módulo ssl en apache, sino se hace con el siguiente comando:

sudo a2enmod ssl

 

5. Activación del puerto 443 para https (SSL)

 En el archivo /etc/apache2/ports.conf, registramos el nuevo puerto 443
<IfModule ssl_module>
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
  Listen 443
</IfModule>

 

6. Registro de los certificados en el puerto 443

Para la instalación de los certificados SSL en apache2, se registran en en:
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:443>
    DocumentRoot /var/www/

     <.. aquí se incluye los parámetros adicionales requeridos por el servidor web ...>

    #SSL configuration:
    SSLEngine on
    SSLCertificateKeyFile /etc/ssl/ssl.key/myserver.key
    SSLCertificateFile /etc/ssl/ssl.crt/miweb.crt
    SSLCertificateChainFile /etc/ssl/ssl.crt/miweb.ca-bundle

</VirtualHost>

7. Redireccionamiento del http a https (puerto 80 a puerto 443)

También en el archivo /etc/apache2/sites-enabled/000-default.conf, registramos lo siguiente para redireccionar todas las peticiones http a https:

<VirtualHost *:80>
     ServerName vendiendo.com.co
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/
     Redirect permanent / https://pagina.miweb.com/
</VirtualHost>

8. Reinicio del servidor web apache

Una vez hechos todos estos pasos, se reinicia el servidor Apache
service apache2 restart

9. Redirección del subdominio a la dirección del servidor en hosting

Finalmente debemos garantizar que el subdominio apunte al servidor web en el hosting externo, para este fin, en el administrador del dominio principal, debemos registrar una área de dominio tipo A.

Si por ejemplo nuestro servidor destino tiene la dirección IP: 10.10.10.100, entonces el registro del dominio tipo A quedaría así:

Zona Tipo A
Zona Tipo A

Para que finalmente el subdominio pagina.miweb.com se dirija al servidor con IP 10.10.10.100, se puede tomar hasta 36 horas, mientras se propaga esta regla del DNS por toda la red.

 

10. Verificación de la instalación de certificados SSL

Surtidos los pasos anteriores, ingresamos en un navegador con la dirección del subdominio (http://pagina.miweb.com), con lo que debe ser redirigida automáticamente a la página con certificado SSL (https://pagina.miweb.com), apareciendo un icono en verde, haciendo referencia que el certificado es correcto:

Validación instalación de certificados SSL
Validación instalación de certificados SSL

 

La instalación de certificados SSL es muy importante no solo para dar seguridad de las transacciones a los visitantes de una página o aplicación web, sino también para obtener un mejor ranking en los buscadores (SEO), porque le dan prioridad a los sitios seguros sobre los potencialmente inseguros.

En ITSoftware SAS ofrecemos nuestros servicios de hosting con todas las garantías de seguridad que sus clientes y la red exigen, para evitar cualquier tipo de inconveniente con sus clientes o con intrusos indeseados.

Si te gustó este artículo, por favor no olvides compartirlo en las redes sociales. 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.