[deconnexion.py] On ne déconnecte plus pour Bittorrent
Maintenant ils reçoivent seulement un mail d'avertissement darcs-hash:20110307233611-ddb99-be4482514f3f841735ec695e36a8b45f63c878fc.gz
This commit is contained in:
parent
0339aea604
commit
acef69c7da
2 changed files with 81 additions and 1 deletions
|
@ -369,6 +369,7 @@ Nombre de paquets : %(nb_paquets)s paquets depuis le %(datedebut)s.
|
||||||
|
|
||||||
--\u0020
|
--\u0020
|
||||||
Message créé par deconnexion.py"""
|
Message créé par deconnexion.py"""
|
||||||
|
|
||||||
deconnexion = u"""From: %(From)s
|
deconnexion = u"""From: %(From)s
|
||||||
To: %(To)s
|
To: %(To)s
|
||||||
Subject: Avis de =?iso-8859-15?Q?D=E9connexion?=
|
Subject: Avis de =?iso-8859-15?Q?D=E9connexion?=
|
||||||
|
@ -393,6 +394,38 @@ il pénalise l'ensemble des adhérents de l'association.
|
||||||
|
|
||||||
Tu seras donc déconnecté 24h.
|
Tu seras donc déconnecté 24h.
|
||||||
|
|
||||||
|
--\u0020
|
||||||
|
Disconnect Team"""
|
||||||
|
|
||||||
|
avertissement_bt = u"""From: %(From)s
|
||||||
|
To: %(To)s
|
||||||
|
Subject: Avertissement d'utilisation du protocole Bittorrent
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
|
||||||
|
Bonjour,
|
||||||
|
Nous avons détecté que ta machine, %(hostname)s utilisait le
|
||||||
|
*protocole* %(protocole)s.
|
||||||
|
|
||||||
|
*Ce message t'est envoyé à titre informatif, il ne te sanctionne pas.*
|
||||||
|
|
||||||
|
Cela signifie :
|
||||||
|
- Ou bien que tu utilises le logiciel qui a le même nom
|
||||||
|
que ce protocole,
|
||||||
|
- Ou bien que tu utilises un logiciel qui utilise le
|
||||||
|
protocole en question pour partager des fichiers.
|
||||||
|
|
||||||
|
Or l'usage de *protocoles* de type peer to peer est interdit
|
||||||
|
sur notre réseau, conformément aux documents que tu as acceptés
|
||||||
|
en adhérant au CR@NS.
|
||||||
|
|
||||||
|
Nous empêchons donc ce trafic Bittorrent de sortir du réseau Cr@ns,
|
||||||
|
rendant inopérant les logiciels l'utilisant.
|
||||||
|
|
||||||
|
Si tu es à l'origine de ce trafic, merci de couper les logiciels en
|
||||||
|
question. Sinon, il est possible qu'un logiciel malveillant en soit la
|
||||||
|
cause, nous te conseillons d'installer un anti-virus et un pare-feu afin
|
||||||
|
d'arrêter la source de ce trafic.
|
||||||
|
|
||||||
--\u0020
|
--\u0020
|
||||||
Disconnect Team"""
|
Disconnect Team"""
|
||||||
|
|
||||||
|
|
|
@ -417,7 +417,7 @@ for IP in infectes:
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Dans la table p2p on sélectionne les ip_src qui appartiennent au réseau
|
# Dans la table p2p on sélectionne les ip_src qui appartiennent au réseau
|
||||||
requete = "SELECT ip_src,id_p2p,count(ip_src) FROM p2p WHERE %s AND date > timestamp 'now' - interval '2 hours' GROUP BY ip_src,id_p2p ORDER BY ip_src" % ip_src_in_crans
|
requete = "SELECT ip_src,id_p2p,count(ip_src) FROM p2p WHERE %s AND date > timestamp 'now' - interval '2 hours' AND id_p2p != 1 GROUP BY ip_src,id_p2p ORDER BY ip_src" % ip_src_in_crans
|
||||||
curseur.execute(requete)
|
curseur.execute(requete)
|
||||||
fraudeurs = curseur.fetchall()
|
fraudeurs = curseur.fetchall()
|
||||||
|
|
||||||
|
@ -501,3 +501,50 @@ for ip, id_p2p, nombre in fraudeurs:
|
||||||
'ps': fichier_ps }
|
'ps': fichier_ps }
|
||||||
corps = corps.encode('utf-8')
|
corps = corps.encode('utf-8')
|
||||||
mail.sendmail(p2p.expediteur, p2p.expediteur, corps)
|
mail.sendmail(p2p.expediteur, p2p.expediteur, corps)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Gestion du bittorrent #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Dans la table p2p on sélectionne les ip_src qui appartiennent au réseau
|
||||||
|
requete = "SELECT ip_src,count(ip_src) FROM p2p WHERE %s AND date > timestamp 'now' - interval '2 hours' AND id_p2p = 1 GROUP BY ip_src,id_p2p ORDER BY ip_src" % ip_src_in_crans
|
||||||
|
curseur.execute(requete)
|
||||||
|
fraudeurs = curseur.fetchall()
|
||||||
|
|
||||||
|
# Récupération des fraudeurs pour ne pas les avertir de nouveau
|
||||||
|
requete = "SELECT ip_crans,protocole FROM avertis_p2p WHERE date > timestamp 'now' - interval '14 days'"
|
||||||
|
curseur.execute(requete)
|
||||||
|
avertisp2p = curseur.fetchall()
|
||||||
|
|
||||||
|
for ip, nombre in fraudeurs:
|
||||||
|
# On récupére le protocole de p2p :
|
||||||
|
protocole = 'Bittorrent'
|
||||||
|
|
||||||
|
# On ne prend pas en compte s'il est sous le seuil admis, ou
|
||||||
|
#s'il est averti
|
||||||
|
if nombre <= p2p.limite[protocole] or [ip, protocole] in avertisp2p:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Récupération des ref de la machine
|
||||||
|
machines = ldap.search('ipHostNumber=%s' % ip, 'w' )['machine']
|
||||||
|
if len(machines) == 0:
|
||||||
|
# La machine a ete supprimee entre temps
|
||||||
|
continue
|
||||||
|
machine = machines[0]
|
||||||
|
hostname = machine.nom()
|
||||||
|
proprio = machine.proprietaire()
|
||||||
|
|
||||||
|
# On envoie un mail a l'adhérent
|
||||||
|
################################
|
||||||
|
mail = connectsmtp()
|
||||||
|
|
||||||
|
corps = p2p.avertissement_bt % { 'From': p2p.expediteur,
|
||||||
|
'To': proprio.email(),
|
||||||
|
'protocole': protocole,
|
||||||
|
'hostname': hostname }
|
||||||
|
corps = corps.encode('utf-8')
|
||||||
|
mail.sendmail(p2p.expediteur, proprio.email(), corps)
|
||||||
|
|
||||||
|
# Inscription dans la base des avertis
|
||||||
|
requete = "INSERT INTO avertis_p2p (ip_crans,date,protocole) VALUES ('%s','now','%s')" % (ip, protocole)
|
||||||
|
curseur.execute(requete)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue