0% ont trouvé ce document utile (0 vote)
45 vues4 pages

Configurer Le SSL Avec Apache 2

Ce document explique comment configurer SSL avec Apache 2 pour sécuriser un site web en utilisant le protocole HTTPS. Il couvre les méthodes pour activer SSL, générer des certificats, configurer Apache, désactiver le site HTTP, et rediriger automatiquement le trafic HTTP vers HTTPS. Enfin, il propose des recommandations pour vérifier la configuration SSL du site.

Transféré par

Christ DE YONG
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues4 pages

Configurer Le SSL Avec Apache 2

Ce document explique comment configurer SSL avec Apache 2 pour sécuriser un site web en utilisant le protocole HTTPS. Il couvre les méthodes pour activer SSL, générer des certificats, configurer Apache, désactiver le site HTTP, et rediriger automatiquement le trafic HTTP vers HTTPS. Enfin, il propose des recommandations pour vérifier la configuration SSL du site.

Transféré par

Christ DE YONG
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Configurer le SSL avec Apache 2

Sommaire [-]

• I. Présentation
• II. Méthode rapide
• III. Génération des certificats
• IV. Configuration d’Apache
• V. Désactiver le site HTTP
• VI. Rediriger le HTTP vers HTTPS automatiquement
• VII. Vérifiez votre configuration
I. Présentation

Lorsqu’on met en place un serveur web Apache ou un serveur web complet LAMP utilisant Apache, le site par défaut
qui est actif utilise le protocole non-sécurisé HTTP et écoute sur le port 80. Pour des soucis de sécurité et de
confidentialité de l’information, il peut être intéressant de passer ce site en HTTPS qui écoute quant à lui sur le port
443.

Il y a plusieurs méthodes pour mettre en place un site HTTPS sous Apache 2 :

• Méthode rapide : Consiste à utiliser les certificats SSL par défaut d’Apache 2 (étape n°2 du cours).
• Méthode manuelle : Consiste à générer des certificats SSL et de les indiquer dans la configuration d’Apache 2
(à partir de l’étape n°3 jusqu’à la fin).
II. Méthode rapide

Par défaut Apache 2 contient deux sites préconfigurés : « default » et « default-ssl » qui pointent tous les deux vers le
répertoire « /var/www » mais le premier écoute sur le port 80 (HTTP) et le second sur le port 443 (HTTPS). Dans la
configuration d’origine, seul le site « default » est actif ce qui permet d’accéder à la page « It Works ! » d’Apache tout
de suite après avoir effectué l’installation. Vu que le site par défaut SSL, il est pré-configuré pour fonctionner. De ce
fait, il suffit d’effectuer deux choses pour le rendre actif et opérationnel :

• Activer le module SSL d’Apache


• Activer le site « default-ssl » d’Apache
Une fois que ces deux activations sont effectuées, il suffit de recharger Apache et le site sera accessible en HTTPS. Voici
les commandes à saisir :

a2enmod ssl
a2ensite default-ssl
service apache2 reload
Vous remarquerez qu’il n’y a pas eu besoin de générer de certificat SSL. En effet, il y en a déjà un par défaut (valable
10 ans) comme je vous le disais et on peut voir où il se trouve en regardant de plus près le fichier « default-ssl » situé
dans « /etc/apache2/sites-available » :
III. Génération des certificats

La sécurisation des échanges entre le client et le serveur grâce au protocole HTTPS implique l’utilisation d’un certificat
SSL. Pour cela, nous allons générer un certificat pour notre serveur web grâce à l’outil OpenSSL. On aurait pu également
utiliser « ssl-cert » à la place de l’application OpenSSL.

Cette procédure requiert OpenSSL 1.0.1j au minimum.

Installez le paquet OpenSSL si vous ne l’avez pas :

