KB N°2627: REPÉRER LES IP QUI GÉNÈRENT LE PLUS DE CONNEXIONS
Une des causes de ralentissement d’un proxy est le « spam » généré par une ou plusieurs adresses IP. Voici un script à exécuter en ligne de commande, qui permet de classer les adresses IP par nombre de connexions.
Contexte
Une des causes de ralentissement d’un proxy est le « spam » généré par une ou plusieurs adresses IP.
Par exemple, un logiciel X sur un poste client ne sait pas s’authentifier sur un proxy, il va essayer à l’infini de se connecter à Internet, engendrant un nombre de requêtes considérable, quelquefois à un rythme effrené. Cette pollution va impacter l’ensemble des performances réseau.
Voici un script à exécuter en ligne de commande, qui permet de classer les adresses IP par nombre de connexions.
Étapes
Étape 1
- Aller dans le chroot (ne concerne pas les box) :chroot /opt/olfeo5/chroot
- Aller dans le répertoire /root :cd /root
- Créer le script compter.py :
#!/usr/bin/python
import sys
result = {}
for access_line in sys.stdin:
ip = access_line.split()[2]
try:
result[ip] += 1
except KeyError:
result[ip] = 1
result = result.items()
result.sort(key=lambda a: a[1], reverse=True)
somme = 0
for ip, count in result:
print "%s\t%s" % (count, ip)
somme += count
print "Total :", somme
- Sauvegarder et rendre ce script exécutable : chmod +x compter.py
Étape 2
- Exécuter le script :cat /opt/olfeo5/data/proxy/log/access.log | ./compter.py | lessPour la journée précédente :cat /opt/olfeo5/data/proxy/log/access.log.1 | ./compter.py | less
On peut utiliser zcat pour les plus anciennes.
- Utiliser la touche « q » pour quitter le script.
Étape 3
Repérer les IP « spammeuses ».
144041 86.5.43.50
1271 109.1.13.76
1245 214.94.9.221
939 212.18.8.52
804 192.25.216.1
343 8.17.160.2
199 10.27.5.5
156 94.13.49.35
132 8.12.5.7
On voit clairement que l’IP 86.5.43.50 est en décalage par rapport aux autres adresses.
Afin de déterminer la nature de la navigation, on lance :
grep 86.5.43.50 /opt/olfeo5/data/proxy/log/access.log | less
Utiliser la touche « q » pour quitter la commande.
Validation
Si le trafic considéré comme « spam » est bien illégitime, et que les mesures adéquates sont prises (bypass d’authentification via ACL squid, paramétrage ou désinstallation du logiciel etc.), le nombre de connexions par jour devrait revenir à la normale les jours suivants.