KB N°2627: REPÉRER LES IP QUI GÉNÈRENT LE PLUS DE CONNEXIONS

Publié le 20 novembre 2023

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

  1. Aller dans le chroot (ne concerne pas les box) :chroot /opt/olfeo5/chroot
  2. Aller dans le répertoire /root :cd /root
  3. 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

  1. 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.

  2. 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.