Cómo configurar un certificado SSL gratuito en su sitio web con servidor Apache

Actualizado el 24 de agosto, 2016. Por Hosty.

El protocolo de "capa de puertos seguros" SSL (Secure Socket Layer, por sus siglas en inglés) junto con su versión más reciente, el protocolo de seguridad de la capa de transporte TLS (Transport Layer Secutiry) constituyen los protocolos criptográficos por excelencia que permiten una conexión segura a través del Internet. Los certificados SSL son pequeños archivos de datos que unen digitalmente una clave criptográfica a los detalles de una organización. Cuando se instalan en un servidor web, estos certificados permiten habilitar el protocolo https, permitiendo una conexión segura entre el servidor web y el navegador. El uso de SSL es crucial cuando se trata de inicios de sesión o transacciones bancarias. En este tutorial explicamos cómo agregar un certificado SSL gratuito a su servidor web Apache (la información también puede ser útil si utiliza otros servidores web como Nginx o IIS).

Requisitos previos

Antes de comenzar, aquí hay algunas herramientas web que necesitará para llevar a cabo este tutorial:

  • Acceso a una cuenta de cPanel activa. Otra opción es una instalación de Apache en su servidor (ver siguiente punto).
  • También podrá llevar a cabo el tutorial si tiene Apache instalado en su VPS (para esto puede visitar nuestros tutoriales sobre LAMP y Apache).
  • Debe tener un dominio de su propiedad.
  • Necesitará acceso a una dirección de correo electrónico en ese dominio, por ejemplo:
    • postmaster@sudominio.com
    • hostmaster@sudominio.com
    • webmaster@sudominio.com

Registrarse e iniciar sesión en StartSSL

StartSSL.com ofrece un plan de certificado SSL completamente gratuito que puede usar en su sitio web. Tenga en cuenta que solo ofrecen 1 certificado SSL gratuito al año. Una vez instalado el certificado SSL, sus usuarios dejarán de ver los avisos en los navegadores que indican: "Este sitio no es seguro".

Para comenzar, diríjase al sitio web de StartSSL.com, recomendamos utilizar el navegador Google Chrome, aunque Start SSL ya tiene excelente compatibilidad con distintos navegadores. Siga los siguientes pasos:

  1. Haga clic en Sign-up. Se le pedirá que seleccione su país y su coreo electrónico.
  2. Ingrese los datos y haga clic en Send verification code. ¡No cierre esta ventana!
  3. Revise la bandeja de entrada de su cuenta de correo electrónico, encontrará un correo de StartCom con un código de validación que ingresará en la ventana anterior. Cópielo.
  4. Pegue el código de verificación en la ventana de registro de Start SSL y haga clic en Sign Up.
  5. Se le pedirá que cree una clave privada y un certificado CSR, el sistema de StartSSL puede hacerlo por usted si selecciona la opción "The system generate private key and CSR". Luego, solo debe indicar una contraseña de más de 10 dígitos que contenga números y letras.
  6. Al finalizar haga clic en Submit. Se le mostrará un mensaje similar al siguiente:
    Anexo 1 Certificado de inicio de sesión
  7. Haga clic en Download files. Después puede hacer clic en la descarga y solo deberá seguir los pasos para importar su certificado a su navegador. En el proceso se solicitará la contraseña que especificó anteriormente.
  8. ¡Todo este proceso es necesario solo para poder iniciar sesión de forma segura en el sitio de Start SSL! Intente iniciar sesión ahora que ha importado el certificado a su navegador.

Su navegador le solicitará que seleccione el certificado apropiado y podrá comprobar que ahora el inicio de sesión es correcto. Al terminar este proceso, debe obtener un certificado con formato adecuado para usar en su VPS.

Validar su dominio

Es el momento de validar que usted es el propietario de nombre de dominio para el cual está solicitando un certificado. Haga clic en la opción Validations Wizard en el Panel de Control y en la lista "Select Validation" seleccione la opción Domain Validation.

Anexo 2 Validación de dominio

