Apache HTTP Server fait tourner une grande partie du web.
Sa configuration par défaut fonctionne, mais laisse plusieurs portes ouvertes côté sécurité.
Ce guide détaille le durcissement d'Apache, en-têtes HTTP, TLS, modules à désactiver, isolation des vhosts.
Plan de l'article
- Masquer les informations sensibles
- Activer HTTPS et forcer TLS
- Configurer les en-têtes de sécurité
- Restreindre les accès aux répertoires
- Bonnes pratiques supplémentaires
- Conclusion
Masquer les informations sensibles
Évitez d'exposer la version d'Apache et du système :
Fichier /etc/apache2/conf-available/security.conf :
ServerTokens Prod
ServerSignature Off
Activer HTTPS et forcer TLS
Installer le module SSL et générer un certificat (exemple avec Let's Encrypt) :
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
Forcer l'utilisation de TLS et interdire les protocoles obsolètes :
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
Configurer les en-têtes de sécurité
Dans /etc/apache2/conf-available/security.conf :
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Content-Security-Policy "default-src 'self'"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Activer le module headers :
sudo a2enmod headers
sudo systemctl restart apache2
Restreindre les accès aux répertoires
Exemple dans un VirtualHost :
<Directory /var/www/html>
Options -Indexes
AllowOverride None
Require all granted
</Directory>
👉 Options -Indexes empêche la navigation dans les répertoires.
👉 AllowOverride None limite l'usage des .htaccess.
Bonnes pratiques supplémentaires
- Désactiver les modules non utilisés (
a2dismod). - Restreindre l'accès SSH et surveiller les journaux (
/var/log/apache2/). - Déployer un WAF (Web Application Firewall).
- Garder Apache et OpenSSL à jour.
Conclusion
Ces réglages réduisent nettement la surface d'attaque de votre serveur Apache. Un serveur bien configuré coupe l'accès aux menaces courantes avant qu'elles n'atteignent vos applications web.
Pour une alternative côté débit, voyez Nginx avancé, et ajoutez un WAF comme ModSecurity en seconde barrière.


