Forum CMS Made Simple FR
Questionnement sur l'utilité d'un module de sécurité + gestion d'évent - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : Questionnement sur l'utilité d'un module de sécurité + gestion d'évent (/thread-2368.html)



Questionnement sur l'utilité d'un module de sécurité + gestion d'évent - bess - 16/11/2012

Salut tout le monde

J'ai un peu du mal en ce moment à prendre du recul (trop la tête dans le guidon) et j'ai eu une idée de module pour combler un besoin technique que je n'arrive pas trop à délimiter... Je me suis dit que 2 têtes valent mieux qu'une, surtout si ça peut m'éviter de commencer un module qui sera inutilisé

L'idée initiale démarre suite à un post sur le forum de Spy1664 qui demandait en synthèse la génération d'un event à chaque upload de fichier dans JqueryFU ce qui n'était pas possible.

Alors j'ai commencé à réfléchir à comment on pouvait résoudre ce problème avant de me rendre compte que Cmsms avait déjà toutes les briques pour ce genre de chose (Module Notifications, les Events, Cron Task) sauf que rien ne permet actuellement d'interfacer ce genre d'action (le cron exécute une action X qui peut déclencher un Event qui sera catché à son tour par le module Notification qui enverra un email). Pire encore, si un module X faisait le pont, cela resterait très lourds d'aller jouer dans 4 parties de l'administration, juste pour scruter un répertoire...

En parallèle de toute cette réflexion je suis retombé sur ce message de Jean Le Chauve qui donne un script qui scrute les modifications d'un répertoire afin d'alerter d'éventuelles modifications cette fois ci dans un but de sécurité. Mais le principe reste le même : on scrute un répertoire ...

Et continuons un peu dans le domaine de la sécurité ... vous êtes certainement comme moi avec une foule de site web créés aux 4 coins de la terre et pas forcement la possibilité de tous les mettre à jour à chaque nouvelle version, vous pensez peut-être à modifier le répertoire admin mais combien d'entre vous le font. Et même avec une admin renommée, comment s'assurer qu'une attaque brute force n'est pas en cours ? Cmsms propose déjà tous les composants : un cron peut lancer la vérification d'une nouvelle version (c'est déjà le cas), les events peuvent catcher un login failed ou success, le module Notification permet l'envoi d'email

Encore une fois il manque un noyau au milieu de toutes ces étapes qui après ces petites réflexions sont très semblables : réaliser un module qui gère 2 phases : définir le déclencheur, définir l'action.

Exemple de déclencheur :

- Toutes les minutes
- Toutes les heures
- Un event qui se déclenche

Exemple d'action basique

- Envoyer un email
- Vider le cache

Exemple d'action évoluée
- Déclencher un/des autre(s) évent(s) après avoir exécuté un script php


On retrouve donc la possibilité de chainer les évènements de manière très complexes :

Routine : si 3 échec d'authent : envoi moi un email
Citation : * J'ai un login success => compteurFail = 0
* J'ai un login failed => si (compteurFail < 3) => compteur ++
* J'ai un login failed => si (compteurFail > 3) => send email => compteur = 0

Ces 3 scripts seraient donc définit dans une routine nommée "secureLogin" qui pourrait être exportée sous la forme d'un fichier plat et permettrait donc de dupliquer vos propres scripts d'un site à un autre


Routine : prévois moi tous les 7 jours si une nouvelle version existe
Citation : * Timer 1 jour se déclenche => si nouvelleVersion => si lastEnvoi == 0 OU lastEnvoi > 7 => send Email => lastEnvoi = 1
* Timer 1 jour se déclenche => si nouvelleVersion => si 0 < lastEnvoi < 7 => lastEnvoi++

Routine : préviens un utilisateur FEU si la date de fin de validité de son compte expire dans 60,30,15,7,3,1 jours
Citation : * Timer 1 jour se déclenche => si dateExpire == 60 => sendEmail(emailUser)
* ...

On peut aller trèèèèès loin avec ce genre de combinaison et là se pose le problème : est-ce que ce serait réellement utilisé ?


On pourrait, en même temps que le module, proposer des scripts tout fait prêts à l'emploi : avertir si un site se fait attaquer, avertir si un fichier a été modifier dans un répertoire, dans tout cmsmadesimple, vider le cache tous les 3 jours si la place sur le disque arrive à saturation, ...


Questionnement sur l'utilité d'un module de sécurité + gestion d'évent - Ouik - 18/11/2012

Perso, ça me semble très très utile, non ?


Questionnement sur l'utilité d'un module de sécurité + gestion d'évent - bess - 20/11/2012

ben Ouick je suis content de voir que ça intéresse au moins quelqu'un mais s'il n'y a que toi ... :lol:

pas d'autres avis (même pour dire "non")


Questionnement sur l'utilité d'un module de sécurité + gestion d'évent - pierrepercee - 02/12/2012

Salut Bess,

perso je remets un htaccess pour blinder l'accès à l'admin (renommé de surcroit). J'ai jamais eu de soucis avec quelques dizaines de sites... Plus quelques lignes de "filtrage des url" dans l'htaccess à la racine.

Mais un module simple qui viderait le cache régulièrement et qui préviendrait en cas de changement de taille d'un des fichiers du core ou de création d'un nouveau fichier avec envoi d'email derrière ce serait effectivement un vrai plus ! Après je pense qu'il faut que cela sorte quasi pré-réglé et que ce soit très facile à paramétrer. Comme toutes les fois où l'on touche à la sécurité le plus simple est toujours le plus efficace ! (il faut bien avoir en tête l'utilisateur moyen de CMSMS (cela n'a rien de péjoratif) pour qui PHP, smarty etc.. restent des notions lointaines)
Ceci-dit, les bons hébergeurs font un peu le boulot, dès qu'ils détectent une activité suspecte sur un site, ils le mettent en rideau.
Je continue de penser que la sécurité est une question essentielle pour les CMS et dans tous les cas un des aspects auxquels les entreprises sont aujourd'hui facilement sensibilisées. Faire progresser CMSMS sur ce point doit rester une priorité. Si tu développes ce module, j'irais même plus loin, il faudrait l'intégrer nativement dans le core.
Quant au petit nombre de réactions sur ta proposition, c'est seulement lorsque les pépins arrivent que les gens réagissent Rolleyes