Saltar al contenido

¿Cómo instalo un certificado SSL/TLS para mi sitio web en mi instancia de Amazon EC2 de Linux Ubuntu?

3 minutos de lectura
0

Quiero instalar un certificado SSL/TLS autofirmado en mi instancia de Ubuntu de Amazon Elastic Compute Cloud (Amazon EC2) que aloja un servidor Apache.

Solución

Requisito previo: Asegúrate de que los grupos de seguridad de la instancia permitan el tráfico en los puertos 80 y 443.

Instalación del servidor web Apache y OpenSSL

Para instalar Apache y OpenSSL en tu servidor, ejecuta el siguiente comando:

sudo apt-get install apache2 openssl -y

Generación de un certificado autofirmado

Sigue estos pasos:

  1. SSL/TLS usa claves públicas y privadas. Para crear una clave privada para tu dominio y una solicitud de firma de certificado (CSR), ejecuta el siguiente comando:

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. Para generar un certificado SSL/TLS, ejecuta el siguiente comando:

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

Ahora puedes usar los archivos de clave (private.key) y certificado (certificate.crt) con el servidor web Apache.

Configuración de Apache para usar SSL/TLS

Para configurar Apache para que utilice el certificado autofirmado que has creado, sigue estos pasos:

  1. Ejecuta el siguiente comando para abrir el archivo de configuración SSL de Apache predeterminado:

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. Utiliza las siguientes rutas para definir la ubicación de tu certificado SSL:
    Para SSLCertificateFile, usa /etc/ssl/private/certificate.crt.
    Para SSLCertificateKeyFile, usa /etc/ssl/private/private.key.

  3. Guarda y cierra el archivo. A continuación, ejecuta el siguiente comando para activar el archivo de host virtual:

    sudo a2ensite default-ssl.conf
  4. Para abrir el archivo de configuración de host virtual predeterminado para Apache, ejecuta el siguiente comando:

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. Para agregar una redirección a tu nombre de dominio, agrega la siguiente línea al archivo etc/apache2/sites-available/000-default.conf:

    Redirect "/" https://Server-IP

    Nota: Sustituye Server-IP por la dirección IP de tu servidor. Se recomienda introducir la línea anterior después de la línea DocumentRoot. La redirección reenvía todo el tráfico a la versión SSL/TLS del sitio.

  6. Para activar los módulos SSL/TLS y de encabezado, ejecuta el siguiente comando:

    sudo a2enmod ssl
    sudo a2enmod headers
  7. Ejecuta el siguiente comando para volver a cargar el servicio de Apache y aplicar las modificaciones:

    sudo systemctl reload apache2

Comprobación del servidor SSL/TLS

Sigue estos pasos:

  1. Inicia el navegador web.
  2. Abre https://Server-IP.
    Nota: Sustituye Server-IP por la dirección IP de tu servidor. El navegador web te redirige a una página de advertencia. Puedes esperar este comportamiento porque una entidad emisora de certificados de confianza no firmó tu certificado.
  3. Selecciona Continuar con el host para abrir la página de inicio de Apache. En la barra de direcciones del navegador aparece un bloqueo que indica que no es seguro. Esto demuestra que el certificado no está validado, pero cifra la conexión.

Para obtener información sobre cómo configurar SSL/TLS en Red Hat Enterprise Linux (RHEL) o Community Enterprise Linux, consulta Setting up a webserver to use HTTPS (Configuración de un servidor web para usar HTTPS) en el sitio web de Red Hat. O bien, si usas Amazon Linux, consulta la configuración SSL/TLS para Amazon Linux 1 (AL1), Amazon Linux 2 (AL2) o Amazon Linux 2023 (AL2023).

OFICIAL DE AWSActualizada hace 4 meses