Una de las formas más importantes de asegurar el intercambio de datos entre un servidor y el cliente que accede a él es el uso de certificados SSL. Para asegurar que la comunicación se realiza realmente con el servidor correcto, el servidor puede ser certificado por una institución de confianza.
Requisitos:
- Asegurarse de que el servidor tiene el puerto 443 (https) abierto
- Haber adquirido un Certificado SSL en cualquier entidad certificadora oficial
- Fichero con la Clave Privada .key
- Fichero de Certificado SSL .cer o .crt
- Fichero de Certificados Intermedios .cer o .crt
Pasos:
1. Subir los ficheros con los certificados al servidor en una carpeta a la que se tenga acceso, como por ejemplo la home : /home/personal/certificados
2. Crea una carpeta en la ruta /etc/ssl/certs
$ sudo mkdir /etc/ssl/certs/LaSendaDelAdmin
3. Copia los ficheros a la ruta recién creada:
$ sudo cp /home/personal/certificados/* /etc/ssl/certs/LaSendaDelAdmin
4. Cambia los permisos de los ficheros:
$ sudo chmod 777 /etc/ssl/certs/LaSendaDelAdmin/*
5. Edita la configuración del sitio de apache:
$ sudo vim /etc/apache2/sites-available/lasendadeladmin.conf
6. En la configuración del site, modifica el VirtualHost para que escuche el puerto 443 de https e incluye las 4 lineas de código para configurar los certificados en el sitio:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName lasendadeladmin.com
ServerAlias www.lasendadeladmin.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/LaSendaDelAdmin/LaSendaDelAdmin.com_ssl_certificate.cer
SSLCertificateKeyFile /etc/ssl/certs/LaSendaDelAdmin/*.LaSendaDelAdmin.com_private_key.key
SSLCertificateChainFile /etc/ssl/certs/CloudGamers/*.LaSendaDelAdmin.com_ssl_certificate_INTERMEDIATE.cer
....
7. Si no esta el módulo SSL habilitado, habilitalo con el comando a2enmod ssl :
$ sudo a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
systemctl restart apache2
8. Ahora comprueba que no hay ningun error en el código:
$ sudo apachectl configtest
Syntax OK
9. Una vez verificado que la sintaxis de los ficheros de configuración es correcta, ya solo queda reiniciar el servicio de apache para habilitar el sitio web ahora con el certificado:
$ sudo systemctl restart apache2