Soucis avec Iptables et xtables-addons

Bonjour

J’ai un reverse proxy sous debian jessie (8.10) avec fail2ban installé qui fonctionne parfaitement, mais bon vu les tentatives d’intrusions en provenance de RU et CN, je veux, en plus de fail2ban, mettre directement un filtrage par pays histoire d’alléger le travail de fail2ban.

Pour cela j’ai utilisé ce tuto: https://www.how-to.ovh/viewtopic.php?t=11

Pour le téléchargement du fichier j’ai utilisé ce lien: http://www.wolwx.net/wp-content/uploads … ild.tar.gz

Tout ce passe très bien et sans erreur pour l’installation:

dkms status xtables-addons
xtables-addons, 2.6: added

par de retour d’erreur sur les deux commandes:

./xt_geoip_dl

et
./xt_geoip_build -D . *.csv

par contre voila le retour que j’ai quand je lance la mise en place des règles iptables:

iptables -A INPUT -m geoip --src-cc CN,RU -j DROP
iptables: No chain/target/match by that name.

la commande

iptables -L -n -v

répond parfaitement et je vois bien tous les ban de fail2ban

Merci par avance pour votre aide

Le module xt_geoip est compilé, mais est ce qu’il est chargé ?
Vérification lsmod | grep xt_

S’il n’est pas chargé, tu modprobe xt_geoip, tu regardes s’il s’est chargé, puis tu reteste ta règle iptables.

Voila les retours de commandes

lsmod | grep xt_
xt_multiport           12518  6
x_tables               27399  4 ip_tables,xt_multiport,iptable_filter,ipt_REJECT

modprobe xt_geoip
modprobe: FATAL: Module xt_geoip not found.

arghhh :tired_face:

Je crois que je sais, xtables-addons, 2.6: added, ça veut juste dire que tu as “addé” le code source du module à l’arborescence de compil de dkms, mais je n’ai pas épluché les tutos que tu as suivi, et je crois juste qu’ils ont omis de compiler et installer le paquet/module.
Essayes un bête apt install xtables-addons-dkms, ça devrait t’installer ce kivabi1.

malheureusement il est bien installé

apt-get install xtables-addons-dkms
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
xtables-addons-dkms est déjà la plus récente version disponible.

apt-cache policy xtables-addons-dkms
xtables-addons-dkms:
  Installé : 2.6-1
  Candidat : 2.6-1
 Table de version :
 *** 2.6-1 0
        500 http://http.debian.net/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status

Bon, rapide qui me vient à l’esprit, essaye dkms install, ou bien dkms install xtables-addons, ou finalement dkms install xtables-addons/2.6-1 et essaye avec des --all pour t’assurer que c’est bien compilé pour tous tes noyaux.

Malheureusement rien de nouveau

dkms install --all
dkms install xtables-addons --all
dkms install xtables-addons/2.6-1 --all
lsmod | grep xt_
xt_multiport           12518  6
x_tables               27399  4 ip_tables,xt_multiport,iptable_filter,ipt_REJECT
modprobe xt_geoip
modprobe: FATAL: Module xt_geoip not found.

OK.
Je viens de tester chez moi, j’ai aussi un problème.
Ca doit être un bloquage lors de l’install du paquet dkms:
la compil a du planter lors de l’install du paquet dkms, et tu n’as pas du voir le message.

A priori, si tu fais un aptitude reinstall xtables-addons-dkms
il doit bloquer sur un truc genre [quote]
Error! Build of xt_ACCOUNT.ko failed for: 4versiondenoyau-amd64 (x86_64)
Consult the make.log in the build directory
/var/lib/dkms/xtables-addons/version_des_sources/build/ for more information.[/quote]
Si c’est ça, tu devrais trouver ton make.log et savoir ce qui plante (ou pas, je n’ai rien compris, en fait, j’ai surtout deviné).
A priori, chez moi je pense que c’est une question de sources du module (en stable) pas compatible avec ma version de noyau et les headers (qui sont en sid chez moi).
Si c’est pareil pour toi, il faut faire un peu de pinning pour prendre des version de source des modules noyau dans la même release que ton noyau.

Voila le retour de la commande

aptitude reinstall xtables-addons-dkms
Les paquets suivants seront RÉINSTALLÉS :
  xtables-addons-dkms
0 paquets mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 1 non mis à jour.
Il est nécessaire de télécharger 0 o/276 ko d'archives. Après dépaquetage, 0 o seront utilisés.
(Lecture de la base de données... 55604 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../xtables-addons-dkms_2.6-1_all.deb ...

------------------------------
Deleting module version: 2.6
completely from the DKMS tree.
------------------------------
Done.
Dépaquetage de xtables-addons-dkms (2.6-1) sur (2.6-1) ...
Paramétrage de xtables-addons-dkms (2.6-1) ...
Loading new xtables-addons-2.6 DKMS files...
Building only for 3.16.0-4-amd64
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
Scanning processes...
Scanning kernel images...
Running kernel seems to be up-to-date.
No services need to be restarted.

pourtant mon serveur semble bon:

uname -a
Linux reverseproxy 3.16.0-4-amd64 #1 SMP Debian 3.16.51-3 (2017-12-13) x86_64 GNU/Linux

Bah il est peut être bon, mais tes kernel headers ne sont pas installés (c’est plutôt bizarre avec ce que tu as fait, mais bon).

Teste un autre truc pour forcer un peu plus la compil:
apt install module-assistant linux-headers
m-a a-i xtables-addons

 apt-get install module-assistant linux-headers
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Package linux-headers is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'linux-headers' has no installation candidate

c’est quoi la commande ?

m-a a-i xtables-addons

aprés j’ai vu

linux-headers-3.16.0-4-all-amd64

je l’installe?

yesss

j’ai entré

apt-get install linux-headers-$(uname -r)

ensuite

iptables -A INPUT -m geoip --src-cc CN,RU -j DROP

et maintenant j’ai bien

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-apache-multiport  tcp  --  anywhere             anywhere             multiport dports http,https
fail2ban-recidiviste  tcp  --  anywhere             anywhere
fail2ban-apache  tcp  --  anywhere             anywhere             multiport dports http,https
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
DROP       all  --  anywhere             anywhere             -m geoip --source-country CN,RU

Il ne manquait donc que le paquet linux-headers pour que ça fonctionne

Merci pour ton coup de main

Le m-a, c’est le module assistant pour faciliter la compil de modules.
Quand tu lances une compil avec (m-a a-i ), il s’assure en même temps que tu aies bien tout ce qu’il faut d’installé pour ta compil, les headers, mais aussi le kbuild pour ta ve(rsion de noyau, etc.
Mais je m’attendais à ce que dkms fasse pareil, c’est bizarre.

merci :wink: