Publié le
17 avril 2024
Dans le vaste univers de l'administration de serveurs web, la sécurité s'impose comme une préoccupation majeure. À mesure que la transmission de données entre clients et serveurs devient vitale, en garantir la protection n'est plus négociable. Dans ce contexte, déployer un serveur web sur une distribution Linux implique une tâche fondamentale : assurer la sécurité des données transmises. Au premier rang de cette démarche figure la mise en œuvre du chiffrement Transport Layer Security (TLS). Pour toute personne impliquée dans le développement ou l'hébergement web, maîtriser le chiffrement TLS n'est pas seulement une bonne pratique, mais une compétence fondamentale pour protéger les informations sensibles échangées sur le web.
Dans ce premier article de notre série : Installer des serveurs web sur différentes distributions Linux, nous détaillons le processus d'installation et de configuration de l'un des serveurs web les plus populaires sous Linux, « Apache Httpd », afin d'activer le chiffrement TLS sur des systèmes d'exploitation répandus tels que Red Hat Enterprise Linux (RHEL), Debian et OpenSUSE. Ce guide détaillé propose des étapes claires et concrètes pour ajouter une couche de sécurité supplémentaire à vos serveurs web Apache Httpd, garantissant ainsi la confidentialité et l'intégrité des communications.

Mais avant de plonger dans le processus de configuration, il est essentiel de s'assurer que les prérequis suivants sont remplis :
Prérequis :
Mettez à jour les paquets déjà installés. Des privilèges spécifiques seront requis pour certaines opérations tout au long de la procédure :
RHEL
dnf update -y
Note : utilisez yum si dnf n'est pas présent sur la machine.
Ubuntu
apt update –y
Note : utilisez apt-get si apt n'est pas présent sur la machine.
OpenSUSE
zypper refresh
Installation d'Apache :
Saisissez la commande correspondant à votre système :
Envie de mettre en pratique ces bonnes pratiques PKI ?
Bénéficiez des conseils de nos experts pour déployer des solutions PKI sécurisées au sein de votre organisation.
Demander de l'aideRHEL
dnf install -y net-tools httpd
Ubuntu
sudo apt install apache2
OpenSUSE
zypper install -y apache2
Note : le service ne devrait pas encore avoir démarré. Vous pouvez le lancer avec la commande systemctl start httpd , après quoi il commencera à écouter sur le port 80 par défaut. Ce n'est pas sécurisé ; il est fortement recommandé d'utiliser https (port 443) plutôt que http (port 80).
Configuration d'Apache pour le chiffrement TLS :
Le paquet mod_ssl est requis. Saisissez ensuite les commandes correspondant à votre système :
RHE
dnf install -y mod_ssl
Ubuntu
apt a2enmod ssl
Stockez ensuite la clé privée, le certificat TLS et le certificat de l'AC dans le répertoire de votre choix.
Une fois cela fait, éditez le fichier /etc/httpd/conf.d/ssl.conf (/etc/apache2/sites-available/default-ssl.conf sous Ubuntu et OpenSUSE) et, sous la directive <VirtualHost _default_:443>, suivez les instructions ci-après :
Définissez le nom du serveur :
ServerName url.com
Si différents alias doivent être utilisés pour le serveur, ils doivent être ajoutés dans le champ Subject Alternative Name du certificat. Pour ajouter ces noms alternatifs à la configuration, ajoutez la ligne suivante :
ServerAlias www.url.com *.url.com
Définissez les chemins vers la clé privée, le certificat TLS et le certificat de l'AC. Le Common Name du certificat TLS doit correspondre au nom qui sera utilisé pour le serveur (ici, url.com). Ces certificats peuvent être générés à l'aide de la PKI de Stream ou de l'autorité d'enregistrement d'Horizon.
type: embedded-entry-inline id: 6iVFmA9kTYCvDuSTGNOAH2
Note : par défaut, TLS 1.2 et TLS 1.3 sont activés. Pour une sécurité renforcée, vous pouvez n'activer que TLS 1.3 en ajoutant la ligne suivante :
SSLProtocol -All +TLSv1.3
Sécurisez la clé privée et limitez son accessibilité en la rendant accessible uniquement à l'utilisateur root. Pour ce faire, faites de l'utilisateur root le propriétaire du fichier de clé et rendez le fichier lisible et modifiable uniquement par l'utilisateur root.
chown root:root /path/url.com.key
chmod 600 /path/url.com.key
Démarrez ou redémarrez le service :
[RHEL] systemctl restart httpd
[Ubuntu/OpenSUSE] systemctl restart apache2
Conclusion :
Installer un serveur web sur une distribution Linux est une étape déterminante dans la mise en place d'un environnement d'hébergement web. Le choix dépend de vos besoins et préférences spécifiques : chaque solution offre des fonctionnalités robustes et des optimisations de performance pour servir efficacement du contenu web. En suivant les instructions d'installation adaptées à votre distribution Linux, vous pouvez rapidement mettre en place un serveur web fiable et commencer à héberger vos sites ou applications à destination du monde entier.