Les scanners de vulnérabilité de site web sont des logiciels qui analysent les pages d’un site web (“crawling”), puis effectuent des requêtes HTTP en ajoutant des codes malicieux dans l’URL (ainsi que dans les variables POST, etc.) et analysent le contenu de la page obtenue pour détecter si le code malicieux a été filtré ou non.
L’utilisation de scanners est intéressante dans le cadre de l’audit de sécurité d’un site (à noter que l’usage non autorisé d’un de ces logiciels sur un site est susceptible de relever de l’article 323 du code pénal).
En revanche, ces scanners de vulnérabilité sont dangereux lorsque ce sont des pirates qui les utilisent.
Par ailleurs, certains scanners sollicitent fortement le serveur (exemple : 2 millions de requêtes en 15 heures de scan). Enfin, les variations d’URL, effectuées par les scanners de vulnérabilité, remplissent inutilement le cache de SPIP (exemple : 59 900 fichiers ajoutés dans le cache de second niveau SPIP au bout d’une heure de scan).
Les objectifs de ce plugin sont les suivants :
- Ne pas donner les véritables pages au scanner de vulnérabilité, afin de l’empêcher de conduire ses recherches de vulnérabilité.
- Réduire le temps de traitement des pages demandées par le scanner de vulnérabilité (une fois détecté).
- Diminuer l’impact, sur le cache de SPIP, des variations d’URL envoyées par le scanner de vulnérabilité.
Le bannissement est temporaire, afin de limiter l’impact d’éventuels faux positifs. Une réponse compréhensible avec un décompte de temps est affichée en cas de bannissement.
Différentes mesures effectuées, montrent que les gains obtenus avec le plugin CISEC, lors d’un scan de vulnérabilité, sont conséquents (cf. documentation ci-jointe).
Le périmètre porte sur le site public uniquement. Le périmètre ne porte pas sur les attaques de type spam (un plugin pour SPIP existe déjà sur ce sujet), ni sur les attaques de type déni de service ou déni de service distribué.
Pour plus de détails, se reporter à la documentation ci-jointe.
Version 1.2 du plugin CISEC
- Ajout de la raison du bannissement dans le courriel, qui est automatiquement envoyé, ainsi que dans le fichier de log "cisec_detail.log".
- Si la constante _CISEC_EMAIL est définie dans un fichier d’options, avec comme valeur une adresse email avec une syntaxe valide, le courriel sera envoyé à cette adresse email (et non pas à l’adresse du webmestre qui figure dans le menu configuration de SPIP).
Exemple : define(’_CISEC_EMAIL’,’assistance@test.fr’) ;
- Possibilité d’augmenter les seuils (mais pas de les diminuer) via deux constantes dans un fichier d’options :
- Au moins N POST d’une même adresse IP pendant une seconde.
- Au moins M POST d’une même adresse IP pendant 10 secondes.
Exemple :
define(’_CISEC_MAX_POST_EN_1_S’,5) ;
define(’_CISEC_MAX_POST_EN_10_S’,15) ;
Version 1.3 du plugin CISEC
Ajout d’une règle qui rejette les tentatives d’injection qui utilisent dans l’URL une double occurrence de page=recherche
Version 1.5 du plugin CISEC
Apporte la compatibilité avec PHP 8.0 et 8.1, ainsi que la compatibilité avec SPIP 4.1.
Version 1.6 du plugin CISEC
Apporte la compatibilité avec SPIP 4.2.
Discussions par date d’activité
14 discussions
Bonjour
J’utilise avec bonheur ce plugin.
Est-ce qu’une version pour Spip 4.2.3 et php 8.2 est envisagée ?
Merci
Hello,
je l’utilise déjà depuis la sortie de spip 4.2.6
toutefois mon paquet.xml m’indique
compatibilite="[3.0.0;]"
Dans paquet.xml, la ligne ci-dessous signifie que CISEC nécessite une version de SPIP supérieure ou égale à 3.0.0.
Pour en savoir plus : https://plugins.spip.net/redaction-du-paquet-xml.html , chapitre « Compatibilite »
Répondre à ce message
Bonsoir
J’avais posté un message ici en début d’été (?), mais il a dû rester coincé en modération.
La question était, et reste celle d’une compatibilité future de Cisec avec Spip 4.2 ?
Merci
Bonjour,
Si vous rencontrez un problème avec CISEC sous SPIP 4.2, il convient de me le signaler et je modifierais CISEC.
Sur un site passé en Spip 4.2, en changeant les bornes de compatibilité, les log de cisec montrent l’activité du plugin.
Par contre, je ne reçois plus aucun mél « Bannissement temporaire de l’adresse IP www.xxx.yyy.zzz (Partie d’URL suspecte page=recherche&page=recherche) ».
Mais il se peut que ce soit en lien avec un réglage serveur qui a changé.
Merci
Est-ce que, en dehors du plugin CISEC, l’envoi de mail fonctionne sur le site ?
Est-ce qu’il y a des informations intéressantes :
- dans les logs de SPIP ?
- dans le log d’erreur d’Apache ?
Je viens d’effectuer le test suivant :
a) Partie d’URL suspecte (page=recherche&page=recherche) => bannissement
b) Attente de la fin du bannissement puis partie d’URL suspecte (page=recherche&page=recherche) => nouveau bannissement
c) Attente de la fin du bannissement puis partie d’URL suspecte (page=recherche&page=recherche) => nouveau bannissement
Il y a bien une trace, du déclenchement de l’envoi de mail par CISEC, dans le fichier de log cisec_mail.log.
Remarques :
- L’envoi de mail a lieu en cas de récidive.
- Il y a au plus un mail par tranche de 1 heure pour une même adresse IP pour éviter de saturer la boite aux lettre du webmestre.
Alors :
En dehors de Cisec, je n’ai aucun pb pour l’envoi de mails.
Dans les logs de spip, je ne vois rien de particulier.
Le serveur est un Nginx dont je ne suis pas administrateur.
Dans les logs de Cisec je n’ai pas de cisec_mail.log...
J’ai cisec_post.log ; cisec_detail.log ; cisec_bannir.log
Est-il possible d’effectuer exactement le test précité (points a, b et c) puis de regarder s’il y a un fichier cisec_mail.log ?
Dès l’étape a, ça ne fonctionne pas :
Après saisie de la recherche (page=recherche&page=recherche), la page des résultats de la recherche s’affiche.
Je n’arrive pas à reproduire le problème.
1) Est-ce que la constante _CISEC_PARTIES_URL_SUSPECTES a été définie dans un fichier d’options (mes_options.php ou le fichier d’options d’un autre plugin) ?
2) Créer un fichier test.php, à la racine du site, avec le contenu suivant :
Appeler ensuite dans le navigateur l’URL adresse_du_site/test.php et regarder la valeur de REQUEST_URI. Est-ce qu’elle comprend page=recherche&page=recherche ?
3) Quelle est la version de PHP utilisée ?
Pour :
1) Je n’ai redéfini la constante _CISEC_PARTIES_URL_SUSPECTES nulle part.
2) Avec appel du fichier test.php, je n’ai pas « page=recherche&page=recherche ? » dans REQUEST_URI :
Seulement : ’REQUEST_URI’ => ’/test.php’
3) La version de PHP est la 8.2.7
Pour le point 2, il convient d’appeler dans le navigateur l’URL : adresse_du_site/test.php ?page=recherche&page=recherche
Le résultat est :
- banissement de 30 secondes
- après récidive : page blanche
- rafraîchissement de la page (F5) : affichage du banissement 3 minutes
- après récidive : page blanche
- rafraîchissement de la page (F5) : affichage du banissement 3 minutes
Mais toujours pas de mail signalant le banissement.
Qu’est-ce qui a été modifié pour passer du premier résultat cité :
« Dès l’étape a, ça ne fonctionne pas :
Après saisie de la recherche (page=recherche&page=recherche), la page des résultats de la recherche s’affiche ».
au second résultat cité :
« Le résultat est :
- banissement de 30 secondes »
Et bien :
Encore à l’instant, si dans le formulaire de recherche du site, je saisis « page=recherche&page=recherche », le site affiche le résultat de la recherche.
Mais quand je saisis l’url mon site/test.ph ?page=recherche&page=recherche, cela m’affiche le décompte du banissement.
Bonjour,
CISEC regarde si une URL demandée contient page=recherche&page=recherche.
Lorsqu’on renseigne page=recherche&page=recherche dans le formulaire de recherche, l’URL demandée se termine par recherche=page%3Drecherche%26page%3Drecherche car elle est encodée (par la fonction urlencode de PHP).
Aussi, il est normal que CISEC ne la détecte pas.
Si on souhaite que CISEC détecte recherche=page%3Drecherche%26page%3Drecherche il convient de définir la constante _CISEC_PARTIES_URL_SUSPECTES avec les contenus souhaités (séparés par le caractère pipe) dans un fichier d’options (mes_options.php ou le fichier d’options d’un autre plugin).
Répondre à ce message
Bonjour,
Je cherchais ce plugin pour l’ajouter à un site. Apparemment il faut venir chercher le fichier https://contrib.spip.net/IMG/zip/cisec_180709.zip à la main
(pourquoi le code source mentionné est-il https://git.spip.net/spip-contrib-extensions/formidable_fusion.git ?)
Il y a visiblement un bug quelque part dans le squelette de contrib. Je regarderai cet après midi
c’est corrigé pour la partie bug d’affichage.
Quand à la politique de distribution du plugin, je laisse son responsable répondre. Mais qu’il sache qu’on peut tout à fait distribuer un plugin via le système d’install de spip tout en le laissant dans son coin de dev : il faut juste qu’on ai accès en lecture à un son dépôt git
Répondre à ce message
Bonjour,
Y-a-t-il moyen de mettre une liste d’IP en liste blanche ? Ou de ne pas appliquer le scan pour les auteurs connectés ?
Je suis webmestre et au bout de quelques actions mon adresse IP est bloquée.
merci
Dans le fichier tmp/log/cisec_detail.log quelle cause (du bannissement) est indiquée ?
2020-01-13 17:32:05 | 2a01:e0a:2fb:e2e0:d81:ef5000000000 (pid 51560) | Tentative d’injection sur lang | REQUEST_URI : / ?lang=fr*
(je me bats avec un site multilingue)
merci
Les caractères autorisés pour la variable « lang » sont les lettres de l’alphabet et le caractère souligné.
Le caractère étoile « * » n’est pas autorisé, aussi l’écran de sécurité de SPIP le remplace par un espace. Le plugin CISEC détecte qu’il y a un espace et déclenche la procédure de bannissement.
OK merci. Je ne sais pas d’où sort cet *. Peut-être une erreur de frappe.
Répondre à ce message
Bonjour,
Pourriez-vous me dire les différences ou complémentarité avec Referer Spam ?
Merci par avance
Le plugin CISEC lutte contre les scanners de vulnérabilité.
Le plugin Referer Spam lutte contre le referer spam, ce qui est totalement différent.
Répondre à ce message
C’est dommage de ne pas avoir d’indication d’une mise à jour de ce plugin sur la page d’admin des plugins / ?exec=admin_plugin
Répondre à ce message
Bonjour,
Je découvre ce plugin suite à l’installation de cibloc.
Encore une production très intéressante, merci (déjà des bannissements, en quelques heures seulement).
Est-il prévu de déposer cette série de plugins sur la zone ?
Toute modification d’un plugin est susceptible d’impacter sa fiabilité, sa sécurité, ses performances, etc.
Les plugins Giseh (le plugin CIPR en fait partie) ont fait l’objet :
- d’une batterie de tests pour s’assurer de leur fiabilité,
- de tests d’intrusion (pour l’aspect sécurité),
- de tests de charge (pour l’aspect performance),
- etc.
C’est pour ces raisons que les plugins Giseh ne sont volontairement pas sur la zone et ne doivent pas l’être.
Tu le verras jamais sur la zone car il a peur qu’on l’améliore sans lui.
Il faut éviter ce type de plugins.
Désolé, mais je ne vois pas pourquoi.
Si le plugin est bien conçu, me convient, et qu’il n’y a pas mieux à disposition, le seul inconvénient à court terme est de ne pas être averti des mises à jour.
Tu l’a via le chargeur auto de SPIP mais quand tu fais que tu svn, tu peux pas le prendre, donc c’est dommage.
@Pierre Khun :
Qu’en sais-tu ? Comment peux-tu affirmer ça ? Cela n’a rien à voir avec « la peur qu’on améliore sans lui ». Ça n’est certainement pas en trollant que tu feras avancer le sujet.
@ Pierre Kuhn : l ’auteur met à la disposition de la communauté des plugins de grande qualité. Qu’il décide de les mettre ou non sur la zone, cela reste son choix. Tu as le droit d’en penser ce que tu veux mais pour ma part je me réjouis avant tout d’avoir la chance de pouvoir en disposer (et, puis, rien n’empêche l’utilisateur d’y apporter les modifications/ajustements qu’il a envie d’y faire pour l’adapter son propre usage).
Le
me parait donc bien déplacé... et pas vraiment dans l’esprit d’entraide et de bienveillance que chacun souhaite pour notre brave polatouche ;-)
Je pense que les fonctionnalités du plugin CISEC devraient figurer dans SPIP (par exemple dans l’écran de sécurité).
Répondre à ce message
Depuis l’installation du plugin, il me semble détecter une hausse des connexions à mon site.
Est-il possible que certains acharnés (disons plutôt systèmes de scanners de vulnérabilités évolués) changent à la volée d’ip une fois bloqués pour continuer leur scan, ce qui donne pour SPIP un gonflement artificiel des visites ?
Répondre à ce message
Bonjour,
En modifiant la borne en compatibilite=« [3.0.0 ;3.2.*] » dans le fichier paquet.xml, ce plugin est compatible SPIP 3.2.
Par ailleurs ce plugin ne prend apparemment pas en compte le paramètre « timezone » du plugin https://contrib.spip.net/Timezone-4591
[23-Nov-2017 10:09:31 UTC] PHP Warning : date() : It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ’UTC’ for now, but please set date.timezone to select your timezone. in /home/dd/public_html/site.fr/plugins/auto/cisec_160413/cisec_options.php on line 83
merci
Pour le bon fonctionnement de SPIP, il convient d’indiquer le paramètre « timezone » dans le fichier config/mes_options.php, par exemple : date_default_timezone_set(’Europe/Paris’) ;
Remarque : Le plugin Timezone peut rester sans effet sur un autre plugin qui est chargé (par SPIP) avant lui.
OK donc il faut que je désinstalle le plugin timezone et modifie mon fichier mes_options
mouais, ou bien il faudrait que cisce indique qu’il « utilise » timezone. A priori il n’y a pas non plus de masse de plugins qui sont impactés par ces questions de timezone.
Répondre à ce message
Bonjour,
Est-il possible d’indiquer une adresse IP à ignorer ?
Je faisais des tests sur un site et donc recalculais régulièrement une page du site et à chaque recalcul mon IP adresse est bannie.
Merci
Je viens de faire les tests suivants (sous SPIP 3.0 avec le plugin CISEC activé ) :
- recalcul régulier d’un article du site en étant authentifié
- recalcul régulier d’un article du site sans être authentifié
- recalcul régulier d’un article, avec le formulaire pour déposer un commentaire, en étant authentifié
- recalcul régulier d’un article, avec le formulaire pour déposer un commentaire, sans être authentifié
Mon adresse IP n’a jamais été bannie.
Est-ce que le site est situé derrière un reverse proxy ?
Hello,
Non le site n’est pas derrière un reverse proxy. Je ne reproduis plus le message de bannissement, si cela se reproduit je reposterai ici.
Merci d’avoir testé.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |