« Apache2 » : différence entre les versions
Ligne 1 : | Ligne 1 : | ||
== Certificat SSL == | == Certificat SSL == | ||
Un certificat SSL permet de crypter les échanges entre le client et le serveur. Ce type de certificat est utilisé par le protocole http sécurisé (https) pour sécurisé les échanges dans le cadre d'échange de données sensibles ''(paiement en ligne, banque en ligne, sites gouvernementaux)''. | Un certificat '''SSL''' permet de crypter les échanges entre le client et le serveur. Ce type de certificat est utilisé par le protocole '''http sécurisé ''(https)''''' pour sécurisé les échanges dans le cadre d'échange de données sensibles ''(paiement en ligne, banque en ligne, sites gouvernementaux)''. | ||
Les certificat SSL sont délivrés par une autorité dédiée et reconnu de tous. Cela est visible dans le navigateur web où le cas échéant, un message d'avertissement apparaît. Il est possible de générer ses propres certificats sans faire appel aux services d'une autorité. Dans ce cas, on dira que le certificat est auto-signé. | Les certificat SSL sont délivrés par une autorité dédiée et reconnu de tous. Cela est visible dans le navigateur web où le cas échéant, un message d'avertissement apparaît. Il est possible de générer ses propres certificats sans faire appel aux services d'une autorité. Dans ce cas, on dira que le certificat est auto-signé. |
Version du 29 janvier 2014 à 17:02
Certificat SSL
Un certificat SSL permet de crypter les échanges entre le client et le serveur. Ce type de certificat est utilisé par le protocole http sécurisé (https) pour sécurisé les échanges dans le cadre d'échange de données sensibles (paiement en ligne, banque en ligne, sites gouvernementaux).
Les certificat SSL sont délivrés par une autorité dédiée et reconnu de tous. Cela est visible dans le navigateur web où le cas échéant, un message d'avertissement apparaît. Il est possible de générer ses propres certificats sans faire appel aux services d'une autorité. Dans ce cas, on dira que le certificat est auto-signé.
Certificat auto-signé
- Le certificat est généré par l'utilisateur. Pour pouvoir générer ses propres certificats, il faut installer le paquet openssl.
|
|
- Génération de la clé ssl. La clé peut avoir les longueurs de 512, 1024 ou 2048. Cependant, on préférera une longueur de 2048 qui est la plus complexe et donc la plus difficile à corrompre. L'algorithme de cryptage utilisé pour créer notre clé est le RSA (algorithme de cryptage asymétrique).
|
|
|
Le dossier /etc/ssl/private est présent pour contenir vos clés et certificats privés. |
- Ensuite, il s'agit de créer le certificat qui sera récupéré par le navigateur web avec toutes les données relatives à l'autorité fournissant le certificat ainsi que la clé de partage :
|
|
- Enfin, on signe le certificat précédemment crée pour une durée de validité de 1 an (365 jours) :
|
|
Utilisation dans Apache2
Le protocole https écoute sur le port 443. Il faudra donc modifier la configuration d'Apache2 pour répondre aux conditions suivantes :
- Écouter sur le port 443.
- Permettre des hôtes virtuels sur le port 443.
Configuration de /etc/apache2/ports.conf
- Nous allons y ajouter les éléments suivants :
NameVirtualHost *:443 Listen *:443
- Et, à la fin, si ce dernier n'existe déjà pas :
<IfModule mod_gnutls.c> Listen 443 </IfModule>
- On redémarre Apache2 pour prendre en compte ces modifications :
|
|
Création du site web SSL
Dans notre exemple, nous créons le site www.mon-site.fr accessible via https://.
- Création du fichier /etc/apache2/sites-available/mon-site.fr.conf.
|
|
- On édite le fichier et on y renseigne les lignes suivantes :
<VirtualHost *:443> DocumentRoot /var/www/mon-site.fr/www/ ServerName www.mon-site.fr <Directory /var/www/mon-site.fr/www/> allow from all Options +Indexes </Directory> SSLEngine on SSLCertificateFile /etc/ssl/private/mon-site.fr.crt SSLCertificateKeyFile /etc/ssl/private/mon-site.fr.key </VirtualHost>
- On redémarre Apache2 pour prendre en compte ces modifications :
|
|