Se le solicitará el nombre del dominio que desea validar, escríbalo y presione Continue. Luego deberá seleccionar el correo correspondiente al dominio al que usted tenga acceso y hacer clic en Send Verification Code. Se muestran las opciones: postmaster@sudominio.com, hostmaster@sudominio.com y webmaster@sudominio.com. (¡Si no tiene alguna de esas cuentas de correo electrónico, debe crearla!).

Compruebe la bandeja de entrada del correo electrónico seleccionado. Obtendrá otro código de verificación a través de dicho correo, que deberá copiar y pegar en el sitio web de StartSSL. Para finalizar haga clic en Validate.

Anexo 3 código de validación dominio

Generar su certificado SSL

Ahora diríjase a la pestaña Certificates Wizard y seleccione la opción "Web Server SSL/TLS Certificate", luego haga clic en Continue:

Anexo 4 Certificates Wizard

En la siguiente página se le solicitará ingresar el hostname para el cual quiere generar un certificado SSL. Puede especificar su dominio principal sudominio.com y/o los subdominios en los cuales quiere instalar el certificado. Un ejemplo es mail.sudominio.com. Puede especificar hasta 5 hostnames separados por Enter (para la versión gratuita).

También se le pedirá que envíe una Solicitud para Firma de Certificado (CSR), para lo cual se le ofrece la opción de la herramienta StartComTool.exe o la generación a través de Internet Explorer.

También puede usar el siguiente comando:

openssl req -newkey rsa:2048 -keyout nombre.key -out nombre.csr

En nuestro ejemplo utilizamos la herramienta de StartCom para generar nuestra CSR:

  1. Descargue la herramienta e instálela en su computador.
  2. Inicie StartCom Tool.
  3. Seleccione la pestaña CSR.
  4. Haga clic en Generate CSR: la herramienta creará una clave privada y un archivo CSR, guárdelos en una ubicación segura de su computador, ya que necesitará estos archivos luego. Anexo 5 StartCom Tool

Una vez generada su solicitud CSR, copie y pegue el texto en el formulario que había estado llenando en la página web de StartSSL. Una vez que complete la información solicitada haga clic en Submit.

Al finalizar el proceso se le mostrará un mensaje que indica que los certificados fueron creados con éxito. Haga clic en el enlace provisto para la descarga.

El archivo descargado será un archivo .zip que contiene convenientemente los archivos de configuración según el tipo de servidor web. Incluye los más populares: Apache, IIS, Nginx y una carpeta adicional para otros.

Para nuestro tutorial, demostraremos los pasos que debe seguir si utiliza un servidor web Apache, aunque el procedimiento será similar si utiliza otro tipo de servidor. Extraiga las carpetas y luego seleccione el archivo ApacheServer.zip, podrá ver los certificados de seguridad para sus dominios, extráigalos en una ubicación segura de su preferencia.

Anexo 6 Certificados Descargados

En este punto debe tener 3 archivos:

  • Del archivo ApacheServer.zip:
    • 1_root_bundle.crt
    • 2_sudominio.crt
  • private.key: la clave privada que generó al momento de crear su solicitud CSR.

Agregar y activar los certificados en su sitio web

Ahora es momento de cargar sus certificados en su servidor Apache, si tiene acceso root a su VPS siga el primer método (recomendado para usuarios más avanzados). De lo contrario, puede cargar los certificados a través de su cuenta de cPanel (segundo método, más sencillo).

Activar sus certificados usando los archivos de configuración de Apache

Utilice su cliente FTP favorito para subir los archivos a su servidor. La ruta que debe seleccionar debe ser igual o similar a la siguiente:

/usr/local/apache2/conf/

ó

/usr/local/apache/conf/

Tenga en cuenta que los archivos de configuración de Apache pueden estar en rutas distintas, verifique explorando la instalación de Apache en su servidor o verificando la documentación correspondiente. Recuerde cargar los tres archivos en el directorio (1_root_bundle.crt, 2_sudominio.crt y private.key)

Una vez que haya cargado los archivos a su servidor, debe agregar al menos las siguientes líneas a su archivo httpd.conf o httpd-ssl.conf o ssl.conf (el archivo de configuración varía según su distribución de Linux. Normalmente se encuentra en la ruta especificada arriba).

