La liste des Subnet/Country
Dans notre exemple nous allons bannir l’ISLANDE d’accès sur un serveur VPS.
L’iso Code est : IS et ce pays possède 136 Subnet.
Pour la RUSSIE , l’ISO code est : ru ☺
Le but est donc d’ajouter au firewall les 136 block.
Script BASH
[root@vps-xxxxxxxx chris]# vi Bannir_country.sh
#!/bin/bash
PAYS_ISO=$1
echo "Ban IP of country $PAYS_ISO"
for IP in `wget -O - https://www.ipdeny.com/ipblocks/data/countries/"${PAYS_ISO[@]}".zone --no-check-certificate`
do
echo " Bloquer le range $IP"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$IP' reject"
done
firewall-cmd --reload
[root@vps-xxxxxxxx chris]# chmod +x Bannir_country.sh
Le principe du script
[root@vps-xxxxxxxx chris]# ./Bannir_country.sh « ISO Country »
Je me connecte en VPN via l’ISLANDE pour accéder à mon serveur en France et se positionner comme un Islandais souhaitant se connecter sur le serveur Français.
Donc je suis en Islande et plus précisément à Keflavik.(Sans bouger de mon canapé ☺ )
Mon IP dans cette ville est « 45.133.192.108 »
Lancement du script boquant l’Islande sur le Serveur
[root@vps-xxxxxxxx chris]# ./Bannir_country.sh is
Check «Block » IP Islande (Côté serveur)
Mon IP de provenance est 45.133.192.108 vérifions que celle-ci est bien « Banni » par le Firewall.
[root@vps-xxxxxxxx chris]# firewall-cmd --list-rich-rules |grep 45.133
[root@vps-xxxxxxxx chris]# iptables -L > liste_firewall
[root@vps-xxxxxxxx chris]# cat liste_firewall |grep 45.133
Check «Block » IP Islande (Côté client en ISLANDE)
L’accès Apache au site Français via l’ISLANDE
Débloquer le pays récemment « REJECT »
Script BASH
[root@vps-xxxxxxxx chris]# touch Accept_country.sh
[root@vps-xxxxxxxx chris]# vi Accept_country.sh
#!/bin/bash
PAYS_ISO=$1
echo "Ban IP of country $PAYS_ISO"
for IP in `wget -O - https://www.ipdeny.com/ipblocks/data/countries/"${PAYS_ISO[@]}".zone --no-check-certificate`
do
echo " Bloquer le range $IP"
firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='$IP' reject"
done
firewall-cmd --reload
[root@vps-xxxxxxxx chris]# chmod +x Accept_country.sh
[root@vps-xxxxxxxx chris]# ./Accept_country.sh is
Views: 33