Bonjour,

suite à une ré-installation j'ai décidé sur un de mes serveurs de passé de DEBIAN 9 à DEBIAN 10. Malheureusement mes scripts d'installations automatiques ont du être mise a jour. Bref...

Sur le nouveau serveur (DEBIAN10), j'ai décidé de passer sur nftables. J'ai dû alors modifier fail2ban. Voici deux jours que le serveur est allumé. je suis surpris de ne voir aucun ban... sur un autre serveur j'en ai environs 3 par heures...

De plus, je suis surpris des logs dans le fichier syslog j'ai ennormement de log du type:
[199896.114602] IN=eth0 OUT= MACSRC=00:08:e3:ff:fd:90 MACDST=00:50:56:3e:cc:24 MACPROTO=0800 SRC=77.247.110.243 DST=80.241.221.89 LEN=40 TOS=0x00 PREC=0x00 TTL=249 ID=8623 PROTO=TCP SPT=42844 DPT=5038 SEQ=1534717784 ACK=0 WINDOW=1024 RES=0x00 SYN URGP=0

Je suis presque sur que fail2ban n'est pas bon. Cependant, comment en être sur?

Autre information, via NMAP, les seuls ports ouverts sur mon serveur sont ceux autorisés par nsftables.

Je suis ouvert a toutes propositions pour comprendre si mes conf sont bonnes. Si besoin, je peux les publier ici.

merci par avance,

BBO

Bonjour,

Quelle action as tu configuré dans fail2ban quand tu as une règle qui match?

dans mon fichier /etc/fail2ban/jail.local j'ai:
mode = normal
action = %(action_mwl)
banaction = nftables-multiports
chain = inputs

Effectivement Buster force l'utilisation de nftables mais fail2ban pense toujours utiliser iptables du coup rien n'est bloqué. Une des solutions serait de forcer l'utilisation de iptables

https://wiki.debian.org/nftables

update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
update-alternatives --set arptables /usr/sbin/arptables-legacy
update-alternatives --set ebtables /usr/sbin/ebtables-legacy

J'ai pas essayé donc pas de certitudes*

https://codepoets.co.uk/2019/fail2ban-debian-buster-10-and-iptables-vs-nftables/

  • BBO a répondu à ça.

    laster13 j'ai cependant dans la conf de fail2ban demandé a ce qu'il utilise nftables.
    C'est dans mon post précédent
    Banction = nftables-multiport

    Après, peut etre que cela ne fonctionne pas.

    laster13 Merci, j'avais bien trouvé ce tutoriel mais effectivement j'avais oublié de faire une chose. Cela fonctionne.
    j'ai testé mon tel derrière un VPN et j'ai bien mes logs renseignées et l'IP banni.

    Je profite de se poste pour une autre question si possible. Je n'ai pas trouvé de tuto ou d'aide concernant portsentry et nftables. Dans mon ancienne config, portsentry exécutait une commande iptables pour bannir la personne faisant un scan de mes ports. Je n'arrive cependant pas à faire ou à trouver la commande avec nftables.
    voici la commande IPTABLES qu'effectuait portsentry :
    /sbin/iptables -I INPUT -s 1.1.1.1 -j DROP && /sbin/iptables -I INPUT -s 1.1.1.1-m limit --limit 3/minute --limit-burst 5 -j LOG --log-level DEBUG --log-prefix 'Portsentry: dropping: '

    Cependant peut être que NFTABES peut le faire de base seul?

    Merci pour votre aide

    Carrément intéressé par la réponse à la question ci-dessus également 🙂

      Si quelqu'un a une idée je suis toujours preneur.

        qo_op
        Merci pour ta réponse, c'est toujours utile. Cependant je ne parlais pas du port knocking. Je chercher a bannir toutes les perconne qui font un scan des ports sur mon serveur. Avec iptables je faisais cela avec portsentry.

        Si l'outil detect un host qui scan les ports, il le ban durant x minutes.

        qo_op [...] j'utilise ufw et fail2ban encore. À tord peut être ?

        L'un comme l'autre font un assez bon boulot. De plus, ils ont l'avantage d'être accessible ((simple, compréhensible, lisible, etc) pour des personnes ayant peu de compétence) contrairement aux autres (Ossec, psad, Suricata, etc).
        Donc bien entendu la réponse est non.

        15 jours plus tard

        Je me permet de relancer la discussion au cas ou une personne aurait une autre piste. Pour rappelle je cherche a bannir via NFTABLES les scans de port ouvert...

        Merci par avance,

        BBO

          BBO
          Bonjour,

          Avec un peu de recherche sur nftables:
          https://www.it-connect.fr/chapitres/presentation-de-nftables/
          https://wiki.nftables.org/wiki-nftables/index.php/Main_Page
          etc...

          Voir, te servir de la commande iptables-translate:

          https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables

          Tu devrais pouvoir modifier le fichier portsentry.conf en nftables compatible et du même coup comprendre un peu mieux nftables.

          Par exemple, je traduirais:

          KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
          

          Par:

          KILL_ROUTE="/usr/sbin/nft add rule ip filter input ip saddr $TARGET$ drop"
          

          Naturellement après avoir créé une table "ip filter"

          Bon courage.

          Edit:
          (a tester):

          KILL_RUN_CMD="/usr/sbin/nft add rule ip filter input ip saddr $TARGET drop && /usr/sbin/nft add rule ip filter input ip saddr $TARGET limit rate 3/minute burst 5 packets log level debug prefix \"Portsentry: dropping: \""
          
          5 jours plus tard

          merci beaucoup, je vais tester cela rapidement

          Répondre…