Les en-têtes HTTP de sécurité (ou security headers) sont un élément essentiel pour renforcer la protection d’un site web contre de nombreuses attaques courantes : injections de code, vol de données, scripts malveillants (XSS) ou encore clickjacking. Sur un hébergement Madagascar Internet, vous pouvez facilement configurer ces en-têtes via le fichier .htaccess présent à la racine de votre site (dans le dossier public_html).
1. Pourquoi les en-têtes HTTP sont importants
Les navigateurs modernes interprètent ces directives pour limiter certaines fonctionnalités, restreindre les comportements dangereux et refuser le chargement de contenus non sécurisés. Ils constituent une protection complémentaire à vos extensions de sécurité et à votre pare-feu serveur (ModSecurity déjà actif sur nos serveurs).
2. Activer les principaux en-têtes de sécurité
Pour activer les en-têtes de sécurité, il suffit d’ajouter les lignes suivantes dans votre fichier .htaccess :
# Empêche l’intégration du site dans des iframes (protection anti-clickjacking) Header always set X-Frame-Options "SAMEORIGIN" # Bloque la détection automatique du type MIME Header always set X-Content-Type-Options "nosniff" # Empêche le chargement du site sur une connexion non sécurisée Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" # Active la protection contre les attaques XSS dans les navigateurs compatibles Header always set X-XSS-Protection "1; mode=block" # Indique au navigateur de refuser le référencement automatique d’images ou documents Header always set Referrer-Policy "strict-origin-when-cross-origin" # Définit une politique de contenu stricte (CSP) Header set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; font-src 'self' data: https:;"
Ces en-têtes améliorent considérablement la sécurité de votre site sans affecter son affichage. ⚠️ Toutefois, une politique Content-Security-Policy (CSP) trop restrictive peut bloquer certains scripts (Google Fonts, reCAPTCHA, etc.). Si vous constatez des erreurs d’affichage, vérifiez la console du navigateur (Outils de développement → Console) et adaptez la directive CSP en conséquence.
3. Tester vos en-têtes de sécurité
Une fois les en-têtes ajoutés, il est recommandé de tester leur bon fonctionnement. Plusieurs outils gratuits permettent d’analyser vos paramètres :
- https://securityheaders.com/ (par Scott Helme)
- Mozilla Observatory
- Les outils développeurs de votre navigateur (onglet Réseau → En-têtes).
4. Ajouter des en-têtes supplémentaires (optionnels)
- Permissions-Policy : contrôle l’accès aux fonctionnalités du navigateur (caméra, micro, géolocalisation, etc.)
Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"
- Cross-Origin-Resource-Policy (CORP) : empêche le chargement de ressources externes non autorisées
Header always set Cross-Origin-Resource-Policy "same-origin"
- Cross-Origin-Opener-Policy (COOP) : isole votre site des contextes inter-domaines
Header always set Cross-Origin-Opener-Policy "same-origin"
5. Bonnes pratiques
- Appliquez les en-têtes de sécurité sur tous les domaines et sous-domaines.
- Testez les changements sur un site de préproduction avant de les appliquer en production.
- Surveillez régulièrement les rapports d’erreurs dans votre navigateur et ajustez la politique CSP si nécessaire.
- Combinez ces protections avec un certificat SSL (AutoSSL activé par défaut sur nos serveurs).
6. En résumé
Mettre en place des security headers est une étape essentielle pour renforcer la sécurité côté navigateur. Ces paramètres, simples à implémenter via .htaccess, complètent efficacement les protections serveurs déjà en place chez Madagascar Internet. Ils contribuent à protéger vos utilisateurs, vos données et votre réputation en ligne contre la majorité des menaces web modernes.