Agilité, Développement Java, Nouvelles technologies et plus…
  • rss
  • Accueil
  • Management
  • Programmation agile
  • Technologie
  • Linux
  • Evénement
  • App Android
  • Contact
  • A propos de l'auteur
  • English
  • Francais

Conseils pour sécuriser votre site WordPress

Fabian Piau | mercredi 10 octobre 2018 - 18:43
  • Imprimer
  • Twitter
  • LinkedIn
  • Facebook
  • Pocket

 English version available

Mise à jour
14 Janvier 2021 : Mise à jour des security headers, remplacement de « Feature-policy » par « Permissions-policy ».

WordPress est l’un des systèmes de gestion de contenu (CMS) les plus populaires. Cette popularité signifie également que c’est une cible de choix pour les pirates.
Dans cet article, je vais vous donner quelques conseils pour protéger votre site web et éviter les attaques.


1. Utiliser les dernières versions

Cela est vrai pour WordPress, mais également pour toutes vos extensions. De nouvelles versions sont disponibles régulièrement. Si un plugin n’a pas été mis à jour depuis un moment, il n’est probablement plus maintenu et vous devriez sérieusement songer à le supprimer ou le remplacer. Dans une moindre mesure, ceci est également applicable pour votre thème.
La version de PHP utilisée est également importante. Vérifiez auprès de votre fournisseur d’hébergement que vous utilisez la dernière version de PHP (7.X), en particulier, les versions 5.X ne seront plus supportées d’ici la fin de l’année.
Notez également que plus vous installez d’extensions, plus vous prenez des risques, car votre configuration WordPress reposera sur davantage de code tiers. Vous ne devriez garder que les plugins dont vous avez vraiment besoin. Si un plugin est désactivé, ne conservez pas son code source et supprimez tous les fichiers associés.


2. Utiliser des identifiants de connexion sécurisés

Ne jamais utiliser l’utilisateur admin par défaut. Si c’est votre cas, désactivez ce compte et créez votre propre compte avec un nom d’utilisateur personnalisé.
Choisissez un mot de passe complexe. Si plusieurs utilisateurs gèrent votre site Web, assurez-vous que les autorisations sont valides et évitez de donner le droit d’administration à tout le monde.


3. Scanner votre site web

C’est un moyen facile et rapide de trouver des vulnérabilités et de voir si l’un de vos plugins est vulnérable ou non. Vous pouvez utiliser ces 2 outils en ligne:

  • WordPress Security Scan (mon préféré avec un rapport détaillé)
  • WPSec


4. Utiliser des fichiers .htaccess pour protéger vos répertoires

Le fichier .htaccess est un fichier de configuration pour le serveur. Il vous permet de définir des règles à suivre par celui-ci.

Par exemple, dans /wp-content/uploads, j’ai créé le fichier .htaccess suivant:

# Refuser l'accès à tout par défaut
Order deny,allow
Deny from all

# Autoriser l'accès aux fichiers multimédia
<FilesMatch '\.(jpg|jpeg|png|gif|bmp|zip|rar|pdf)$'>
    Allow from all
</FilesMatch>

Cette configuration garantit que seuls les fichiers multimédias sont accessibles à partir du navigateur. Tous les fichiers JavaScript et PHP seront non accessibles. Ce n’est pas sans faille, car seule l’extension est vérifiée, mais c’est mieux que rien.

Pour éviter l’exécution de code PHP malveillants dans certains dossiers (par exemple, dans /wp-includes), vous pouvez créer un autre fichier .htaccess avec le contenu suivant:

<Files *.php>
Order allow,deny
Deny from all
</Files>


5. Vérifier les autorisations sur les fichiers et répertoires

Assurez-vous que les fichiers critiques (wp-config.php, php.ini…) ne sont pas accessibles en écriture publiquement, mais en lecture seule. Seul le propriétaire devrait pouvoir écrire.


6. Utiliser les « security headers »

Vous pouvez consulter cet outil en ligne pour connaître quels headers vous supportez actuellement.

Dans le dossier racine, mettez à jour le fichier .htaccess et ajoutez:

# Extra Security Headers
<IfModule mod_headers.c>
	Header set Strict-Transport-Security 'max-age=31536000; includeSubDomains'
	Header set X-XSS-Protection '1; mode=block'
	Header set X-Frame-Options 'sameorigin'
	Header set X-Content-Type-Options 'nosniff'
	Header unset Server
	Header always unset X-Powered-By
	Header unset X-Powered-By
	Header unset X-CF-Powered-By
	Header unset X-Mod-Pagespeed
	Header unset X-Pingback
</IfModule>

Dans le fichier wp-config.php, ajoutez:

/** Extra Security */
header('X-Frame-Options: SAMEORIGIN');
header('X-XSS-Protection: 1; mode=block');
header('X-Content-Type-Options: nosniff');
header('Strict-Transport-Security:max-age=31536000; includeSubdomains; preload');
header('Referrer-Policy: no-referrer-when-downgrade');
header('Content-Security-Policy: upgrade-insecure-requests');
header('Permissions-Policy: autoplay=(), camera=(), encrypted-media=(), fullscreen=(), geolocation=(), microphone=(), midi=(), payment=()');
header_remove('X-Powered-By');
header_remove('Server');
header_remove('X-CF-Powered-By');
header_remove('X-Mod-Pagespeed');
header_remove('X-Pingback');
@ini_set('session.cookie_httponly', true);
@ini_set('session.cookie_secure', true);
@ini_set('session.use_only_cookies', true);


7. Ne pas exposer trop d’informations

Dans le dossier racine de votre site Web, dans php.ini, ajoutez la ligne suivante:

expose_php = Off

Votre version actuelle de PHP ne sera pas exposée.


8. Sauvegarder votre site régulièrement

Dernier conseil, mais non le moindre! Vous n’avez pas besoin d’un logiciel particulier ou d’un plugin supplémentaire pour y parvenir.

  • Avec votre outil FTP préféré (par exemple, Filezilla), enregistrez tous les fichiers disponibles sur votre serveur.
  • Pour la base de données, utilisez la fonctionnalité de sauvegarde MySQL disponible. De nombreux hébergeurs fournissent un accès à phpMyAdmin, un outil en ligne.

Je recommande de faire une sauvegarde tous les mois et de conserver l’historique des 6 dernières sauvegardes dans un endroit sûr. Bien évidemment, cela dépend du volume d’articles que vous écrivez et de l’importance de vos données.


C’est tout! Si vous avez fait tout ce qui précède, votre site Web devrait être plus résistant aux attaques. Dans le pire des cas, vous devriez pouvoir restaurer votre site facilement.

Bon blogage sécurisé!

Articles similaires

Maven sitePlus loin avec le Maven Site IT securityQuelques règles essentielles pour éviter de se faire pirater ses comptes Apache CamelUne première approche du Camel d’Apache printerOptimiser votre site web pour l’impression en 5 minutes
Commentaires
Pas de Commentaires »
Catégories
Technologie
Tags
piratage, pirate, sécurité, wordpress
Flux rss des commentaires Flux rss des commentaires

Quelques règles essentielles pour éviter de se faire pirater ses comptes

Fabian Piau | vendredi 1 novembre 2013 - 10:15
  • Imprimer
  • Twitter
  • LinkedIn
  • Facebook
  • Pocket

 English version available

Remarque
Avril 2014, l’internet mondial découvre la faille de sécurité « Heartbleed ». Il est recommandé de changer tous vos mots de passe. Tournez Heartbleed à votre avantage en choisissant de meilleurs mots de passe :)

Quand on pense sécurité informatique, on pense souvent aux antivirus, aux pare-feu (firewall) et autres logiciels de sécurité. Bien souvent, on oublie qu’une des premières causes du piratage, et bien… c’est vous!

Le pirate informatique

Mieux vaut prévenir que guérir.

Vous connaissez ce vieil adage, il s’applique aussi en informatique.


Une bonne sécurité passe d’abord par un bon mot de passe

(sans vouloir faire de jeu de mots)

  • Utilisez un mot de passe différent par application. Au moins, si quelqu’un trouve votre mot de passe pour Facebook, il ne pourra pas l’utiliser pour se connecter à votre compte Twitter.

  • A l’heure actuelle, beaucoup de sites (même des connus) ne chiffrent pas les mots de passe de leurs utilisateurs. Qui n’a pas déjà reçu un email contenant un rappel de son mot de passe?
    On pourrait se dire: youhou, c’est génial, si je l’oublie, je pourrais directement le retrouver dans ma boite email. Mais il faudrait mieux se dire: hum, si quelqu’un pirate ma boite email, il pourra récupérer ce mot de passe, surtout cela veut dire que mon mot de passe (en clair, non crypté) se balade quelque part dans une base de données et que l’administrateur ou d’autres personnes peuvent le voir sans problème (imaginez si le site se fait pirater).
    Malheureusement, le problème n’est pas de votre côté, mais c’est une raison suffisante pour avoir des mots de passe différents.

  • Votre mot de passe ne doit être ni simple ni logique. Une date de naissance, le nom de votre animal ou de vos enfants, un mot du dictionnaire… Tout ceci est à proscrire! Les mécanismes de Force Brute (essai de toutes les combinaisons jusqu’à violation du code) en viendront à bout en un temps record (les machines sont très puissantes maintenant). Privilégiez donc les mots de passe pas trop courts contenant majuscules, minuscules et chiffres. Bien sûr, un super mot de passe tellement complexe qu’on doit l’écrire sur un post’it pour s’en souvenir n’est pas non plus la bonne solution. Il faut donc trouver le juste milieu.

  • Quand c’est possible, utiliser au maximum les services d’authentification avancés. Par exemple, l’envoi d’un code de confirmation sur votre téléphone. Les plus grands comme Google ou Facebook le proposent.


Une bonne sécurité passe aussi par du bon sens

(il faut toujours être vigilant)

  • Eviter de vous connecter aux réseaux WIFI gratuits publics et Hotspots, accessibles par tous. C’est particulièrement vrai lorsque vous vous connectez à des services non sécurisés. Non sécurisé dans le sens où les échanges de données ne sont pas cryptés. Un service sécurisé utilisera le préfixe ‘https’ dans l’URL (le ‘s’ est important), là encore les applications les plus connues le supportent.
    Pourquoi? Une personne mal intentionnée peut écouter et collecter toutes les données qui transitent sur un réseau public (on parle d’un sniffeur) et récupérer facilement plein d’information, c’est peu lisible, mais c’est en clair et un connaisseur pourra s’y retrouver. Dans le cas d’une recherche de vidéos de chats sur YouTube, ce n’est pas très grave, mais si vous vous connectez à une application (donc un couple identifiant/mot de passe) à partir d’un formulaire non sécurisé, ça sera tout de suite plus embêtant…

  • Quand vous téléchargez des logiciels, jetez toujours un coup d’oeil à l’adresse de téléchargement.
    Par exemple, si vous souhaitez télécharger la dernière version d’iTunes, passez systématiquement par le site d’Apple, évitez les sites génériques tels que downloadfreesoftwares.com (j’invente, mais si ça se trouve il existe vraiment). Favorisez donc les sites des éditeurs ou, à la limite, des sites de téléchargement connus et réputés.

  • Même chose lorsque vous utilisez des services en ligne, vérifiez bien qu’il s’agit d’une application de confiance avant de vous inscrire et de transmettre des informations personnelles.

  • Faites attention à vos emails. En particulier quand vous recevez des emails étranges n’ayant pas pu être identifiés comme spam par votre logiciel de messagerie.
    Pas plus tard qu’hier, j’ai reçu un email de la part du service des impôts français pour m’informer d’un remboursement de 178.20 euros suite à une erreur (la belle affaire). L’email était tellement bien fait (pas de faute d’orthographe pour une fois) que j’ai cru à une bonne nouvelle, sauf qu’en cliquant sur le lien, je me suis aperçu qu’il y avait quelque chose qui n’allait pas. Ce n’était pas le site des impôts habituels, et surtout ils me demandaient de saisir mon numéro de carte bleue avec le code (évidemment…). C’est clairement une tentative de phishing (un leurre, de l’hameçonnage pour faire de la pêche aux informations bancaires). Une fausse page avec un formulaire classique qui reproduit à l’identique le site actuel des impôts (charte graphique, header, footer et tout ce qui va avec). Bref, on peut facilement tomber dans le panneau.

  • Un dernier conseil, mettez à jour vos logiciels et applications lorsque de nouvelles mises à jour sont disponibles. Que cela soit votre navigateur, ses plugins, des logiciels installés… ou même le moteur de votre blog (si vous en avez un, j’utilise le moteur WordPress dans mon cas qui bénéficie de mises à jour plusieurs fois par an).
    Des failles de sécurités sont découvertes et corrigées tous les jours. Une faille de sécurité découverte est en général (plus elle est importante) publiée dans la presse, elle devient ainsi une porte d’entrée laissée grande ouverte pour les pirates. Je ne veux pas vous faire peur, mais souvenez-vous-en!


En suivant ces quelques bonnes pratiques au quotidien, vous devriez vous éviter pas mal de soucis! En tout cas, vous ne pourrez plus dire qu’on ne vous a pas prévenu!

Je réalise que j’ai un peu dénigré les chats dans cet article, j’espère qu’ils ne m’en voudront pas trop…

Chat - What do you want?

Articles similaires

wordpress-hackerConseils pour sécuriser votre site WordPress EclipseChanger le splash screen d’Eclipse en quelques secondes updapyUpdapy, le centre de mises à jour applicatives pour Windows seo performance websiteLes meilleurs outils gratuits pour tester et optimiser une application ou un site web
Commentaires
Pas de Commentaires »
Catégories
Technologie
Tags
compte, faille, phishing, piratage, pirate, sécurité, spam
Flux rss des commentaires Flux rss des commentaires
Page 1 sur 11
Télécharger l'app CarmaBlog

Flux RSS

  • Flux RSS RSS - Articles
  • Flux RSS RSS - Commentaires

Articles les plus vus

  • Changer la langue de Firefox - 116 375 vues
  • Réaliser un sondage en ligne avec Google Forms / Drive / Docs - 64 403 vues
  • FAQ – Sondage en ligne avec Google Forms / Drive / Docs - 56 247 vues
  • Personnaliser Gnome 3 (Shell) - 30 809 vues
  • La signification d’URL, URI et URN - 18 407 vues
  • Java EE & CDI vs. Spring - 15 986 vues
  • Open Street Map, une meilleure carte que Google Maps? - 15 800 vues
  • Comparaison NoSQL: Couchbase et MongoDB - 14 693 vues
  • API, REST, JSON, XML, HTTP, URI… Vous parlez quelle langue en fait? - 13 730 vues
  • Une première approche du Camel d’Apache - 13 597 vues

Commentaires récents

  • Fabian Piau sur FAQ – Sondage en ligne avec Google Forms / Drive / DocsOui, dans Google Forms, vous pouvez empêcher les p…
  • BENECH Fabien sur FAQ – Sondage en ligne avec Google Forms / Drive / DocsBonjour, J'ai crée 1 questionnaire via Forms,…
  • SANKARA TIDIANE sur Formation en ligne gratuite sur MongoDBJ'aimerai suivre
  • Pauline sur FAQ – Sondage en ligne avec Google Forms / Drive / DocsMerci Fabian, mais le but étant que nos clients pu…
  • Fabian Piau sur FAQ – Sondage en ligne avec Google Forms / Drive / DocsProbablement mais ces options sont en général paya…

Articles récents

  • Comment écrire un article de blog? En tout cas à ma façon! - Il y a 2 ans et 5 mois
  • Attaques de robots: vous n’êtes pas seul… - Il y a 4 ans et 1 mois
  • Flagger – Monitorer vos déploiements Canary avec Grafana - Il y a 4 ans et 10 mois
  • Flagger – Déploiements Canary sur Kubernetes - Il y a 5 ans et 2 jours
  • Flagger – Premiers pas avec Istio et Kubernetes - Il y a 5 ans et 2 semaines
  • CoderDojo Expedia à Londres - Il y a 5 ans et 9 mois
  • Etre bénévole à Devoxx4Kids - Il y a 6 ans et 2 semaines
  • Une migration Java 11 réussie - Il y a 6 ans et 4 mois
  • Conseils pour sécuriser votre site WordPress - Il y a 6 ans et 7 mois
  • Devoxx UK 2018 – Jour 2 - Il y a 6 ans et 11 mois
  • Devoxx UK 2018 – Jour 1 - Il y a 7 ans et 11 heures
  • Wise, Revolut et Monzo, une petite révolution dans le monde des expatriés et voyageurs - Il y a 7 ans et 3 mois
  • Autocomplétion pour Git - Il y a 8 ans et 1 jour
  • Swagger, la documentation API automatisée - Il y a 8 ans et 2 mois
  • Architecture Microservices – Les bonnes pratiques - Il y a 8 ans et 7 mois
