SecuPress

SecuPress v2.3 aka Starboost

Blog SecuPress SecuPress v2.3 aka Starboost
0 comments

Cette v2.3 pourrait être la meilleure version de SecuPress jusque là, relisez ça.

Starboost 2.3

Starboost, le nom de code pour cette v2.3, est mon armure favorite de Iron Man, et cette 2.3 est aussi ma version favorite de SecuPress, pour la free et la pro. Mais pourquoi ?

Pas seulement car cela m’a pris du temps (encore), but pour son efficacité et tout le dur travail qui a été accompli ici.

Comme toujours, je reste à jour sur la sécurité web et principalement sur WP, j’audite et nettoie des sites piratés donc je rencontre beaucoup de types de malwares, d’anciens et des nouveaux. Les nouveaux sont ceux qui font que cette version est très bonne, paradoxalement.

À chaque fois que je découvre un nouveau type de malware dédié à WP, j’essaie de trouver le moyen de le contrer avec SecuPress. Parfois c’est juste une signature de malware, mais parfois je dois en faire bien plus.

Alors voyons les nouvelles fonctionnalités et celles améliorées. Si vous souhaitez lire le changelog, allez-y.

Nouvelles fonctionnalités

Mises à jour automatisés des base de données

Nos base de données de malwares ou mots clés etc sont désormaix stockées ici sur secupress.me. Votre licence va se connecter et aller chercher nos données pour mettre à jour les vôtres, sans devoir attendre une nouvelle version de SecuPress (heureusement !).

Ceci est un énorme point pour cette version 2.3 pro. Pour les personnes utilisant la version free, les bases sont déjà à jour dans chaque dernière version du plugin, mais vous devrez attendre une mise à jour pour avoir les dernières, promis j’essaie de mettre à jour plus souvent..

Gadget sur le tableau de bord

Depuis SecuPress 1.0 c’est une fonctionnalité que je voulais ajouter, pourquoi avoir attendu si longtemps ? Ne me demandez pas, appréciez juste sa présence ! haha

dashboard widget

dashboard widget

Pas super sexy, mais ça fait le travail !

Status de la licence

license validation

license validation

Pas de rapport avec la sécurité, mais la pro affiche maintenant le status de la licence et combien de sites il reste dessus.

Authentification Unique (SSO)

Si vous avez un multisite avec le module de déplacement de la page de connexion activé, vous aurez remarqué que si vous changez de site alors que vous êtes membre de ces sites, vous aurez la page d’erreur indiquant que vous n’avez pas la bonne adresse, ou que vous n’avez pas de session en cours avec ce site.

Avec cette fonctionnalité active, votre session sera automatiquement transférée sur les autres sites, vous connectant ainsi partout sur le multisite en question, bien pratique pour gagner du temps tout en restant securisé.

single sso

single sso

Password Spraying

password spraying

password spraying

Nouvelle option vous les réglages de Contrôle des connexions, vous trouverez une protection contre le Password Spraying ou en français la Pulvérisation par mot de passe mais je trouve cette formulation pompeuse. Vous ne connaissez peut-être pas encore ou pas bien le Password Spraying, laissez-moi vous expliquer.

Une Attaque par Force Brute c’est quand un attaquant a un identifiant de connexion, le login, et essaie de trouver le mot de passe de ce compte en utilisant une tonne de mots de passe différents.

Une Attaque par Pulvérisation de mot de passe c’est quand un attaquant a un mot de passe (qu’il existe ou non en base) et qu’il va l’essayer sur des tonnes d’identifiants.

En gros c’est l’inverse. Si l’attaquant a déjà tous les identifiants de votre site (coucou la REST API), ils vont alors essayer le même mot de passe sur chaque login, donc aucun compte ne sera flaggé « brute force » car 1 essai n’est pas « brutal » !

Activer cette fonctionnalité empêche les attaques par Pulvérisation de mot de passe, nous utilisons l’algorithme de distance de Levenshtein pour élargir la détection.

Forcer la réinitialisation des mots de passe

force reset password

force reset password

En cas de piratage ou de suspicion de piratage, vous pouvez maintenant réinitialiser le mot de passe de tout le monde en 1 clic, et en cochant la case tous les comptes recevront un mail les informant de ça.

Attention, si vous avez beaucoup de comptes, votre hébergeur pourrait bloquer la fonction d’envoie de mail ou tout votre site.

Forcer la déconnexion de tout le monde

force logout

force logout

Dans la même idée, vous pourriez avoir besoin de déconnecter tout le monde, car modifier les mots de passe ne déconnecte pas les comptes connectés. Vous pouvez maintenant le faire en 1 clic, tout le monde sera déconnecté.

Interdire les mauvais domaines d’adresse e-mail

forbid bad email domains

forbid bad email domains

Avec l’interdiction des mauvais domaines d’adresses e-mail, SecuPress fera une vérification si le domaine existe et est capable de délivrer des emails car tout nom de domaine ne peut pas forcément le faire, un faux ne peut pas.

Avec cette fonctionnalité vous bloquez les faux compte, faux clients, des robots. Dans la nature les faux comptes et robots créent des comptes avec des adresses e-mails qui ne mènent nulle part puisqu’ils n’ont en réalité pas besoin des mails et ne veulent pas laisser de traces avec des vraies adresses.

Cette fonctionnalités de mets à jour automatiquement avec notre base de données distante.

Interdire le même domaine d’e-mail

forbid same email domain

forbid same email domain

Cette fonctionnalité Interdire le même domaine d’adresse e-mail est disponible aussi dans la version free, rien n’est dans notre base distante, nous vérifions juste localement que le domaine de l’adresse email du compte qui s’enregistre n’est pas le même que celui de votre nom de domaine, sinon il sera refusé. Les comptes existants ne sont pas touchés, seulement les futurs comptes.

Si vous avez besoin de légitimement ajouter un compte avec votre nom de domaine, désactivez la fonctionnalité le temps de réaliser l’inscription puis réactivez la.

Dans la nature, les faux comptes ont tendance à utiliser votre nom de domaine afin de passer pour légitimes auprès des responsables de l’administration.

Reinstaller toutes les extensions

reinstall plugins

reinstall all your plugins

En 1 clic, vous pouvez désormais réinstaller une version propre et à jour de toutes les extensions de votre site (si elles proviennent de wp.org ou si le plugin premium en question utilise le bon hook pour aller chercher sa version lors d’une update, comme le fait SecuPress).

C’est une fonctionnalité puissante lors d’une suspicion de piratage provenant d’un plugin tiers.

Concaténation des scripts

scripts concatenation

scripts concatenation

WordPress a cette vulnérabilité, oui, et depuis des années maintenant et elle ne sera pas corrigée, ne me demandez pas pourquoi, ajoutez juste ça à la longue liste des « #wontfix » du core. Voici le CVE de la vulnérabilité en question CVE-2018-6389, il s’agit d’une Uncontrolled Resource Consumption.

Nous pouvons nativement contrer cela grâce à la constanteCONCATENATE_SCRIPTS sur FALSE. Maintenant, au lieu d’avoir un fichier php qui concatène chaque JS ou CSS passé en paramètre (c’est le problème ce paramètre), chaque fichier sera chargé 1 à 1.

Merci aux plugins de cache qui sont capables de recréer 1 seul appel avec tout le contenu.

Ignorer les nouveaux paquets

skip new bundles

skip new bundles

À chaque fois que vous mettez à jour WP, il ajoute son twenty-thème-à-la-mode et pourquoi pas aussi Hello F Dolly. En utilisant cette fonctionnalité, la constante native de WP dédiée sera utilisée afin de ne plus mettre à jour ces paquets.

Question sécurité, ne pas avoir hello.php ou le thème courant peut empêcher un simple piratage qui cible ce plugin ou ces thèmes qui seront modifiés pour insérer des malwares.

Fonctionnalités améliorés

Contrôle des sessions

session control

session control

