Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment bloquer certaines IP sur votre serveur

Adresse IP bloquée sur un serveur

Vous le savez, je suis une méga star internationale de l’univers inter galactique de mon petit bureau à la maison 🙂 , et comme tous les gens qui s’exposent un peu publiquement comme je le fais avec le blog, j’ai parfois quelques blaireaux issus d’une manipulation génétique de sécrétion de morpion qui tentent des petites choses sur mon serveur adoré 🙂 Ça peut aller d’insultes permanentes (et avec des fautes svp !) dans les commentaires à l’attaque (ou tentative d’attaque) type hacking (ciblée ou non, au travers de bots).

La routine me direz-vous… Mais comme j’ai un vrai métier et très peu de temps à consacrer à ces hyènes sociopathes, j’ai tout simplement mis en place un petit filtrage par iptable qui je pense vous servira si vous êtes dans le même cas que moi.

Donc voici comment filtrer quelques IPs sur votre serveur, histoire d’éviter de vous prendre la tête en cas d’attaque de bot et soulager vos serveur le temps que ces blaireaux apprennent à lire et à se servir d’un VPN ou d’un proxy (ou rebootent leur livebox pour changer d’ip :-)). Attention tout de même, si quelqu’un veut vraiment vous nuire, cela ne vous protègera en rien. Il faudra alors simplement collecter quelques preuves (piratage ou diffamation) et aller porter plainte chez votre contractuelle la plus proche :-))))

Allez, c’est parti ! Tout d’abord, vous devez installer iptable :

sudo apt-get install iptables

ensuite, créez vous une petite blacklist dans votre répertoire personnel (faites preuve d’imagination dans le nom du fichier) :

sudo nano /home/manu/mesamislesblaireaux.ips

A l’intérieur, à vous de placer à la suite les adresses IPs de vos plus grands admirateurs :

#Chef des blaireaux
xxx.xxx.xxx.xxx
#Sous chef des blaireaux
xxx.xxx.xxx.xxx
#Fils de blaireau
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
#La mère du blaireau
xxx.xxx.xxx.xxx

Vous l’aurez compris, j’ai masqué volontairement les IPs mais c’est pour vous expliquer. Remplacez les xxx.xxx.xxx.xxx par un vrai truc…

Sauvegardez le fichier et créez ensuite le script suivant dans /etc/init.d/block (que j’ai chopé chez nixCraft comme indiqué dans l’entête)

#!/bin/bash
# Simple iptables IP/subnet block script
# -------------------------------------------------------------------------
# Copyright (c) 2004 nixCraft project
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# ----------------------------------------------------------------------
IPT=/sbin/iptables
SPAMLIST="spamlist"
SPAMDROPMSG="SPAM LIST DROP"
BADIPS=$(egrep -v -e "^#|^$" /home/manu/mesamislesblaireaux.ips)

# create a new iptables list
$IPT -N $SPAMLIST

for ipblock in $BADIPS
do
$IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
$IPT -A $SPAMLIST -s $ipblock -j DROP
done

$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST

En précisant bien le chemin d’accès à cette ligne (BADIPS=$(egrep -v -e « ^#|^$ » /home/manu/mesamislesblaireaux.ips)) vers votre fichier de liste d’IPs. Ce script intégrera votre liste dans iptable et ce dernier signalera dans votre fichier de log /var/log/messages le passage de vos b3st fri3ndz de l4 lif3. Si vous ne voulez pas de log, supprimez simplement la ligne : $IPT -A $SPAMLIST -s $ipblock -j LOG –log-prefix « $SPAMDROPMSG »

Rendez le script exécutable avec un petit

chmod +x /etc/init.d/block

Ainsi, le script sera lancé à chaque redémarrage de votre serveur. C’est important car iptables ne garde pas les ips en mémoire en cas de reboot.

Lancez ensuite le script à la mano, avec les privilèges nécessaires (sudo ?) et vous devriez voir vos règles de filtrage être prises en compte par iptables. Pour vérifier qu’effectivement, celles-ci sont bien présentes dans le système, un simple

sudo iptables -L

fera l’affaire.

Les gens malhonnêtes ou scripts kiddies n’auront alors plus accès à rien sur votre serveur. Ils ne pourront même plus le pinger ! Il existe bien sûr quelques dizaines de méthodes pour contourner ce blocage mais ça peut dépanner en cas de grosse attaque subite par un bot. A utiliser quand même avec parcimonie (avec qui ??) car bon, on n’est pas en Chine non plus, mais ça vous évitera quelques crash serveurs en cas d’attaque venant de loin (ou pas).

[photo]


Les articles du moment