DevOps

Guía SSL Autofirmado Apache Ubuntu

Para crear y utilizar una certificación SSL autofirmada con un servidor web Apache en un sistema operativo Ubuntu 16.04, es importante seguir una serie de pasos específicos. Una certificación SSL (Secure Sockets Layer) es crucial para establecer conexiones seguras entre el servidor y los clientes, cifrando los datos transmitidos. Sin embargo, las certificaciones autofirmadas son útiles principalmente para pruebas locales o entornos de desarrollo, ya que no están firmadas por una autoridad de certificación confiable. A continuación, se detallan los pasos para crear y configurar una certificación SSL autofirmada en un servidor Apache en Ubuntu 16.04:

  1. Instalar Apache: Si aún no lo ha hecho, instale el servidor web Apache en su sistema Ubuntu 16.04 utilizando el administrador de paquetes apt. Puede hacerlo ejecutando el siguiente comando en la terminal:

    sql
    sudo apt update sudo apt install apache2
  2. Habilitar el módulo SSL de Apache: Asegúrese de que el módulo SSL de Apache esté habilitado. Puede hacerlo ejecutando el siguiente comando:

    sudo a2enmod ssl
  3. Crear un directorio para almacenar los archivos de certificados SSL: Es una buena práctica almacenar los archivos relacionados con SSL en un directorio específico. Puede crear este directorio ejecutando el siguiente comando:

    bash
    sudo mkdir /etc/apache2/ssl
  4. Generar el certificado autofirmado: Utilice el comando openssl para generar un certificado autofirmado y una clave privada. Ejecute los siguientes comandos en la terminal para generar el certificado y la clave:

    bash
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

    Durante este proceso, se le pedirá que proporcione información para su certificado, como el nombre de la organización, la ubicación, etc. Puede completar esta información según sus preferencias.

  5. Configurar el archivo de configuración de Apache para SSL: Ahora, debe configurar Apache para utilizar el certificado SSL. Edite el archivo de configuración de SSL ejecutando el siguiente comando:

    arduino
    sudo nano /etc/apache2/sites-available/default-ssl.conf

    Dentro de este archivo, busque las líneas que comiencen con SSLCertificateFile y SSLCertificateKeyFile. Ajuste estas líneas para que apunten a los archivos de certificado y clave que generó anteriormente. Deberían verse así:

    bash
    SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
  6. Habilitar el sitio SSL y reiniciar Apache: Ahora, habilite el sitio SSL ejecutando el siguiente comando:

    arduino
    sudo a2ensite default-ssl

    Después, reinicie Apache para aplicar los cambios:

    sudo systemctl restart apache2
  7. Ajustar la configuración de firewall (si es necesario): Si tiene un firewall activo en su servidor, como UFW, deberá permitir el tráfico HTTPS. Puede hacerlo ejecutando el siguiente comando:

    arduino
    sudo ufw allow 'Apache Full'
  8. Verificar la configuración SSL: Finalmente, verifique si SSL está configurado correctamente en su servidor Apache. Puede hacerlo ingresando la dirección URL de su sitio web con https:// en un navegador web. Debería ver el candado SSL en la barra de direcciones del navegador, lo que indica que la conexión está protegida por SSL.

Siguiendo estos pasos, habrá creado y configurado con éxito una certificación SSL autofirmada para su servidor Apache en Ubuntu 16.04. Recuerde que, si bien las certificaciones autofirmadas son útiles para pruebas locales o entornos de desarrollo, no proporcionan la misma garantía de seguridad que las certificaciones emitidas por una autoridad de certificación confiable.

Más Informaciones