Nous avons ajouté l’information de la date de la dernière connexion sur le compte information sous le bouton des sessions, nous pouvez alors facilement vérifier pour chaque compte la dernière réussite de connexion.

Captcha V2 (retardé)

Notre ancien Captcha reste efficace mais un attaquant pouvez tout de même brute forcer la pagde de connexion, et même si le captcha n’est pas designé pour empêcher ça, cela a été considéré comme une vulnérabilité par notre partenaire Patchstack.

Ce Captcha a été revu en v2 et n’a plus besoin de JavaScript, les règles CSS sont si puissantes maintenant pour réussir à faire la même chose.

C’est toujours disponible dans la version gratuite.

captcha v2

captcha v2

Simple : Celui qui remplace la version actuelle, mais encore plus simple. Pour se connecter, plus besoin de cocher, la coche est automatisée après un petit temps d’attente et sera désactivée après un trop long temps d’attente.

captcha v2 challenge

captcha v2 challenge

Challenge : Vous sélectionnez votre set d’émojis préféré et toute personne désirant se connecter devra sélectionner l’objet demandé, pas trop rapidement, pas trop lentement.

captcha front

captcha front

Le design des emojis est celui du navigateur, donc les personnes sont déjà habituées à les rencontrer. J’adore le ptit cochon 😉

Force Strong Password

force strong password

force strong password

La fonctionnalité Forcer un mot de passe fort semble être la même, mais vue de l’intérieur, c’est tout neuf ! Avant, la fonctionnalité n’était utile que pour les nouveaux comptes ou quand un mot de passe était mis à jour.

Seulement ces 2 cas ? Car nous n’avons pas connaissance du mot de passe en clair. N’est-ce pas ??

Mais si ! Quand le formulaire de connexion est envoyé, nous pouvons le lire à cet instant là., alors nous vérifions si ce mot de passe est considéré « faible » par WordPress avec l’algorithme inclus dans le core zxcvbn. Nous forçons alors cette personne à changer son mot de passe pour un fort.

Nous lisons le mot de passe, mais n’en faisons rien d’autre, pas de stockage, juste un algo le lit et nous donne un score. Cela reste donc sécurisé, aucune fuite possible.

Interdire la création de comptes

forbid user creation

forbid user creation

La fonctionnalité Interdire la création de comptes est désormais accessible pour la fonctionnalité Protéger la création de comptes, c’est ma préférée dans cette version de SecuPress Pro 2.3, deuxième dans tout le plugin derrière le Scanner de Malwares.

Cette fonctionnalité a été testée sur beaucoup de sites clients avant d’arriver ici dans SecuPress, j’utilise personellement cette technique depuis 2024 et elle arrête très bien de nombreux piratages.

Cette fonctionnalité mérite même son propre article de blog, ça sera ici : SecuPress 2.3 and the awesome Protect User Creation Feature (patience).

Interdire les mauvais noms de comptes

forbid bad usernames

forbid bad usernames

La fonctionnalité Interdire les identifiants dangereux est suivi de 2 réglages :

Interdire les identifiants « admin » : pas seulement « admin » qui est déjà géré par SecuPress correctement, mais tout autre identifiant de compte utilisant « admin » dans leur nom. Dans la nature, les comptes avec « admin » dans le login sont utilisés pour sembler plus légitimes.

Renommer les noms affichés pour les comptes : C’est la même fonction que l’extension « SX User Name Security » où je suis co-auteur avec mon ami Daniel. Si un compte est gréé ou mis à jour avec un nom d’affichage identique au login, il sera renommé avec un nom humainement lisible comme « Jocosi R. Oditijumaji« .

Actions sur les extensions

Avant la 2.3 cette fonctionnalité était découpée en 4, la première était disponible dans la version gratuite, voyez :

plugin actions old

plugin actions old

Depuis la 2.3, ces 4 fonctions ont été fusionnées en 1, accessible dans la version gratuite !

plugin actions

plugin actions

1 checkbox pour le travail de 4, car, qui n’en coche qu’une sur les 4 si les 4 sont disponibles ? Levez la main !

Actions sur les thèmes

