• # Botfreak

    Posté par (site web personnel) . En réponse à la dépêche Pyruse 1.0 : pour remplacer Fail2ban et autres « scruteurs » de journaux sur un GNU/Linux moderne. Évalué à 1.

    Hello à tous,

    C'est marrant, je n'étais pas venu depuis des années sur linuxfr, et boom, direct sur la première page je tombe sur cette news qui m'interpelle.

    J'ai moi-même développé un truc très similaire. Je n'ai pas encore fait de release parce que je n'imagine pas que ça intéresse grand monde, c'est un modèle un peu plus compliqué.

    Les sources (mercurial, pas git !) : https://sources.freehackers.org/botfreak/

    Je résume, les points communs :
    * sert à la même chose
    * système générique de filtres de logs, regex, etc.
    * en python

    Les grosses différences :
    * ne se base pas sur systemd (je ne l'utilise pas, mais il serait facile d'adapter)
    * fonctionne en client-serveur, avec un serveur central (web), des "reporters" qui remonte les problèmes, et des "blockers" qui utilise ces informations pour bloquer (avec iptables). La communication se fait par API.
    * il y a aussi une interface web (Django) pour reporter 'à la main' des mauvais hosts/ips.

    Il y a aussi des concepts de 'whitelists' (je ne sais pas si pyruse a ça).

    Depuis très longtemps j'avais des scripts "maison" (fail2ban ne m'a jamais convaincu) sur tous mes serveurs, mais ce qui me gênait c'est qu'il n'y avait pas de partage d'information entre eux.

    Tel que c'est fait aujourd'hui, chaque utilisateur a un pool de serveur, et les informations sont partagées entre tous les serveurs d'un même utilisateur. Au démarrage d'un blocker, il télécharge l'historique jusqu'à un certain point dans le temps (configurable), et les tables iptables sont gardées en cache pour la performance.