Nouveau : Sprint d’opportunité IA et produit pour clarifier la prochaine décision.Découvrir le Sprint

Sécurité WordPress · 3 min de lecture

Sécuriser WordPress sur un VPS : une liste pratique de défense en profondeur

Le système à protéger inclut l’hôte, le serveur web, PHP, WordPress, les identités, le réseau, les mises à jour, les sauvegardes et la surveillance. Une extension de sécurité peut aider, mais elle ne crée pas les couches absentes.

Rédigé par Ludovic ChennebergPublié le Mis à jour le

MODÈLE D’INGÉNIERIE TECHNOCONCEPTIONARTEFACT EXPLICATIF

Du problème au logiciel exploitable

Une responsabilité continue relie la décision, l’architecture, la réalisation et l’exploitation.

SignalEnjeu d’affairesValeur · processus · contraintes
DécisionSystème cibleLimites · risques · responsabilités
RéalisationProduit completExpérience · logiciel · données
ExploitationProductionMesure · sécurité · amélioration
Modèle explicatif original — ni interface produit, ni preuve client.

1. Inventorier la surface d’attaque réelle

Listez ports publics, comptes SSH, comptes WordPress privilégiés, extensions, thèmes, tâches cron, API REST, XML-RPC, formulaires, répertoires inscriptibles, secrets, fournisseurs et flux de sauvegarde. Documentez le propriétaire et la raison de chaque exposition.

CISA maintient une liste de vulnérabilités exploitées connues; WordPress publie ses propres conseils de durcissement. Ces sources doivent alimenter l’inventaire, pas remplacer l’observation du serveur réel.

2. Mettre à jour le système et WordPress délibérément

Appliquez rapidement les correctifs de sécurité Debian, WordPress, PHP, serveur web, thèmes et extensions. Réduisez l’inventaire avant de l’automatiser : tout composant abandonné doit être retiré ou remplacé.

Pour un code applicatif verrouillé en production, désactivez les modifications depuis l’administration et utilisez une procédure de mise à jour contrôlée : sauvegarde, fenêtre de maintenance, mise à jour, validation, puis retour au verrouillage.

3. Durcir SSH sans perdre la voie de récupération

Utilisez des clés, interdisez la connexion root et les mots de passe, limitez les utilisateurs, désactivez transfert d’agent, redirection TCP et tunnels lorsqu’ils ne sont pas requis. Validez la configuration avec sshd -t avant rechargement.

Gardez la session courante ouverte et testez immédiatement une seconde connexion. Une mesure qui coupe l’accès opérationnel sans console de secours transforme un risque de sécurité en incident de disponibilité.

4. Appliquer un pare-feu à refus implicite

Exposez seulement les ports nécessaires — généralement SSH, HTTP et HTTPS — et gardez la base de données liée à l’interface locale. Validez aussi les règles du pare-feu infonuagique : un pare-feu hôte ne remplace pas la couche réseau du fournisseur.

Avant d’activer UFW, confirmez la règle SSH et conservez une voie de récupération. Documentez l’état précédent pour un retour arrière.

5. Retirer à PHP le droit de modifier le code

Le code WordPress devrait appartenir à un compte de déploiement ou à root et rester en lecture seule pour le processus web. Les écritures doivent être limitées aux téléversements, au cache et aux répertoires temporaires réellement utilisés.

Interdisez l’exécution de fichiers PHP dans uploads. Un téléversement malveillant ne devient alors pas automatiquement une porte d’exécution. Les permissions ne corrigent pas une vulnérabilité, mais elles en limitent les conséquences.

6. Protéger la frontière applicative

Imposez HTTPS à l’administration, MFA aux comptes privilégiés, moindre privilège, comptes individuels et secrets hors du dépôt. Retirez XML-RPC s’il n’est pas utilisé, limitez l’énumération d’utilisateurs REST et ajoutez des en-têtes de sécurité après validation de compatibilité.

Le CSP doit refléter les scripts, fontes, images et connexions réellement nécessaires. Un CSP décoratif trop permissif ne protège rien; un CSP trop strict non testé casse le site.

7. Détecter l’abus et préserver les preuves

Fail2ban peut bloquer les tentatives SSH répétées et les échecs d’authentification WordPress si ses expressions correspondent au format réel des journaux. Testez toujours les filtres avec fail2ban-regex avant activation.

Conservez les journaux assez longtemps pour enquêter, surveillez erreurs applicatives, changements de fichiers, disponibilité, certificats et sauvegardes. Évitez cependant de transformer la journalisation en collecte indéfinie de renseignements personnels.

8. Faire de la récupération une mesure de sécurité

Sauvegardez fichiers et base de données hors de la VM selon des objectifs de point et de temps de reprise. Chiffrez, limitez l’accès et testez une restauration. Une sauvegarde jamais restaurée est une hypothèse, pas un contrôle.

Chaque changement de sécurité doit produire un dossier horodaté, la configuration précédente et une commande de retour arrière. Vérifiez aussi les sommes de contrôle du cœur WordPress et l’intégrité des extensions connues.

Sources primaires à garder dans le runbook

Un registre de sources plus long est utile, mais la qualité vient de la traduction de ces recommandations en contrôles observables, responsables nommés et procédure de récupération.

Toutes les perspectivesFlux RSS

Passer du conseil à la réalisation

Vous planifiez un site technique, une plateforme ou une modernisation?

TechnoConception réunit jugement produit, architecture, réalisation, sécurité et responsabilité de production dans une même relation senior.

Perspectives connexes