LoadModule ssl_module modules/mod_ssl.so
Listen 443
<VirtualHost _default_:443>
 DocumentRoot /home/httpd/private
 ErrorLog /usr/local/apache/logs/error_log
 TransferLog /usr/local/apache/logs/access_log
 SSLEngine on
 SSLProtocol all -SSLv2 -SSLv3
 SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL
 SSLCertificateFile /usr/local/apache/conf/2_sudominio.crt 
 SSLCertificateKeyFile /usr/local/apache/conf/private.key 
 SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
 CustomLog /usr/local/apache/logs/ssl_request_log \
 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

Recuerde cambiar las rutas y nombres de archivos según corresponda en cada parámetro, por ejemplo: cambiar el nombre del archivo 2_sudominio.crt.

Una vez que haya agregado el script a su archivo de configuración y que haya comprobado que todas las rutas y archivos son correctos, debe reiniciar el servidor web Apache. El procedimiento puede cambiar según su distribución de Linux y versión de Apache, aquí presentamos los comandos para las distribuciones más comunes.

Para Debian/Ubuntu, puede usar algunas de las siguientes tres opciones:

sudo service apache2 restart
sudo /etc/init.d/apache2 restart
sudo systemctl restart apache2.service

Para Fedora/RHEL/CentOS ejecute alguno de los siguientes comandos:

sudo service httpd restart
sudo /sbin/service httpd restart

En este punto ya ha añadido los certificados a su sitio web, puede verificar el siguiente método o ir directamente a Probar su certificado SSL.

Activar sus certificados usando cPanel

  1. Ingrese en su cuenta de cPanel y haga clic en el ícono SSL/TLS bajo la sección "Seguridad".
    Anexo 7 SSL/TLS cPanel
  2. En la siguiente página, seleccione la opción Administrar los sitios SSL.
    Anexo 8 Administrar sitios SSL cPanel
  3. Seleccione el dominio o subdominio donde instalará el certificado SSL. Luego puede abrir sus archivos 1_root_bundle.crt, 2_sudominio.crt y private.key con su editor de texto favorito y copiar/pegar la información en el formulario como sigue:
    Anexo 9 Llenar formulario SSL
    Al finalizar debe hacer clic en Instalar certificado.
  4. Se mostrará un mensaje indicando que el procedimiento se completó exitosamente si ingresó los datos correctamente: Anexo 10 Procedimiento exitoso

¡Felicidades! Ha completado los pasos para la instalación del certificado SSL en su sitio web, llegó la hora de verificar si el procedimiento fue exitoso.

Probar su certificado SSL

Si ejecutó los pasos con cuidado y correctamente, ahora podrá acceder a https://sudominio.com a través de su navegador y comprobar si el certificado fue instalado exitosamente. Si el procedimiento fue exitoso podrá ver un candado de seguridad verde en la barra de direcciones:

Anexo 11 Sitio web con Certificado SSL

Para hacer un análisis exhaustivo del certificado y configuración de su sitio web ingrese en SSLTest y especifique su dominio.

Esta guía explica de forma muy clara y explícita la opción de StartSSL como proveedor de un certificado SSL. Los planes gratuitos de esta plataforma tienen ciertas limitaciones y están destinados a usuarios básicos. Aunque el procedimiento llega a ser algo complejo, simplemente debe seguir las instrucciones con cuidado y evitar saltarse pasos o ejecutar procedimientos de los cuales no está seguro.

Recursos adicionales

Puede consultar los siguientes recursos en busca de información adicional que complemente lo descrito en este tutorial. Aunque este material es provisto esperando que sea útil, no es posible que certifiquemos su precisión o actualidad. Algunos de los materiales indicados a continuación fueron usados como referencia para el contenido de este tutorial.

  • Artículos de documentación para la instalación de certificados SSL de StartCom.
  • Documentación oficial de Apache. (Incluye algunas guías en español).
  • Otra opción similar y más reciente que StartSSL es Let's Encrypt, una nueva autoridad de certificación que también permite crear certificados SSL/TLS gratuitos.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...