theme actions

theme actions

La même chose pour les thèmes.

Afficher toutes les extensions

display all plugins

display all plugins

Les nouveaux malwares en tant qu’extension ont tendance à se cacher dans la page de l’administration. La fonctionnalité Afficher toutes les extensions les force toutes à apparaitre sur la page, même la pagination a disparu. Voici un exemple avec une extensions cachée via CSS ou JS :

display all demo

display all demo

Comme vous le voyez, SecuPress affiche bien toutes les extensions, même celles cachées via un règle CSS  type display:none, cela fonctionne aussi avec JS, même si un jQuery.remove() a été utilisé SecuPress le récupère, ou même via PHP utilisant un filtre WP et un unset(), très puissante foncitonnalité.

Surveillance des extensions vulnérables

Cette fonctionnalité n’a pas directement été modifiée, mais elle inclus maintenant une surveillance de chaque pliugin sur wp.org. Si une extension a été retirée, ou non mise à jour depuis 2 ans et plus, une notification sera affichée, ceci n’est pas décochable.

monitor repo

monitor repo

Surveillance des thèmes vulnérables

Même chose mais pour les thèmes.

Erreurs de base de données

database errors

database errors

Cette fonctionnalité Erreurs de base de données a grandement été modifiée car précédemment nous forcions les  messages des erreurs de base de données à ne pas être affichés, afin d’emop^pecher une divulgation d’informations contenues dans les requêtes SQL en erreur.

Mais parfois le site n’est pas accessible, pendant 5 secondes, un soucis d’hébergeur, ou juste un redémarrage du serveur, puis ça revient de nouveau. Mais (spoiler alert) votre DB_HOST est affiché par WordPress au yeux de tout le monde durant cette erreur malgré la constante, nous avons corrigé cela.

db error demo

db error demo

Comme vous le voyez, on ne peut plus lire la valeur de votre constante, il n’y a plus de fuite, nous affichons le mot DB_HOST et non plus la valeur de la constante DB_HOST. Encore une faille WP patchée par SecuPress 😉

Base de page Auteur

L’idée de masquer des choses n’est pas ma préfér de même aider, on l’a vu avec la pulvérisation de mot de passe. Alors à la demande de quelques personnes au support de changer l’identifiant de base des pages type « auteur », voici la fonctionnalité qui vient de l’extension « SF Author URL Control » (non maintenue depuis 2016) développée par Greg Viguier, qui a aussi développé notre cher SecuPress de 2015 à 2017.

author base page

author base page

Mauvais accès aux URLs et extensions de fichiers

C’était précédemment appelé « Mauvais accès aux URLs » et le « Mauvaises extensions de fichiers » faisait partie du module « Scanner de virus ».

Mais maintenant au lieu de procéder avec une liste d’URLs non autorisées, le comportement a été inversé pour avoir une liste d’URL autorisées. Donc par défaut tout ce qui n’est pas WP est bloqué.

Ceci peut et va causer des erreurs au début chez vous, si vous avez des dossiers maison, des scripts maison, vous pouvez les ajouter dans le réglage pour les autoriser:

bad url access and file extensions

bad url access and file extensions

C’est bien plus sécuriser de cette façon même si au début cela peut provoquer des erreurs le temps de savoir ce qu’il faut autoriser. Je sais par expérience que cette méthode est efficace, vous pourriez même être piratés, être exploité MAIS finalement le hack en place ne sera pas réellement exploitable, merci pour à fonctionnalité !

Bloquer les mauvaises méthodes de requêtes

Cette fonctionnalité a disparue, supprimée comme d’autres dans le passé. Comme je le dis, mettre à jour une extension, un produit, ce n’est pas juste ajouter des choses, si ce n’est pas utile, supprimer est un bon choix. La suite !

block bad request methods rip

block bad request methods rip

Bloquer les robots I.A.

L’Intelligence Artificielle est partout de nos jours, nous ne pouvez pas la rater sauf si vous vivez dans une cave depuis des années. L’IA est un bon outil, sauf si c’est pour venir voler les contenus de vos sites, ça c’est non. Vous pouvez simplement bloquer environ 200 user agent d’IA en 1 clic.

