Red Hat Training

A Red Hat training course is available for RHEL 8

50.7. Cómo añadir el cifrado TLS a un servidor HTTP Apache

Esta sección describe cómo activar el cifrado TLS en el servidor HTTP Apache de my_company.idm.example.com para el dominio idm.example.com.

Requisitos previos

  • El servidor HTTP Apache de my_company.idm.example.com está instalado y funcionando.
  • Ha obtenido el certificado TLS de la sub-CA webserver-ca, y lo ha almacenado en el archivo /etc/pki/tls/certs/httpd.pem como se describe en Sección 50.4, “Obtención de un certificado IdM para un servicio mediante certmonger”. Si utiliza una ruta diferente, adapte los pasos correspondientes del procedimiento.
  • La clave privada correspondiente se almacena en el archivo /etc/pki/tls/private/httpd.key. Si utiliza una ruta diferente, adapte los pasos correspondientes del procedimiento.
  • El certificado de la CA webserver-ca se almacena en el archivo /etc/pki/tls/private/sub-ca.crt. Si utiliza una ruta diferente, adapte los pasos correspondientes del procedimiento.
  • Los clientes y el servidor web my_company.idm.example.com resuelven el nombre de host del servidor a la dirección IP del servidor web.

Procedimiento

  1. Instale el paquete mod_ssl:

    # dnf install mod_ssl
  2. Edite el archivo /etc/httpd/conf.d/ssl.conf y añada la siguiente configuración a la directiva <VirtualHost _default_:443>:

    1. Establezca el nombre del servidor:

      Nombre del servidor my_company.idm.example.com
      Importante

      El nombre del servidor debe coincidir con la entrada establecida en el campo Common Name del certificado.

    2. Opcional: Si el certificado contiene nombres de host adicionales en el campo Subject Alt Names (SAN), puede configurar mod_ssl para que proporcione cifrado TLS también para estos nombres de host. Para configurarlo, añada el parámetro ServerAliases con los nombres correspondientes:

      ServidorAlias www.my_company.idm.example.com server.my_company.idm.example.com
    3. Establezca las rutas de acceso a la clave privada, el certificado del servidor y el certificado de la CA:

      SSLCertificateKeyFile "/etc/pki/tls/private/httpd.key"
      SSLCertificateFile "/etc/pki/tls/certs/httpd.pem"
      SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
  3. Por razones de seguridad, configure que sólo el usuario root pueda acceder al archivo de la clave privada:

    # chown root:root /etc/pki/tls/private/httpd.key
    # chmod 600 //etc/pki/tls/private/httpd.key
    Aviso

    Si los usuarios no autorizados accedieron a la clave privada, revoque el certificado, cree una nueva clave privada y solicite un nuevo certificado. En caso contrario, la conexión TLS deja de ser segura.

  4. Abra el puerto 443 en el firewall local:

    # firewall-cmd --permanent --add-port=443
    # firewall-cmd --reload
  5. Reinicie el servicio httpd:

    # systemctl restart httpd
    Nota

    Si protegió el archivo de clave privada con una contraseña, deberá introducirla cada vez que se inicie el servicio httpd.

    • Utilice un navegador y conéctese a https://my_company.idm.example.com.

Recursos adicionales

  • Para más detalles sobre la configuración de TLS, consulte la documentación de SSL/TLS Encryption en el manual de Apache. Para más detalles sobre la instalación del manual, consulte el manual de instalación del servidor HTTP Apache.