• # Pas mal

    Posté par (site web personnel) . En réponse à la dépêche reaction, remplaçant de fail2ban. Évalué à 10.

    C'est vrai que fail2ban a fait son temps, et ses fichiers de configuration ont graduellement explosé. Perso, je me suis contenté de nftables, mais bon.

    Quelques remarques :

    Je pense qu'il est possible de souscrire aux messages du journal système directement, utiliser une commande, c'est old school.

    D'ailleurs, spécifier 'journalctl', '-fu', 'sshd.service' dans un fichier de configuration, c'est ce que j'appelle se tirer une balle dans le pied. À la limite, il vaudrait mieux quelque chose comme ça :

    ssh:
     follow: sshd
    

    Cela te permettra de laisser au programme le choix de l'implémentation, soit manuelle (i.e. journalctl -fu sshd), soit native lorsque tu auras trouvé l'api systemd qui le fait.

    Pour le fichier de configuration, je les préfère exempts de toute logique, donc Yaml suffirait. Pour la raison mentionnée ci-dessus.

    Même remarque pour cette ligne :

     cmd: ['iptables', '-w', '-A', 'reaction', '-s', '<ip>', '-j', 'DROP']

    OK, c'est très flexible de supporter cmd, mais ça devrait être une exception. Si par exemple, tu écris quelque chose comme ça:

     action:
     type: ban
     target: drop

    Le programme peut maintenant choisir d'utiliser nftables, iptables ou autre, en fonction du système.

    Pour ssh, nftables fait ça très bien, avec sets + timeout. Je crois que la dernière version de iptables est juste un wrapper autour de nftables.