block ai bots

block ai bots

Bloquer les requêtes contenant le nom de fonctions PHP

Cette fonctionnalité est en beta test. Je l’utilise, mais j’ai encore des faux positifs, cela dépend des autres extensions installées bien entendu. Si vous l’utilisez et rencontrez des soucis, laissez nous un message. Mais comme c’est en beta, si cette fonctionnalité vous bloque, désactivez-là. Peut-être on la supprime, ou si ça fonctionne bien on garde.

Comment ça fonctionne : beaucoup de fichiers de malwares qui ne veulent pas être taggés comme « mauvais » car on y trouve des fonctions PHP, donc ils ont une astuce : ils ajoutent le nom des fonctions à utiliser directement en paramètre de l’URL, leur script ira lire ce paramètre et lance cette fonction.

Mais avec cette fonctionnalité, cela empêche le nom de toute fonction dans l’URL. Le soucis possible est que les extensions utilisent légitimement des noms de fonctions comme identifiant de leur page de réglages et donc ça se bloque…

block requests function names

block requests function names

SSL

Un tout nouveau module, ici vous trouverez tout ce qui est relatif au HTTP:SSL, forcer le SSL, rediriger les requêtes, ou régler le mixed content. Si votre site a déjà un Certificat SSL (contactez votre hébergeur) vous n’avez besoin d’aucun autre plugin avec « SSL » dans son nom, même si il est « réellement simple » (vous l’avez ??).

ssl

ssl

Protection anti-hameçonnage pour les comptes

Le hameçonnage (phishing) est toujours une façon active de pirater les gens, bien plus que vous ne pensez. Cette fonctionnalité est simple à comprendre, vous pouvez ajouter un code dans votre profil WordPress (et 1 pour l’administration du site) donc quand votre site web envoie un e-mail, il inclura votre code à la fin du message, et là vous SAVEZ que c’est un véritable provenant de votre site et non pas un faux pour vous tromper.

anti phishing user protection

anti phishing user protection

Scanner de virus

Ce n’est pas nouveau mais amélioré ! La chose principale est que vous avez 3 scanners : Fichiers, Base de données, et Spam dans les contenus. Aussi, avant la 2.3, vous deviez attendre une mise à jour de SecuPress pour obtenir les dernières signatures de malwares, maintenant, chaque semaine vous les aurez ! Notre système de mise à jour des données automatique est inclus dans la version pro.

Add-ons

Nous sommes heureux de recommander (non affilié, même pas payés pour en parler) nos amis de chez WP Umbrella !

wp umbrella

wp umbrella

Nos services Pro

Puisque nous avons d’autres services, nous les avons inclus dans une page, sentez vous libres de visiter ça et de nous contacter quand vous le voulez.

pro services

pro services

Que manque t-il ?

Le module de 2FA, la Double Authentification qui a été remodulé et est super, MAIS, je n’explique pas pourquoi, impossible de le faire fonctionner depuis WP 6.7. Donc je dois le retarder. Aussi, WP est en train d’ajouter la 2FA dans le core. Je l’ai testé, fonctionne bien, mais je préfère le mien, meilleure UI/UX. Mais voilà, cela ne fonctionne pas encore :'(

SUITE

La todo liste pour la 2.4 est toujours pleine de super choses à venir, la priorité étant la stabilité, et en suivant la sécurité web en 2025+, surveillant le type de malwares qui arrivent, et les combattre comme toujours.

N’oubliez pas que l’une des meilleures fonctionnalités de cette version est que vous n’aurez pas besoin de faire une autre mise à jour de version pour obtenir les dernières données mises à jour, elles sont désormais automatiquement récupérées sur ce site 52 fois par an :O

BUGS?

Oui, il y en a eu, il y en a, et il y en aura, comme toujours. Tout update contient des bugs, si vous en recontrez, balancez nous un message sur support@secupress.me. Merci pour vos reports et votre patience !

0 comments