ITSkillsCenter
Cybersécurité

Caddy headers sécurité CSP HSTS : guide pratique 2026

3 دقائق للقراءة

Les headers de sécurité HTTP sont l’une des défenses les plus simples et efficaces contre une grande variété d’attaques web : XSS, clickjacking, MITM, fuite d’info via Referer. Caddy permet de les configurer en quelques lignes de Caddyfile. Voici le guide pratique 2026 avec config recommandée.

Voir notre guide Caddy complet.

Headers indispensables

exemple.sn {
    reverse_proxy 127.0.0.1:3000

    header {
        # HSTS : forcer HTTPS pendant 1 an, inclure subdomains
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

        # Empêcher MIME sniffing
        X-Content-Type-Options "nosniff"

        # Empêcher clickjacking
        X-Frame-Options "DENY"

        # Politique Referer raisonnable
        Referrer-Policy "strict-origin-when-cross-origin"

        # Désactiver fonctions sensibles non utilisées
        Permissions-Policy "geolocation=(), camera=(), microphone=(), payment=()"

        # Cross-Origin policies
        Cross-Origin-Opener-Policy "same-origin"
        Cross-Origin-Embedder-Policy "require-corp"

        # Retirer le header serveur (réduction surface d'attaque)
        -Server
    }
}

Content Security Policy (CSP)

Le header le plus puissant contre XSS, mais aussi le plus difficile à configurer correctement. Une CSP stricte refuse tout sauf ce qui est explicitement autorisé :

header {
    Content-Security-Policy "
        default-src 'self';
        script-src 'self' 'sha256-XXXX' https://www.googletagmanager.com;
        style-src 'self' 'unsafe-inline';
        img-src 'self' data: https:;
        font-src 'self' data: https://fonts.gstatic.com;
        connect-src 'self' https://api.exemple.sn;
        frame-src 'none';
        object-src 'none';
        base-uri 'self';
        form-action 'self';
        upgrade-insecure-requests;
    "
}

Démarche pragmatique :

  1. Démarrer en mode Content-Security-Policy-Report-Only pendant 1-2 semaines pour collecter les violations sans bloquer
  2. Ajuster la policy au fur et à mesure
  3. Passer en mode enforcement quand stable

HSTS preload

Le flag preload dans HSTS permet de soumettre votre domaine au HSTS preload list, intégré nativement dans Chrome/Firefox/Safari. Une fois préchargé, votre domaine est forcé en HTTPS dès la première visite sans même avoir reçu le header HSTS.

  • Conditions : HSTS max-age ≥ 31536000, includeSubDomains, preload, redirection HTTP→HTTPS
  • Soumission : hstspreload.org
  • Attention : irréversible, vérifiez bien que TOUS vos subdomains supportent HTTPS avant de soumettre

Cookie sécurisé

Caddy ne définit pas les cookies (votre app le fait), mais vérifiez que votre app utilise les flags Secure, HttpOnly, SameSite=Lax/Strict sur les cookies de session. Vous pouvez forcer Set-Cookie via Caddy si nécessaire.

Tester votre config

Adaptation Afrique de l’Ouest

Pour les sites e-commerce ou bancaires en Afrique de l’Ouest, les headers sécurité ne sont plus optionnels : la conformité PCI-DSS, RGPD, et les exigences sectorielles BCEAO l’imposent. La bonne nouvelle : avec Caddy, vous obtenez une note A+ sur securityheaders.com en 10 lignes de configuration.

Erreurs fréquentes

ErreurCauseSolution
CSP casse le siteTrop strict d’embléeDémarrer en Report-Only puis ajuster
HSTS bloque pour toujoursTest HTTPS pas validéDémarrer max-age=300 (5min), puis monter
Frame-Options bloque iframe légitimeDENY trop strictSAMEORIGIN ou ALLOW-FROM
Cookies non secureApp pas configuréeSet-Cookie … Secure; HttpOnly

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité