Un site WordPress (et encore plus une boutique WooCommerce) est exposé en permanence : tentatives de connexion, robots, plugins vulnérables, injections. Une protection solide repose sur une routine simple, puis sur quelques réglages techniques bien ciblés. Cette checklist convient autant pour une activité à Lausanne et Vevey (Vaud) qu’a Genève et Carouge (Genève), Fribourg et Bulle (Fribourg), Sion et Martigny (Valais), Neuchâtel et La Chaux-de-Fonds (Neuchâtel), Delémont et Porrentruy (Jura).
Sources officielles : WordPress (Security), WordPress (Hardening), OWASP (HTTP Security Headers), OWASP (Secure Headers Project), MDN (HSTS), MDN (CSP), MDN (CSP frame-ancestors), OWASP (CSP Cheat Sheet).
1) La base qui évite la majorité des incidents
- Mettre à jour WordPress, thèmes et extensions régulièrement. WordPress rappelle que garder l’ensemble à jour est le geste le plus important.
- Réduire le nombre d’extensions : moins il y en a, moins il y a de surface d’attaque et de conflits.
- Sauvegardes testées : une sauvegarde n’est utile que si la restauration fonctionne (fichiers + base de données).
- Accès admin minimal : un compte administrateur par personne, pas de comptes partagés, et suppression des comptes inutiles.
2) Durcissement WordPress : permissions et fichiers sensibles
Le guide WordPress « Hardening » recommande des permissions de fichiers strictes et insiste sur une hygiène serveur adaptée.
- Permissions : éviter l’écriture inutile sur des répertoires qui n’en ont pas besoin.
- wp-config.php : protéger l’accès et limiter les risques d’exposition.
- Surveillance : suivre les fichiers exécutables (ex. .php) et les modifications anormales, comme évoqué dans le guide.
3) Connexion : 2FA + protection du login
Deux mesures font une vraie différence :
- 2FA (authentification à deux facteurs) sur les comptes admin et éditeurs.
- Limiter les tentatives sur /wp-login.php et /wp-admin/ (rate limiting, challenge, blocage temporaire), surtout si le site est public.
Astuce : sur WooCommerce, rester prudent avec les challenges automatiques sur le checkout. La protection doit rester compatible avec l’achat.
4) En-têtes HTTP : une couche simple pour renforcer le navigateur
OWASP propose une synthèse claire des en-têtes de sécurité, et le projet OWASP Secure Headers explique leur rôle.
HSTS (Strict-Transport-Security)
HSTS indique au navigateur d’utiliser HTTPS pour les prochaines visites. MDN détaille le fonctionnement et précise que l’en-tête doit être envoyé via une réponse HTTPS.
CSP (Content-Security-Policy) et frame-ancestors
Une CSP bien pensée réduit certains risques côté navigateur. La directive frame-ancestors permet de contrôler quels sites peuvent intégrer vos pages dans une iframe (protection utile contre le clickjacking). MDN et OWASP donnent des repères concrets.
Exemple de jeu d’en-têtes (à adapter, à tester)
Exemple indicatif. Chaque site a ses contraintes (extensions, scripts tiers, iframes, paiement). Testez d’abord sur un environnement de staging.
# Exemple (principe) - à adapter selon serveur et site
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), camera=(), microphone=()
Content-Security-Policy: frame-ancestors 'self'
Repères : OWASP liste les en-têtes utiles, et MDN détaille HSTS et CSP, dont frame-ancestors.
5) WAF : utile si votre site est ciblé, à condition d’être mesuré
Un WAF (Web Application Firewall) peut filtrer une partie des attaques automatisées. L’idée n’est pas de tout bloquer, mais de réduire le bruit et de protéger les zones sensibles (login, xmlrpc si encore utilisé, endpoints exposés). Pour une boutique, testez toujours le parcours panier et paiement après activation de règles plus strictes.
Checklist rapide (15 minutes)
- Mises à jour en ordre (core, plugins, thème).
- Sauvegardes testées (restauration possible).
- 2FA activé pour admins, mots de passe uniques.
- Permissions et durcissement revus selon le guide WordPress.
- En-têtes HTTP ajoutés et testés (HSTS, CSP frame-ancestors, etc.).
- Logs et alertes minimum (connexions, modifications anormales).
FAQ Sécurité WordPress (Suisse romande)
Quel est le levier le plus important pour sécuriser WordPress ?
La mise à jour régulière du core, des thèmes et des extensions. WordPress indique que c’est l’action la plus importante pour la sécurité.
HSTS est-il risqué si je ne suis pas certain de mon HTTPS ?
HSTS suppose que votre site fonctionne correctement en HTTPS. MDN explique aussi que l’en-tête doit être envoyé via HTTPS. Avant d’activer HSTS, vérifiez les redirections et l’absence de contenu mixte.
Comment éviter le clickjacking sur WordPress ?
Utiliser une politique CSP avec frame-ancestors pour restreindre les parents autorisés. MDN et OWASP donnent des exemples et expliquent le principe.
Dois-je appliquer les mêmes règles à une boutique WooCommerce qu’a un site vitrine ?
La base est identique (mises à jour, 2FA, permissions). En revanche, les règles strictes (WAF, CSP) doivent être testées avec plus d’attention sur le panier et le paiement, car ces pages sont sensibles aux blocages.
Besoin d’un durcissement propre, sans casser WooCommerce ?
Pour auditer les risques, mettre en place 2FA, vérifier les permissions, ajouter des en-têtes HTTP cohérents et tester le parcours d’achat, contactez clickclick.ch.
Note : cet article est un guide technique général. Pour une situation sensible ou un contexte réglementé, un conseil spécialisé peut être nécessaire.