Publié le
16 avril 2024
Dans le vaste univers de l'administration de serveurs web, la sécurité est une préoccupation majeure. La transmission de données entre clients et serveurs étant de plus en plus vitale, sa protection devient indispensable. Dans ce contexte, la mise en place d'un serveur web sur une distribution Linux implique une tâche fondamentale : garantir la sécurité des données transmises. Au cœur de cette démarche se trouve la mise en œuvre du protocole de chiffrement TLS (Transport Layer Security). Pour toute personne impliquée dans le développement ou l'hébergement web, la maîtrise du chiffrement TLS est non seulement une bonne pratique, mais aussi une compétence essentielle pour la protection des informations sensibles échangées sur le web.
Dans ce premier article de notre série consacrée à l'installation de serveurs web sur différentes distributions Linux, nous détaillons le processus d'installation et de configuration d' Apache HTTP, l'un des serveurs web les plus populaires pour Linux, afin d'activer le chiffrement TLS sur des systèmes d'exploitation courants tels que Red Hat Enterprise Linux (RHEL), Debian et OpenSUSE. Ce guide détaillé fournit des instructions claires et pratiques pour implémenter une couche de sécurité supplémentaire sur vos serveurs web Apache HTTP, garantissant ainsi la confidentialité et l'intégrité des communications.
Installation et configuration d'Apache HTTP pour le chiffrement TLS - Procédure complète
Mais avant de se lancer dans le processus de configuration, il est essentiel de s'assurer que les conditions préalables suivantes sont remplies :
Prérequis :
Mise à jour des paquets existants. Des privilèges spéciaux seront nécessaires pour certaines opérations tout au long de la procédure :
RHEL
dnf update -y
Remarque : Utilisez yum si dnf n’est pas installé sur la machine.
Ubuntu
apt update –y
Remarque : Utilisez apt-get si apt n’est pas installé sur la machine.
OpenSUSE
zypper rafraîchir
Installation du processus Apache :
Écrivez les différentes commandes pour chaque système :
RHEL
dnf install -y net-tools httpd
Ubuntu
sudo apt install apache2
OpenSUSE
zypper install -y apache2
Remarque : Le service ne devrait pas encore être démarré. Vous pouvez le démarrer avec la `systemctl start httpd` . Il écoutera alors par défaut sur le port 80. Ce protocole n’est pas sécurisé ; il est fortement recommandé d’utiliser HTTPS (port 443) et non HTTP (port 80).
Vous souhaitez mettre en œuvre ces pratiques PKI ?
Bénéficiez de conseils d'experts sur la mise en œuvre de solutions PKI sécurisées pour votre organisation.
Obtenez l'aide d'un expertConfiguration d'Apache pour le chiffrement TLS :
Le mod_ssl est requis. Ensuite, saisissez les commandes suivantes pour chaque système :
RHE
dnf install -y mod_ssl
Ubuntu
apt a2enmod ssl
Ensuite, stockez la clé privée, le certificat TLS et le certificat d'autorité de certification dans le répertoire de votre choix.
Une fois cela fait, modifiez le fichier /etc/httpd/conf.d/ssl.conf ( /etc/apache2/sites-available/default-ssl.conf pour Ubuntu et OpenSUSE) et sous le
Indiquez le nom du serveur :
Nom du serveur url.com
Si différents alias doivent être utilisés pour le serveur, ils doivent être ajoutés dans le champ « Autre nom du sujet » du certificat. Pour ajouter ces noms alternatifs à la configuration, ajoutez la ligne suivante :
Alias du serveur www.url.com *.url.com
Indiquez les chemins d'accès à la clé privée, au certificat TLS et au certificat d'autorité de certification. Le nom commun du certificat TLS doit correspondre au nom du serveur (ici, url.com). Ces certificats peuvent être générés à l'aide de l'infrastructure à clés publiques (PKI) de Stream ou de l'autorité d'enregistrement d'Horizon.
Fichier de clé de certificat SSL "/chemin/url.com.key" Fichier de certificat SSL "/chemin/url.com.crt" Fichier de certificat d'autorité de certification SSL "/chemin/ca.crt"
Remarque : Par défaut, TLS 1.2 et TLS 1.3 sont activés. Pour une sécurité renforcée, il est possible d’activer uniquement TLS 1.3 en ajoutant la ligne suivante :
Protocole SSL - Tous + TLSv1.3
Sécurisez la clé privée et limitez son accessibilité en la rendant accessible uniquement à l'utilisateur root. Pour ce faire, désignez l'utilisateur root comme propriétaire du fichier de clé et assurez-vous qu'il soit le seul à pouvoir le lire et l'écrire.
chown root:root /chemin/url.com.key
chmod 600 /chemin/url.com.key
Démarrer ou redémarrer le service :
[RHEL] systemctl restart httpd
[Ubuntu/OpenSUSE] systemctl restart apache2
Conclusion:
L'installation d'un serveur web sur une distribution Linux est une étape cruciale de la mise en place d'un environnement d'hébergement web. Le choix de la distribution dépend de vos besoins et préférences spécifiques ; elle offre des fonctionnalités robustes et des optimisations de performance pour une diffusion efficace du contenu web. En suivant les instructions d'installation appropriées à la distribution Linux choisie, vous pouvez rapidement configurer un serveur web fiable et commencer à héberger vos sites web ou applications pour les rendre accessibles au monde entier.