Skip to content

Kévin Dunglas

Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, Mercure.rocks, Vulcain.rocks and of some Symfony components.

Menu
  • Talks
  • Resume
  • Sponsor me
  • Contact
Menu

Sécurisez votre blog WordPress !

Posted on March 13, 2008July 23, 2008 by Kévin Dunglas

L’installation par défaut de WordPress pose quelques gênants problèmes de sécurité. Nous allons nous employer à les corriger.

Cachez le contenu des répertoires internes

Par défaut, WordPress ne bloque pas l’accès à tous les répertoires nécessaires à son fonctionnement que le public ne devrait pas pouvoir consulter. C’est le cas du très sensible répertoire wp-content/plugins. Les plugins que vous installez peuvent avoir étaient développés par des programmeurs novices ou ne pas avoir été correctement audités et contenir des failles de sécurité. Par défaut, WordPress permet à n’importe qui de lister les plugins que vous avez installé. Pour y remédier, entrez la ligne suivante dans votre fichier .htaccess, à la racine de votre répertoire :
Options -Indexes
Désormais, si un curieux tente d’accéder à des répertoires sensibles, il ne verra qu’une erreur 403.

Supprimez le numéro de version des meta-tags

De nombreux thèmes WordPress dont celui par défaut affichent un vilain meta-tag :
<meta name="generator" content="WordPress 2.3.3" /> <!-- leave this for stats please -->
Le petit commentaire associé ni changera rien, ce meta-tag est une très mauvaise idée ! Il permet aux pirates de connaitre instantanément quelle version du logiciel vous utilisez et quelles sont les failles de sécurité qui la touchent. Il pourrait même permettre à un robot d’attaquer massivement les sites utilisant des WordPress non mis-à-jour.

La aussi, la correction est simple, ouvrez le fichier header.php de votre thème (dans le répertoire wp-content/themes/default/ pour le thème par défaut) et cherchez :
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats -->
Si vous êtes sans états d’âmes pour les statistiques de WordPress supprimez simplement la ligne, sinon remplacez-la par :
<meta name="generator" content="WordPress" /> <!-- leave this for stats -->
Espérons que WordPress 2.5 corrigera ces problèmes.

Pour finir, quelques conseils en vrac

  • Bien-entendu, veillez à toujours tenir à jour votre WordPress et tous ses plugins.
  • Désactivez et supprimez les plugins que vous n’utilisez pas.
  • N’hésitez pas à renforcer la protection du dossier wp-admin/ par un fichier .htaccess.
  • Masquez également la version d’Apache et de PHP utilisée en mettant ServerTokens à Prod.

Related posts:

  1. Plugin pour intégrer Scoopeo à votre blog WordPress
  2. Plugin Scoopeo pour WordPress v0.3
  3. Using SocialShare with WordPress to create custom social networks buttons
  4. Sécuriser tant bien que mal une application Symfony installée dans un sous-répertoire

3 thoughts on “Sécurisez votre blog WordPress !”

  1. Ptitkarl says:
    March 13, 2008 at 6:07 pm

    Merci pour ce petit tuto de sécurisation !

    Reply
  2. Pingback: Répéré chez zataz : at Les contrefacons ne valent jamais l’originale.com …
  3. Thierry Benquey says:
    April 5, 2008 at 5:22 pm

    La version 2.5 utilise la ligne de code que tu proposes comme quoi les grands esprits se rencontrent.
    Amitié
    Thierry

    Reply

Leave a Reply Cancel reply

Follow me on Twitter

My Tweets

Subscribe to this blog

Recent Posts

  • Symfony ImportMaps: Manage Your JavaScript Dependencies Without Node
  • Read the Linux Manual Pages on Mac and BSD, Directly From the Terminal
  • Ne vous lamentez pas, organisez-vous !
  • FrankenPHP: The Modern Php App Server, written in Go
  • API Platform 3 Is Released!

Top Posts & Pages

  • Symfony ImportMaps: Manage Your JavaScript Dependencies Without Node
  • Securely Access Private Git Repositories and Composer Packages in Docker Builds
  • JSON Columns and Doctrine DBAL 3 Upgrade
  • Preventing CORS Preflight Requests Using Content Negotiation
  • Goroutines, threads, and thread IDs
  • Generate a Symfony password hash from the command line
  • FrankenPHP: The Modern Php App Server, written in Go
  • API Platform 3 Is Released!
  • Symfony's New Native Docker Support (Symfony World)
  • Symfony UX Turbo: Do You Still Need JavaScript?! (SymfonyWorld)

Persistence in PHP with the Doctrine ORM

Persistence in PHP with the Doctrine ORM

Tags

Apache API API Platform Buzz Caddy Docker Doctrine Go Google GraphQL HTTP/2 Hydra hypermedia Hébergement Javascript JSON-LD Kubernetes La Coopérative des Tilleuls Les-Tilleuls.coop Lille Linux Mac Mercure Messagerie Instantanée MySQL PHP Punk Rock Python React REST Rock'n'Roll RSS Schema.org Security SEO SEO Symfony Symfony Live Sécurité Twitter Ubuntu Web 2.0 Wordpress XHTML XML

Archives

Categories

  • DevOps (25)
  • Mercure (4)
  • Opinions (91)
  • Programming (186)
    • Android (5)
    • Go (13)
    • JavaScript (44)
    • PHP (144)
      • API Platform (65)
      • Symfony (90)
    • Python (14)
      • Django (5)
  • Security (15)
  • SEO (24)
  • Talks (39)
  • Ubuntu (68)
  • Wordpress (6)

Social

  • Mastodon
  • Twitter
  • LinkedIn
  • YouTube
  • GitHub

Links

  • API Platform
  • Les-Tilleuls.coop
  • Mercure.rocks
  • Vulcain.rocks
© 2023 Kévin Dunglas | Powered by Minimalist Blog WordPress Theme