Protégez votre site WordPress avec un pare-feu de site Web
Publié: 2020-08-25
L'énorme popularité de WordPress en a fait une énorme cible pour les criminels et les pirates qui tentent d'exploiter votre site WordPress pour gagner rapidement de l'argent. Il peut même s'agir de script kiddies qui cherchent à obtenir une certaine crédibilité sur Internet auprès de leurs pairs en défigurant votre site pour le plaisir. Peu importe la façon dont cela se produit, toute forme de compromission du site entraînera une grave perte de confiance avec vos clients et pourrait facilement sonner le glas de votre marque.
La protection de votre site Web, de vos clients et de votre marque est donc une priorité absolue lorsque vous déployez une instance WordPress. Malheureusement, les pirates ont développé des outils et des techniques sophistiqués pour exploiter WordPress et détruire ce que vous avez créé. La seule façon de garder une longueur d'avance est de comprendre comment votre site WordPress peut être ciblé et comment se prémunir contre ces menaces.
Dans cet article, nous examinerons toutes les façons dont les pirates peuvent tirer parti des moyens de communication de votre site WordPress avec Internet et les défenses que vous pouvez ériger pour les arrêter avant qu'ils ne causent des dommages.
Filtrage des bits et des octets - Un pare-feu réseau
L'envoi de données sur Internet est un processus étonnamment compliqué. Il existe de nombreuses «couches» allant de la couche matérielle en bas qui définit l'infrastructure physique à plusieurs couches logicielles au-dessus, chacune dépendant de celles ci-dessous. Les couches qui nous intéressent dans cette section sont les couches hôte à hôte. Dans ces couches, les données, telles qu'une image que vous envoyez à un ami, sont divisées en petits morceaux appelés paquets. Ceux-ci sont acheminés sur Internet de vous (la source) à votre ami (la destination) où ils sont réassemblés dans l'image originale que vous avez envoyée.
Ces paquets de données ont tous plusieurs caractéristiques qui incluent :
- Protocole - Par exemple, TCP, UDP, ICMP et plus
- Port – par exemple, Web 80/443, e-mail 110/25
- Adresses IP – Les adresses IP source et de destination des ordinateurs qui envoient et reçoivent les paquets
Un pare-feu réseau se situe entre l'interface réseau et le système d'exploitation et inspecte chaque paquet à son arrivée sur le serveur. Il autorisera ou refusera à un paquet de continuer vers le système d'exploitation en fonction d'un ensemble de règles d'autorisation et de blocage. Les paquets sont rejetés s'ils enfreignent l'une des règles du pare-feu.
Un pare-feu réseau est un élément indispensable d'un serveur et d'une installation WordPress car il bloque toute communication non autorisée avec des processus qui écoutent accidentellement ou délibérément un trafic malveillant. Le seul trafic autorisé vers le système d'exploitation et au-delà vers WordPress doit se conformer aux règles strictes imposées par le pare-feu.
Un pare-feu réseau correctement configuré fait partie intégrante de chaque serveur connecté à Internet. Malheureusement, cela ne signifie pas qu'ils sont faciles à installer et à gérer. En fait, si vous n'avez accès qu'à votre instance WordPress, la gestion d'un pare-feu est impossible à faire correctement car un pare-feu efficace ne sera pas accessible depuis WordPress.
Filtrage des requêtes Web - Un pare-feu d'application Web
Les pirates ont étendu leur arsenal avec une méthode sophistiquée d'attaque réseau où ils créent des requêtes Web malveillantes pour attaquer votre site WordPress. Ces requêtes Web ne violeront aucune des règles du pare-feu du réseau, elles seront donc autorisées à interagir avec votre site WordPress où elles peuvent causer de graves dommages.
Pour comprendre le fonctionnement des requêtes Web malveillantes, considérons d'abord la complexité croissante des requêtes Web au fil des ans. Avant les technologies Web actives comme PHP, une requête Web était très simple et ressemblait à ceci :
http://www.example.com/index.phpCette requête se décompose en plusieurs parties comme suit :
-
http://– La requête utilise le protocole HTTP. -
www.example.com– Le nom d'hôte qui correspond à l'adresse IP du serveur Web. -
index.php– Le fichier demandé.
Comme vous pouvez le voir, cette demande est très simple. Lorsque vous vouliez sécuriser un site Web, vous créiez simplement une liste de blocage de fichiers privés afin que le serveur Web refuse de les servir. Il n'y avait pas grand-chose d'autre.
À mesure que la technologie des sites Web est devenue plus compliquée, les possibilités d'exploiter ces complexités ont également augmenté.
Un exemple d'une telle demande malveillante est connu sous le nom d'attaque par injection SQL. Ce type d'attaque tente de lire des informations sensibles ou de modifier la base de données WordPress. Pour ce faire, il crée une requête Web qu'un script PHP exécutera et, si le script n'a pas été écrit pour vérifier ses entrées, il permettra à l'attaquant de lire ou d'écrire dans la base de données WordPress.
Examinons une simple requête Web d'attaque par injection SQL. Par exemple, imaginez que vous ayez un formulaire de connexion envoyé au navigateur du client. Lorsqu'ils remplissent le formulaire, il renvoie une requête Web au serveur qui contient le nom d'utilisateur du compte qu'ils ont saisi. Dans cet exemple de requête, l'identifiant du nom d'utilisateur est JohnSmith, ce qui nous donne une requête Web qui ressemble à ceci :

