Múltiples certificados #ssl en #apache


Hace poco escribí sobre los certificados gratuitos de Lets Encrypt, ahora bien, cuando se tienen múltiples sitios virtuales (Una ip pública con múltiples dominios) es necesario hacer un par de pequeños cambios para que cada uno use un certificado propio (Hasta que Lets Encrypt soporte certificados multidominio).

Primero es necesario generar un certificado por cada subdominio que se quiera asegurar, luego es necesario modificar la configuración de ssl en apache (usualmente el archivo /etc/httpd/conf/ssl.conf), no sin antes hacer una copia de seguridad:

NameVirtualHost *:443

<VirtualHost *:443>
 ServerName sitio1.dominio.com

 SSLEngine on
 SSLProtocol all -SSLv2 -SSLv3
 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
 SSLHonorCipherOrder on


 SSLCertificateFile /etc/letsencrypt/live/sitio1.dominio.com/cert.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/sitio1.dominio.com/privkey.pem
 SSLCertificateChainFile /etc/letsencrypt/live/sitio1.dominio.com/fullchain.pem
</VirtualHost>

<VirtualHost *:443>
 ServerName sitio2.dominio.com

 SSLEngine on
 SSLProtocol all -SSLv2 -SSLv3
 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
 SSLHonorCipherOrder on


 SSLCertificateFile /etc/letsencrypt/live/sitio2.dominio.com/cert.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/sitio2.dominio.com/privkey.pem
 SSLCertificateChainFile /etc/letsencrypt/live/sitio2.dominio.com/fullchain.pem
</VirtualHost>

Se agrega NameVirtualHost *:443 antes de los virtualhosts y en el virtualhost que tenia configurado <VirtualHost _default_:443> se cambia por <VirtualHost *:443>, así no hay u certificado por encima del resto. Luego solo se reinicia apache.

 

Acerca de Nickman

Aunque crítico e Ingeniero (especializado en software), piloto de aeroplano soy (seré).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s