GNU/Linux >> Tutoriels Linux >  >> Debian

Debian – Comment interdire automatiquement et définitivement des adresses IP ?

Actuellement, j'utilise iptables sur un nouveau serveur Debian exécutant Asterisk.

Chaque jour, j'ai vérifié auth.log pour les adresses IP et fait manuellement iptables -A INPUT -s IPA.DRE.SS.0/24 -j DROP

Au départ, je ne faisais que des adresses IP, mais de nombreux appels provenaient d'adresses IP similaires, donc /24 a mieux fonctionné, j'ai utilisé /16 plusieurs fois.

J'ai déjà des centaines d'entrées iptables et cela devient incontrôlable ! Je sais qu'il doit y avoir un moyen plus simple de le faire.

fail2ban m'a été recommandé mais il semble qu'il ne bloque temporairement les IP qu'après un certain nombre de tentatives.

Les deux principales tentatives d'intrusion que je constate utilisent de faux noms d'utilisateur et des ports aléatoires.

Est-il possible, en cas de tentative de connexion avec un nom d'utilisateur que je n'utilise pas actuellement, de bloquer automatiquement et définitivement l'adresse IP ? Pareil avec les ports qui ne sont pas utilisés ?

J'en vois aussi beaucoup comme ça :

Did not receive identification string from (malicious IP) port 48334

J'aimerais également interdire ces adresses IP.

Je ne bloquerai pas automatiquement les tentatives de connexion incorrectes comme si j'utilisais le mot de passe qui pourrait me bloquer. Mais peut-être qu'un ban permanent d'une IP après 3 tentatives suffira.

Puis-je faire cela avec iptables ? Je n'ai rien trouvé concernant les "interdictions permanentes" qui fonctionnent comme ça, il semble que cela fonctionne plus sur le moment.

J'aimerais plus ou moins accomplir ce que j'ai fait manuellement; blocage permanent des plages d'adresses IP après une seule connexion avec un nom d'utilisateur incorrect, une seule connexion de port erronée ou 3 tentatives de connexion incorrectes (avec un nom d'utilisateur correct). J'espère que cela empêchera auth.log d'être spammé.

Réponse acceptée :

fail2ban peut être configuré pour des interdictions permanentes en définissant bantine à -1

Dans jail.conf

bantime = -1 

Ceux-ci seront perdus lors d'un redémarrage, mais ce n'est pas nécessairement une mauvaise chose car de nombreuses tentatives seront transitoires à partir de machines domestiques pwnées dans un botnet…

Si vous voulez de la persistance, alors https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-persistent-bans/ peut vous donner quelques conseils.

Modifier essentiellement le fail2ban config pour créer un fichier de configuration persistant de toutes les adresses IP interdites, et faire en sorte qu'iptables charge cette liste au redémarrage…

Donc, si vous vérifiez votre jail.conf par défaut vous trouverez peut-être que l'action par défaut est iptables-multiport . Cela correspond au fichier de configuration /etc/fail2ban/ction.d/iptables-multiport.conf

Nous pouvons ajouter les entrées suivantes :

[Definition]
# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
          cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
          | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
             iptables -F fail2ban-<name>
             iptables -X fail2ban-<name>

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
        echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans

Maintenant, quand fail2ban marque une entrée, il ajoutera une ligne à /etc/fail2ban/persistent.bans (via le actionban configuration). Quand fail2ban démarre il appelle actionstart qui lit ce fichier et construit le iptables règles nécessaires.

Connexe :Mac - Attribuer des adresses IP à certaines adresses mac dans dd-wrt ?

Bien sûr, fail2ban doit être redémarré après la modification de l'un des fichiers de configuration.

Tout le mérite revient à "arno0x0x" et à son site wordpress pour cette recette.


Debian
  1. Comment installer Debian 10 (Buster)

  2. Comment changer le nom d'hôte dans Debian 10

  3. Comment exécuter OpenVPN automatiquement sur Debian avec une adresse IP statique

  4. Comment arrêter l'installation automatique des mises à jour sur Ubuntu ou Debian (mises à niveau sans surveillance)

  5. Comment lister les adresses IP bloquées par iptables ?

Comment installer Debian 11

Comment redémarrer Debian 10

Comment activer/désactiver Ping en utilisant iptables sur Debian 10

Comment attribuer plusieurs adresses IP à une seule carte LAN dans Debian 10

Comment installer Go sur Debian 10

Comment installer Go sur Debian