http://www.example.com/accountView?id=JohnSmithSi le script PHP sur le serveur prend cette entrée et ne vérifie pas sa validité, cela peut entraîner de graves problèmes. Par exemple, un pirate pourrait essayer d'envoyer l'URL malformée suivante qui n'a aucun identifiant, par exemple :
http://www.example.com/app/accountView?a une signification particulière dans SQL, le langage des bases de données. Cela peut amener un script mal écrit à renvoyer une liste complète de la base de données clients, y compris peut-être des mots de passe et d'autres informations sensibles. C'est évidemment une catastrophe.Alors, comment se protéger contre ces formes d'attaques ?
C'est là qu'un pare-feu d'application Web (WAF) entre en jeu. Un WAF est placé entre Internet et WordPress et inspecte chaque requête Web à mesure qu'elle arrive sur le serveur. S'il trouve une demande mal formée, comme celle ci-dessus, ou enfreint sa liste de règles, il empêchera cette demande d'être envoyée à votre WordPress. Un WAF élimine efficacement des classes entières d'erreurs de programmation courantes qui peuvent facilement compromettre un site WordPress qui, autrement, nécessiterait de vérifier chaque fichier PHP de votre site.
Évidemment, ce n'est qu'un exemple d'une demande malveillante parmi une vaste gamme de possibles en évolution rapide. Cela fait d'un WAF vraiment efficace un défi permanent pour ajouter des règles qui suivent le rythme des pirates. Tout comme un pare-feu réseau, un WAF est une proposition techniquement difficile à mettre en place et, plus important encore, à entretenir.
Arrêter les bots – Bruteforce Protection et reCAPTCHA
La dernière couche de défense efficace du réseau consiste à arrêter les attaques automatisées contre la page de connexion de votre panneau d'administration WordPress. Ces attaques sont lancées par des programmes communément appelés « bots » tirés du mot robot. Les robots sont utilisés par les pirates car ils travaillent sans relâche et en grand nombre pour lancer des attaques coordonnées.
La méthode d'attaque la plus courante consiste à cibler une page de connexion avec une attaque par force brute. Cela essaie de deviner un nom d'utilisateur et un mot de passe afin qu'ils puissent se connecter à votre site WordPress.
Une attaque par force brute fonctionne en essayant de très nombreuses combinaisons différentes de nom d'utilisateur et de mot de passe. Habituellement, ce seront des combinaisons des noms d'utilisateur les plus populaires tels que
adminourootavec les mots de passe les plus courants tels que "123456". Une attaque par force brute commencerait par soumettre les combinaisons de nom d'utilisateur et de mot de passe suivantes :
- administrateur : 123456
- administrateur : mot de passe0rd
- administrateur : laissez-moi
- administrateur : qwerty
- racine : 123456
- racine : mot de passe0rd
- racine : letmein
- racine : qwerty
Et continuez à partir de là en essayant des combinaisons de moins en moins courantes.
Le bot essaiera quelques centaines à plusieurs milliers et selon la façon dont il est configuré. La protection par force brute remarquera toutes les connexions ayant échoué, puis bloquera toute autre demande provenant des adresses IP soumettant les fausses demandes de connexion. Il s'agit d'une protection essentielle contre les utilisateurs de WordPress qui choisissent souvent des mots de passe plus faibles lorsqu'ils sont autorisés à choisir leurs propres mots de passe.
Les attaques par force brute ne sont pas la seule utilisation pour laquelle les bots sont utilisés. Ils sont également utilisés pour sonder votre site à la recherche de faiblesses, de fichiers sensibles exposés ou de plugins et de thèmes pouvant être compromis.
Ces bots peuvent être stoppés dans leur élan par l'outil anti-fraude anti-abus publicitaire standard de Google appelé reCAPTCHA. reCAPTCHA trie automatiquement les humains des robots malveillants permettant aux humains de visiter votre site et de détourner les robots. Cela se produit généralement de manière invisible et transparente pour l'utilisateur humain, tout en étant impossible pour le bot de se rendre sur votre site Web où il ferait de son mieux pour s'introduire.
Mais comment puis-je faire tout cela ?
Si vous n'avez pas le temps, les connaissances techniques d'un expert ou le budget pour configurer et maintenir un pare-feu réseau, un WAF, un détecteur de force brute et reCAPTCHA, vous devriez le laisser à des experts comme Rocket. Rocket est un fournisseur d'hébergement géré qui obtient la sécurité WordPress. Ils incluent tous ces outils de sécurité essentiels en standard sur chaque installation de WordPress.
Tout ce que vous avez à faire est de vous inscrire, de lancer un site WordPress et quelques secondes plus tard, commencez à créer.
Ou consultez Comment configurer l'authentification sans mot de passe dans WordPress
