Outils pour utilisateurs

Outils du site


webadmin:apache2:activer_ssl

Apache et SSL

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:

  • Générer un certificat pour le serveur
  • Adapter la configuration de l’hôte virtuel
  • Activer le module adéquat

Certificats

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:

  • Des informations sur le serveur: localisation, propriétaire etc
  • La clé publique du serveur permettant au client de chiffrer les transmissions à destination du serveur.
  • Le certificat est signé (on distingue l'auto-signature et la signature par un tiers de confiance).

Certificat signé par un tiers de confiance

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:

  • CA Cert, il faudra cependant installer le certificat racine dans le navigateur.
  • Let's encrypt

Certificat CA Cert

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.

  • Compléter le formulaire de création de compte
  • Une fois le compte validé, se connecter
  • Dans le menu section Domaines → Ajouter
  • Dans le menu section Certificats de serveur → Nouveau

Certificat auto-signé

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

Let's Encrypt

Pour Ubuntu 16.04 Let's encrypt permet d'obtenir facilement et gratuitement des certificats validés par un tiers de confiance.

Configurer l'hote virtuel apache

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

Références

webadmin/apache2/activer_ssl.txt · Dernière modification : 2024/12/27 17:13 de yoann