Offre moi un café

Langue

  • Français
  • English

Suivez-moi!

Suivez-moi sur Linkedin
Suivez-moi sur Twitter
Suivez-moi sur Stackoverflow
Suivez-moi sur Github
Suivez-moi sur Rss
Link to my Contact

Abonnement email

Saisissez votre adresse email pour être informé des nouveaux articles.

Étiquettes

.net agile agilité android bash blog bonnes pratiques cache cloud conférence css devoxx docker développeur eclipse extreme programming firefox flagger google helm hibernate informatique intégration continue istio java jug kubernetes londres mobilité informatique métier outil panorama partage performance plugin programmeur script société spring sécurité tdd test ubuntu windows wordpress

Liens

  • Blog Ippon Technologies
  • Blog Publicis Sapient
  • Blog Zenika
  • Classpert
  • CommitStrip
  • Coursera
  • Le Touilleur Express
  • Les Cast Codeurs Podcast
  • OCTO talks !
  • The Twelve-Factor App

Catégories

  • Evénement (15)
  • Linux (3)
  • Management (8)
  • Programmation agile (29)
  • Technologie (45)

Archives

  • décembre 2022 (1)
  • avril 2021 (1)
  • juin 2020 (1)
  • mai 2020 (2)
  • juillet 2019 (1)
  • mai 2019 (1)
  • décembre 2018 (1)
  • octobre 2018 (1)
  • juin 2018 (1)
  • mai 2018 (1)
  • janvier 2018 (1)
  • mai 2017 (1)
  • mars 2017 (1)
  • octobre 2016 (1)
  • avril 2016 (2)
  • mars 2016 (1)
  • novembre 2015 (1)
  • mai 2015 (1)
  • février 2015 (1)
  • décembre 2014 (1)
  • novembre 2014 (1)
  • septembre 2014 (2)
  • août 2014 (1)
  • juillet 2014 (2)
  • juin 2014 (1)
  • avril 2014 (1)
  • mars 2014 (1)
  • février 2014 (2)
  • janvier 2014 (1)
  • décembre 2013 (1)
  • novembre 2013 (1)
  • octobre 2013 (3)
  • septembre 2013 (5)
  • juillet 2013 (1)
  • juin 2013 (1)
  • mai 2013 (1)
  • avril 2013 (1)
  • mars 2013 (2)
  • février 2013 (1)
  • janvier 2013 (2)
  • décembre 2012 (2)
  • octobre 2012 (1)
  • septembre 2012 (1)
  • juillet 2012 (1)
  • mai 2012 (1)
  • avril 2012 (1)
  • mars 2012 (1)
  • février 2012 (1)
  • janvier 2012 (2)
  • décembre 2011 (1)
  • novembre 2011 (2)
  • octobre 2011 (2)
  • septembre 2011 (1)
  • juillet 2011 (1)
  • juin 2011 (2)
  • avril 2011 (1)
  • mars 2011 (1)
  • février 2011 (1)
  • janvier 2011 (2)
  • novembre 2010 (2)
  • septembre 2010 (1)
  • août 2010 (1)
  • juillet 2010 (1)
  • juin 2010 (1)
  • mai 2010 (1)
  • avril 2010 (1)
  • mars 2010 (1)
  • février 2010 (1)
  • décembre 2009 (1)
  • novembre 2009 (1)
  • octobre 2009 (2)
  • septembre 2009 (2)
  • août 2009 (3)
  • juillet 2009 (1)
  • juin 2009 (2)
Suivez-moi sur Twitter
Suivez-moi sur Linkedin
Suivez-moi sur Stackoverflow
Suivez-moi sur Rss
Link to my Contact
Suivez-moi sur Github
 
Fabian Piau | © 2009 - 2025
Tous droits réservés | Haut ↑