SSL permet de chiffrer les communications entre le client et le serveur. On cherche ici activer SSL sur un hôte virtuel apache. Pour cela il faut:
Le certificat électronique est utilisé par le processus de chiffrement. Il permet d'identifier le serveur et garantie que la communication a bien lieue entre le client et le serveur.
Le certificat contient:
Le tiers de confiance est un organisme spécialisé garantissant l'identité du propriétaire du certificat. La plupart du temps l'obtention d'un certificat signé par un tiers de confiance est un service payant. Il existe néanmoins des solutions gratuites:
Pour générer le certificat, CA Cert demandera le CSR(Certificat Signig Request), on commence par générer le CSR:
Créer le CSR
Générer la clé RSA:
cd /etc/apache2 mkdir private chmod 700 private cd private openssl genrsa 2048 > www.example.com.key chmod 400 www.example.com.key
Créer la demande CSR avec la clé précédemment générée
openssl req -new -key www.exemple.com.key > www.exemple.com.csr
La commande précédente lance un script interactif qui demande à l'utilisateur de saisir les informations nécessaire à la génération du CSR
CA Cert est une organisation à but non lucratif proposant de générer des certificats. Le service est gratuit et promeut la sécurisation des échanges informatique chiffrés. Pour obtenir un certificat se rendre à l'URL http://www.cacert.org/ et dans le cadre de menu cliquer sur le lien S'incrire.
Pour des sites web à caractère non marchand, l'auto-signature est une pratique répandue ne posant pas de problème.
$ sudo apt-get install ssl-cert
$ sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/vhost1.domain.pem
Pour Ubuntu 16.04 Let's encrypt permet d'obtenir facilement et gratuitement des certificats validés par un tiers de confiance.
Copier le fichier de configuration defautlt-ssl et apporter les modifications propres a l'instance et
$ sudo cp default-ssl vhost1-ssl
Mettre à jour la directive SSLCertificateFile en indiquant le nom du certificat précédemment généré.
SSLCertificateFile /etc/ssl/private/vhost1.domain.pem
Activer le module SSL
$ sudo a2enmod ssl $ sudo a2enssite vhost1-ssl $ sudo service apache2 reload