Bonjour à tous,
Je cherche à bloquer certains ports ( ssh et emails ) à certains pays. Jusque là il y avait une tonne de tutos, mais Maxmind a décidé de changer le format des bases de données fournies gratuitement.
Bref, j’ai essayé de compiler le tout moi-même suivant la recette suivante :
## Installation des paquets nécessaires
apt install libnet-cidr-lite-perl dkms libtext-csv-xs-perl xtables-addons-common xtables-addons-dkms geoip-database libgeoip1 unzip
## Vérification du status dkms
dkms status xtables-addons
## Récupère les derniers scripts de compilation des bdd maxmind sur Github
cd /usr/share/xt_geoip
wget -q https://github.com/nawawi/xtables-addons/raw/master/geoip/xt_geoip_build
wget -q https://github.com/nawawi/xtables-addons/raw/master/geoip/xt_geoip_dl
chmod +x xt_*
## Téléchargement, extraction et compilation des bases
./xt_geoip_dl
./xt_geoip_build -S GeoLite2-Country-CSV_* -D LE
Totu semble bien se passer, sauf que je me retrouve seulement avec un dossier LE ( contenant un fichier iv4 et iv6 par pays ), et pas de dossier BE ( je ne connais pas exactement son utilité ).
Je lance une règle iptables de test :
iptables -I INPUT -p tcp --dport 22 -m geoip ! --src-cc FR,DE -j DROP
Elle est sensée bloquer le port ssh pour tous les pays sauf France et Allemagne. Très mauvaise idée de tester le port ssh, j’aurais mieux fait avec le port 443, car je me suis bloqué l’accès ( pas grave, la machine est virtualisée dans Proxmox, il me suffisait de passer par la console ).
Mon problème est surtout que cette règle citée plus haut bloque complètement l’accès ssh au lieu de le restreindre. Donc soit il y a eu un problème dans la compilation des bases d’adresses ip, soit il y a quelque chose que je ne pas saisi avec la règle iptables ( l’ordre des paramètres est important ? ).
Une idée pour faire avancer le schmilblick ?
Merci