diff --git a/surveillance/mac_prises/README b/surveillance/mac_prises/README new file mode 100644 index 00000000..93cf2f4a --- /dev/null +++ b/surveillance/mac_prises/README @@ -0,0 +1,7 @@ +mac_prise : + Contexte : Trop de gens tentent de spoofer. + Concept : vérifier les macs présentes sur chaque switch, permet une tracabilité. + Méthode : on liste toutes les macs, on les enregistre en bdd, on processe une première + fois, et on stocke le résultat en bdd. Une fois par jour, un script ressort tout ce + qui a été processé, et envoie une "synthèse". + Période : 2012 - 2013 diff --git a/surveillance/mac_prises/mac_prise.py b/surveillance/mac_prises/mac_prise.py index 0af55c29..13c43dd0 100755 --- a/surveillance/mac_prises/mac_prise.py +++ b/surveillance/mac_prises/mac_prise.py @@ -4,13 +4,17 @@ # # PEB - 01/04/2012 -> now() # +# Ce script est placé sous la licence libre par défaut +# utilisée au Crans. Ayant la flemme de copier/coller +# celle-ci, démerdez-vous avec un des responsables de +# l'association pour les fioritures. import os, sys import sys import re from commands import getstatusoutput - +# 1 avril 2012 - PEB : # nécessite apparemment que l'objet conn soit bien créé lors de l'exec # de annuaires_pg, il faut être root (ou dans je ne sais quel groupe) # pour que l'authentification de l'user crans avec psycopg2 se fasse @@ -41,7 +45,7 @@ def liste_chambres_macs(switch, annuaire): else: mac = data[port] uplink = annuaire.uplink_prises[bat] - prise = num_switch*100+port + prise = num_switch * 100 + port if prise in uplink: continue diff --git a/surveillance/mac_prises/mac_prise_analyzer.py b/surveillance/mac_prises/mac_prise_analyzer.py index ca681a7c..9d546e98 100755 --- a/surveillance/mac_prises/mac_prise_analyzer.py +++ b/surveillance/mac_prises/mac_prise_analyzer.py @@ -1,5 +1,10 @@ #!/usr/bin/env python # -*- coding: utf8 -*- +# +# Sclaimer +# PEB : 01/02/2013 -> now() +# +# Blablabla. (cf mac_prise.py) import psycopg2 import psycopg2.extras @@ -240,7 +245,7 @@ Content-Disposition: attachment; filename="logs_analyse" mailto = 'test@lists.crans.org' mail.sendmail(mailfrom, mailto, corps) else: - Logs = [u"Logs du script mac_prise_analyzer\n\n\n"] + Logs = [u"Logs du script %s\n\n\n" % sys.argv[0]] genere_comptage('instantanne') genere_comptage('moyen') genere_comptage('journalier') @@ -252,16 +257,16 @@ Content-Disposition: attachment; filename="logs_analyse" if hargneux: message = """From: %(from)s - To: %(to)s - Subject: %(subject)s - Content-Type: text/plain; charset="UTF-8" +To: %(to)s +Subject: %(subject)s +Content-Type: text/plain; charset="UTF-8" - %(logs)s - """ +%(logs)s +""" corps = message % { 'from': 'Spoofing watcher ', 'to': 'test@lists.crans.org', - 'subject': 'Logs de mac_prises_analyzer', + 'subject': 'Logs de %s' % sys.argv[0], 'logs': "".join(Logs), } diff --git a/surveillance/mac_prises/mac_prise_daily.sh b/surveillance/mac_prises/mac_prise_daily.sh index 3d5c2888..4186e016 100755 --- a/surveillance/mac_prises/mac_prise_daily.sh +++ b/surveillance/mac_prises/mac_prise_daily.sh @@ -1,6 +1,8 @@ #!/bin/sh +# Pas de licence -SUMMARY='/usr/scripts/surveillance/mac_prises/mac_prises_analyzer.py --summary --reperage' +SUMMARY='/usr/scripts/surveillance/mac_prises/mac_prise_analyzer.py --summary --reperage' +python $SUMMARY psql -U crans mac_prises -c "DELETE FROM correspondance WHERE date <= timestamp 'now' - interval '2 days';" 1>/dev/null psql -U crans mac_prises -c "DELETE FROM spotted WHERE date <= timestamp 'now' - interval '2 days';" 1>/dev/null diff --git a/surveillance/mac_prises/mac_prise_holder.py b/surveillance/mac_prises/mac_prise_holder.py index 4f071486..caaa20b1 100755 --- a/surveillance/mac_prises/mac_prise_holder.py +++ b/surveillance/mac_prises/mac_prise_holder.py @@ -1,5 +1,9 @@ #!/usr/bin/env python # -*- coding: utf8 -*- +# +# PEB : */0[2-3]/2013 -> now() +# +# WTFPL import sys import psycopg2 diff --git a/surveillance/mac_prises/mac_prise_wrapper.sh b/surveillance/mac_prises/mac_prise_wrapper.sh index c196f3ab..ce5336bc 100755 --- a/surveillance/mac_prises/mac_prise_wrapper.sh +++ b/surveillance/mac_prises/mac_prise_wrapper.sh @@ -1,4 +1,5 @@ #!/bin/sh +# Pas de licence. SCRIPT=/usr/scripts/surveillance/mac_prises/mac_prise_holder.py ANALYZER=/usr/scripts/surveillance/mac_prises/mac_prise_analyzer.py @@ -9,4 +10,5 @@ SWITCHS=$(/usr/bin/host -l adm.crans.org sable.adm.crans.org | /usr/bin/awk '/^b # Lancement du listage des macs en parallèle python $SCRIPT $SWITCHS +# Analyse python $ANALYZER