Outils pour utilisateurs

Outils du site


webadmin:apache2:activer_ssl

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
webadmin:apache2:activer_ssl [2024/12/27 17:13] – supprimée - modification externe (Date inconnue) 127.0.0.1webadmin:apache2:activer_ssl [2024/12/27 17:13] (Version actuelle) – ↷ Nom de la page changé de webadmin:apache2:activer-ssl à webadmin:apache2:activer_ssl yoann
Ligne 1: Ligne 1:
 +{{tag>apache apache2 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:
 +<code bash>
 +cd /etc/apache2
 +mkdir private
 +chmod 700 private
 +cd private
 +openssl genrsa 2048 > www.example.com.key
 +chmod 400 www.example.com.key
 +</code>
 +
 +Créer la demande CSR avec la clé précédemment générée
 +<code bash>
 +openssl req -new -key www.exemple.com.key > www.exemple.com.csr
 +</code>
 +
 +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.
 +
 +<code bash>
 +$ sudo apt-get install ssl-cert
 +</code>
 +
 +<code bash>
 +$ sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/vhost1.domain.pem
 +</code>
 +
 +==== 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  
 +<code bash>
 +$ sudo cp default-ssl vhost1-ssl
 +</code>
 +
 +Mettre à jour la directive **SSLCertificateFile** en indiquant le nom du certificat précédemment généré.
 +
 +<file>
 +SSLCertificateFile    /etc/ssl/private/vhost1.domain.pem
 +</file>
 +
 +
 +Activer le module SSL
 +<code bash>
 +$ sudo a2enmod ssl
 +$ sudo a2enssite vhost1-ssl
 +$ sudo service apache2 reload
 +</code>
 +
 +===== Références =====
 +
 +  * https://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl
 +  * https://fr.wikipedia.org/wiki/Certificat_%C3%A9lectronique
 +  * https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04