apt-get update
apt-get install openssl
Remarque : Un réel certificat doit être signé par une autorité de certification (CA) pour être signé et valide, comme par
exemple Verisign, Thawte ou encore CertiSign. A moins que si vous disposez de votre propre autorité de certification,
qu’il faudra penser à déclarer dans vos navigateurs pour ne pas avoir de messages d’avertissement. En ce qui nous
concerne, nous allons générer un certificat auto-signé (donc non certifié) qui est gratuit et très bien pour une utilisation
personnelle puisqu’il n’offre pas les mêmes garanties en terme de sécurité. Notamment parce que n’importe qui peut
auto-signer un certificat donc ça ne vérifie pas l’identité de l’émetteur.

Afin de générer le certificat et sa clé, saisissez la commande suivante :

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -sha256 -out /etc/apache2/server.crt -keyout
/etc/apache2/server.key

Elle vous permettra d’obtenir un certificat « server.crt » valable pour 1 an (365 days) en s’appuyant sur la norme de
cryptographie X.509 et, sa clé privée « server.key ». Pour plus de sécurité, la clé sera en RSA 2048 bits et le
hashage SHA-256 plutôt que MD5.

Note : Pour préciser la durée de validité du certificat indiquez l’option « -days » suivit du nombre de jours.

Pendant la génération, on vous demandera des informations concernant votre identité comme le code pays, la localité,
une adresse mail, le nom de l’entreprise, etc…

Pour finir on modifie les permissions sur la clé afin de ne pas autoriser la lecture par les « autres » mais uniquement
par le propriétaire et le groupe propriétaire.

chmod 440 /chemin/server.crt


IV. Configuration d’Apache

Le certificat et la clé générés par défaut sont stockés dans « /etc/ssl/certs » et « /etc/ssl/private » mais si vous
souhaitez stocker vos fichiers ailleurs, il faudra l’indiquer à Apache. Pour cela, éditez le fichier « default-ssl » contenant
la configuration du site SSL. Il se trouve ici :

/etc/apache2/sites-available/default-ssl

Modifiez ces deux options si nécessaire afin d’indiquer le chemin vers vos fichiers :

SSLCertificateFile /chemin/server.crt
SSLCertificateKeyFile /chemin/server.key
Suite aux dernières vulnérabilités découvertes au sein du protocole SSL en 2014, il est recommandé également
d'effectuer la configuration suivante dans Apache pour plus de sécurité :

SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2


SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:HIGH:!MD5:!aNULL:!EDH:!RC4
SSLCompression off
Enregistrez puis quittez le fichier de configuration du site SSL. Ensuite, activez le module SSL et le site SSL :

a2enmod ssl
a2ensite default-ssl
service apache2 reload
Accédez à votre site en utilisant le préfixe HTTPS dans l’URL, cela devrait fonctionner. D’ailleurs, si vous visualisez les
informations du certificat obtenu vous verrez ce que vous avez saisit lors de la génération :

V. Désactiver le site HTTP

Si vous souhaitez qu’on accède à votre site web uniquement via le protocole HTTPS, il est intéressant de désactiver le
site accessible sur le port 80 c’est-à-dire le site « default ». Pour cela on utilise la commande « a2dissite » qui permet
de désactiver des sites dans Apache 2.

a2dissite default

Vous pouvez ensuite essayer d’accéder à votre site en HTTP et vous verrez qu’il n’est plus accessible.

VI. Rediriger le HTTP vers HTTPS automatiquement

Plutôt que de désactiver le site HTTP, on peut le laisser activer sauf qu'on va le configurer de façon à rediriger de
manière permanente les requêtes HTTP vers HTTPS autrement dit les requêtes sur le port 80 vers le port 443.

Pour cela, modifiez le fichier suivant :


/etc/apache2/sites-available/default

Dans le virtualhost, ajoutez la ligne suivante :

Redirect permanent / https://server.domain.fr?

Adaptez la ligne ci-dessus avec votre nom de domaine. Ensuite, il ne vous reste plus qu'à recharger la configuration
d'Apache puis de tester la redirection :

service apache2 reload

VII. Vérifiez votre configuration

En utilisant le site indiqué ci-dessous, vous pourrez vérifier la sécurité de votre site au niveau HTTPS et savoir si votre
configuration est bonne.

Vous aimerez peut-être aussi