Por supuesto, aquí tienes más información detallada sobre cada paso para crear y configurar una certificación SSL autofirmada en un servidor Apache en Ubuntu 16.04:

  1. Instalar Apache:

    • Apache, también conocido como Apache HTTP Server, es un servidor web de código abierto ampliamente utilizado en Internet. Proporciona una plataforma robusta y flexible para entregar contenido web de manera segura y confiable.
    • La instalación de Apache en Ubuntu 16.04 es sencilla utilizando el administrador de paquetes apt. Este método garantiza que Apache y sus dependencias se instalen de manera coherente y se integren correctamente con el sistema operativo.
    • Después de la instalación, Apache se inicia automáticamente y está listo para servir contenido web en el puerto predeterminado (puerto 80 para HTTP).
  2. Habilitar el módulo SSL de Apache:

    • El módulo SSL de Apache, llamado mod_ssl, proporciona soporte para SSL/TLS en el servidor web. Este módulo es necesario para habilitar el cifrado de datos y la comunicación segura entre el servidor y los clientes.
    • Al habilitar este módulo, Apache puede procesar solicitudes HTTPS y responder con contenido cifrado, lo que garantiza la seguridad y la privacidad de la información transmitida a través de la red.
  3. Crear un directorio para almacenar los archivos de certificados SSL:

    • Es una práctica recomendada organizar los archivos relacionados con SSL en un directorio específico en el sistema de archivos del servidor. Esto ayuda a mantener una estructura ordenada y facilita la gestión de los certificados y claves SSL.
    • Al crear el directorio /etc/apache2/ssl, se establece un lugar centralizado para almacenar los archivos de certificados SSL y claves privadas utilizadas por Apache.
  4. Generar el certificado autofirmado:

    • Un certificado SSL contiene información sobre la identidad del sitio web y la clave pública utilizada para cifrar las comunicaciones. En el caso de un certificado autofirmado, esta información se genera y firma internamente, en lugar de ser verificada por una autoridad de certificación externa.
    • El comando openssl se utiliza para generar el certificado autofirmado y la clave privada asociada. Durante este proceso, se completan campos como el nombre de la organización, la ubicación geográfica, etc., que se incluirán en el certificado.
    • El certificado autofirmado tiene una validez de 365 días por defecto, pero este período puede ajustarse según sea necesario.
  5. Configurar el archivo de configuración de Apache para SSL:

    • El archivo de configuración default-ssl.conf contiene las directivas de configuración específicas para el funcionamiento de SSL en Apache. Este archivo define la ubicación de los archivos de certificado y clave, así como otras opciones relacionadas con SSL.
    • Al editar este archivo, se especifica la ruta completa de los archivos de certificado y clave generados anteriormente. Estos archivos se utilizan para autenticar el servidor ante los clientes y establecer una conexión segura.
  6. Habilitar el sitio SSL y reiniciar Apache:

    • Al habilitar el sitio SSL mediante el comando a2ensite, se crea un enlace simbólico desde el archivo de configuración default-ssl.conf al directorio sites-enabled de Apache. Esto permite que Apache cargue la configuración SSL al iniciar el servidor.
    • Después de habilitar el sitio SSL, se reinicia Apache para aplicar los cambios de configuración. Esto asegura que Apache cargue la configuración actualizada y esté listo para atender solicitudes HTTPS.
  7. Ajustar la configuración de firewall (si es necesario):

    • Si el servidor utiliza un firewall para controlar el tráfico de red, es importante ajustar la configuración para permitir conexiones HTTPS entrantes. Esto garantiza que las solicitudes HTTPS sean dirigidas correctamente al servidor Apache y no sean bloqueadas por el firewall.
    • El comando ufw allow 'Apache Full' permite el tráfico relacionado con Apache, incluidas las solicitudes HTTPS, a través del firewall UFW en Ubuntu.
  8. Verificar la configuración SSL:

    • Una vez completados todos los pasos anteriores, es importante verificar si la configuración SSL está funcionando correctamente. Esto se puede hacer accediendo al sitio web a través de HTTPS en un navegador web.
    • La presencia del candado SSL en la barra de direcciones del navegador indica que la conexión está protegida por SSL y que el certificado se ha configurado correctamente en el servidor Apache.

Siguiendo estos pasos, habrás creado y configurado con éxito una certificación SSL autofirmada para tu servidor Apache en Ubuntu 16.04. Recuerda que las certificaciones autofirmadas son adecuadas para pruebas locales o entornos de desarrollo, pero no ofrecen la misma garantía de autenticidad y confianza que las certificaciones emitidas por una autoridad de certificación confiable.

Botón volver arriba

¡Este contenido está protegido contra copia! Para compartirlo, utilice los botones de compartir rápido o copie el enlace.