Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 12-09-2018 18:32:28

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Iptables ne bloque pas les IP bannies

Bonsoir,

J'ai actuellement un serveur dédié que je protège avec différents outils, dont fail2ban et iptables. Le serveur héberge des conteneurs LXC, je redirige le trafic vers les conteneurs grâce au NAT avec iptables. Tout marche bien sauf pour bannir les IPs (brute force).

J'utilise ceci pour rediriger le trafic vers les conteneurs :


...
    iptables -t nat -I PREROUTING -p tcp -d $IP_SRV --dport 443 -j DNAT --to 192.168.xx.xx:443
    iptables -t nat -I PREROUTING -p tcp -d $IP_SRV --dport 80 -j DNAT --to 192.168.xx.xx:80
...
 



$IP_SRV = l'IP du serveur maître :-)

Quand je fais iptables -L, l'IP est bien listée comme étant bloquée, mais elle arrive quand-même à accéder au conteneur.


Chain INPUT (policy DROP)
target     prot opt source               destination        
....
....
DROP       all  --  77.xxx.xxx.xxx         anywhere
 



Je précise que je souhaite bloquer les IP en amont, c'est-à-dire sur serveur maître, c'est sur celui-ci que j'utilise un firewall (iptables). Avez-vous une idée ?

Le blocage ne se fait pas peut-être parce que le trafic est redirigé immédiatement (PREROUTING) avant même de contrôler si l'IP est bannie ? Si oui, comment peut-on y remédier ?

Dernière modification par MoxSite (12-09-2018 18:35:03)


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#2 12-09-2018 18:53:40

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : Iptables ne bloque pas les IP bannies

Salut,

par défaut fail2ban banni sur la chaine INPUT, or dans ton cas il faudrait que ce soit sur la chaine FORWARD

si tu dois utiliser les deux méthodes sur le serveur, tu dois modifier ton fichier jail.conf

par defaut, il contient :

chain = INPUT

action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]

action = %(action_)s


tu as la chaine par défaut INPUT, et l'action de bannissement donné par action, qui va donc utiliser la chaine INPUT

tu peux modifier comme suit :

chain = INPUT
chainforward = FORWARD

action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
actionforward_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chainforward)s"]

action = %(action_)s


laissé l'action par defaut, mais au niveau de la configuration du service concerné, rajouté :

action = %(actionforward_)s

Hors ligne

#3 12-09-2018 19:57:16

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Iptables ne bloque pas les IP bannies

Bonsoir,

@ Freemaster :
Merci beaucoup ça marche à merveille :-). Cependant j'ai adapté l'action, car j'utilisais une autre et avec le fichier de configuration personnalisé (jail.local) :


actionforward_mwl = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chainforward)s"]
                                  %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chainforward)s"]
 



Une autre petite question, c'est possible d'utiliser les deux actions par défaut partout sans les mettre dans chaque service ? Genre en tête du fichier de configuration mettre quelques chose comme ceci :

action = %(action_mwl, actionforward_mwl)s

Dernière modification par MoxSite (12-09-2018 19:58:11)


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#4 12-09-2018 20:06:11

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : Iptables ne bloque pas les IP bannies

bonne question, tu teste et tu me dis si ça marche tongue

mais si ça marche, pour chaque service tu auras un ban sur les 2 chaines... ce qui ne doit pas être gênant...

Hors ligne

#5 12-09-2018 20:09:27

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Iptables ne bloque pas les IP bannies

Freemaster a écrit :

bonne question, tu teste et tu me dis si ça marche tongue

mais si ça marche, pour chaque service tu auras un ban sur les 2 chaines... ce qui ne doit pas être gênant...


lol

Tout à fait ! Je vais tester ça et je te tiens au courant.

Sinon j'aimerai bien bannir sur les deux chênes, ainsi l'ip ne pourra accéder à aucun service que ce soit sur les conteneur ou le serveur hôte.

Dernière modification par MoxSite (12-09-2018 20:09:41)


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#6 12-09-2018 20:28:53

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Iptables ne bloque pas les IP bannies

Bon ça ne marche pas :-). Si je ne trouve pas de solution, je vais faire un petit programme en Go pour chasser les méchants sur les deux chaînes de façon automatique, en fait ça sera un mini fail2ban fait maison smile.

Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#7 12-09-2018 20:34:48

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : Iptables ne bloque pas les IP bannies

MoxSite a écrit :

Sinon j'aimerai bien bannir sur les deux chênes, ainsi l'ip ne pourra accéder à aucun service que ce soit sur les conteneur ou le serveur hôte.


oui, enfin... si un port est en forward, c'est qu'il n'écoute pas sur le serveur... et s'il est en écoute, c'est qu'il n'est pas forwardé...
bloquer sur les deux systématiques, cela fait un peu manque de rigueur smile

tu devrais plutôt regarder les autres options, comme le bantime, par défaut 5min (600) c'est pas beaucoup...

Hors ligne

#8 12-09-2018 20:50:06

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Iptables ne bloque pas les IP bannies

Freemaster a écrit :

MoxSite a écrit :

Sinon j'aimerai bien bannir sur les deux chênes, ainsi l'ip ne pourra accéder à aucun service que ce soit sur les conteneur ou le serveur hôte.


oui, enfin... si un port est en forward, c'est qu'il n'écoute pas sur le serveur... et s'il est en écoute, c'est qu'il n'est pas forwardé...
bloquer sur les deux systématiques, cela fait un peu manque de rigueur smile

tu devrais plutôt regarder les autres options, comme le bantime, par défaut 5min (600) c'est pas beaucoup...


J'ai déjà un bantime très élevé. En fait j'ai des services dans des conteneurs LXC et des services sur le hote, quand une IP est bannie à cause d'un service sur un conteneur LXC, j'aimerai qu'elle le soit en amont, donc le serveur hote, ainsi l'IP ne peut accéder aucun autre service. d'où utilisation des deux chênes. Après il y a peut-être une autre façon de faire.. :-)

Dernière modification par MoxSite (12-09-2018 20:51:09)


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#9 12-09-2018 21:48:00

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : Iptables ne bloque pas les IP bannies

à vérifier :

action_multi = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
               %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chainforward)s"]

action = %(action_multi)s

Dernière modification par Freemaster (12-09-2018 21:48:52)

Hors ligne

#10 14-09-2018 12:40:39

MoxSite
Membre
Distrib. : Debian Buster (Testing+SID)
Noyau : Linux 4.18.0-1-amd64
(G)UI : Gnome 3.30
Inscription : 28-07-2015

Re : Iptables ne bloque pas les IP bannies

Freemaster a écrit :

à vérifier :

action_multi = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
               %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chainforward)s"]

action = %(action_multi)s


Bonjour,

Je pense que c'est la bonne solution. Je vais vérifier ça demain soir.


Debian Stretch sur mes serveurs. Buster (Testing+SID) sur mon PC. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

Pied de page des forums