Implantar certificado SSL/TLS (Apache)

Para añadir un certificado SSL a un dominio gestionado por Apache, tras obtener el certificado SSL firmado (archivo con extensión «crt») (cómo crear un certificado SSL autofirmado) y por ende también la clave privada (archivo con extensión «key»), se crea un nuevo Virtual Host con el puerto 443, que es el que se usa para las conexiones HTTPS (cómo crear un VirtualHost en Apache):

<VirtualHost 127.0.0.1:443>
ServerName midominio.com
DocumentRoot ...
SSLEngine on
SSLCertificateFile "<full path al certificado SSL>.crt"
SSLCertificateKeyFile "<full path a la clave privada>.key"
</VirtualHost>

  • SSLEngine: indica que vamos a usar un certificado SSL
  • SSLCertificateFile: indica el path (que debe ser accesible por el servicio de Apache) donde se guarda el certificado (archivo con extensión «crt»).
  • SSLCertificateKeyFile: indica el path al archivo de claves generadas por el certificado (archivo con extensión «key»).

Si queremos redirigir todas las conexiones HTTP al HTTPS se tiene que añadir la entrada del Virtual Host con puerto 80 (que es el que se usa para las conexiones HTTP no seguras) e indicar en ella que queremos redirigir a «https://midominio.com».

<VirtualHost 127.0.0.1:80>
ServerName midominio.com
Redirect / https://midominio.com/
</VirtualHost>

Forzar TLS como algoritmo de cifrado

Si no queremos bajo ningún concepto que el algoritmo para cifrar la información sea SSL (o bien que sólo se use la última versión del algoritmo TLS) habrá que indicárselo a Apache dentro del nodo VirtualHost (más información).

Deja un comentario