diff --git a/gestion/config/mac_prise.py b/gestion/config/mac_prise.py index 9f2b65d6..90d40717 100644 --- a/gestion/config/mac_prise.py +++ b/gestion/config/mac_prise.py @@ -3,9 +3,15 @@ """ Variables de configuration pour mac_prises. """ -#: Pour spammer test@lists.crans.org, mettre à true. +#: Pour spammer disconnect@lists.crans.org à chaque analyse, mettre à True hargneux = False +#: Mail de destination des infos. +if hargneux: + mail_to = "test@lists.crans.org" +else: + mail_to = "disconnect@lists.crans.org" + #: Si pour une chambre donnée, il y a plus de 300 entrées filaires #: n'appartenant pas à l'adhérent propriétaire de la mac, on prévient. max_inconnues_par_jour = 480 diff --git a/surveillance/mac_prises/mac_prise_analyzer.py b/surveillance/mac_prises/mac_prise_analyzer.py index c9122c6a..e09b065e 100755 --- a/surveillance/mac_prises/mac_prise_analyzer.py +++ b/surveillance/mac_prises/mac_prise_analyzer.py @@ -19,6 +19,7 @@ sys.path.append('/usr/scripts/') import lc_ldap.shortcuts import lc_ldap.objets import collections +from email.header import Header ldap = lc_ldap.shortcuts.lc_ldap_local() @@ -139,7 +140,7 @@ def summary(): chambres.update(chbres) number += len(dataframe) data += [[dtype, ", ".join(list(chbres)), donnee[0], donnee[1], donnee[2]] for donnee in dataframe] - output += u'Sur le relevé %s, la mac est apparue %s fois. Elle est apparue dans les chambres suivantes : %s.\n' % (dtype, number, ", ".join(list(chambres))) + output += u'Sur le relevé %s, la mac est apparue %s fois dans de multiples chambres simultanément. Elle est apparue dans les chambres suivantes : %s.\n' % (dtype, number, ", ".join(list(chambres))) output += u'Consulter les logs (en PJ) pour plus d\'informations.\n\n' try: maxlen = max([len(a[1]) for a in data]) + 4 @@ -210,13 +211,21 @@ if __name__ == '__main__': Logs = u'' if '--summary' in sys.argv or 'summary' in sys.argv: # On envoie le résumé - output += u' *Résumé des apparitions de mac dans plusieurs chambres*\n\n' + output += u'+---------------------------------------------------------------+\n' + output += u'| Résumé des apparitions de mac dans plusieurs chambres |\n' + output += u'+---------------------------------------------------------------+\n\n' texte, Logs = summary() output += texte output += u"\n\n" if '--reperage' in sys.argv or 'reperage' in sys.argv: # On envoie le repérage - output += u' *Repérage de spoof potentiel par comptage*\n\n' + output += u'+---------------------------------------------------------------+\n' + output += u'| Repérage de spoof potentiel par comptage |\n' + output += u'+---------------------------------------------------------------+\n\n' + output += u"""Attention, cette fonctionnalité est plus une forme de stalking que très utile.\n" +Elle visait initialement à repérer les machines qui étaient trop longtemps dans +une chambre qui n'est pas celle où elles devraient être, cependant, les divers +tests menés n'ont pas prouvé une grande efficacité de cette méthode.\n\n""" output += reperage_mac_inconnue() Logs = Logs.encode('UTF-8') @@ -226,7 +235,7 @@ if __name__ == '__main__': sys.exit(0) message = """From: %(from)s To: %(to)s -Subject: Résumé quotidien : mac_prises. +Subject: %(subject)s Content-Type: multipart/mixed; boundary="_424234545aaff-ffca234efff-556adceff5646_" --_424234545aaff-ffca234efff-556adceff5646_ @@ -243,16 +252,16 @@ Content-Disposition: attachment; filename="logs_analyse" --_424234545aaff-ffca234efff-556adceff5646_-- """ - corps = message % { 'from': 'Spoofing watcher ', - 'to': 'test@lists.crans.org', - 'subject': 'Résumé journalier ', + corps = message % { 'from': 'Spoofing watcher ', + 'to': mac_prise.mail_to, + 'subject': Header(u"Résumé quotidien des correspondances mac_prises.", "UTF-8"), 'contenu': output, 'logs': Logs, } mail = smtplib.SMTP('localhost') - mailfrom = 'spoof-watcher@crans.org' - mailto = 'test@lists.crans.org' + mailfrom = 'disconnect@lists.crans.org' + mailto = mac_prise.mail_to mail.sendmail(mailfrom, mailto, corps) else: Logs = [u"Logs du script %s\n\n\n" % sys.argv[0]] @@ -274,13 +283,13 @@ Content-Type: text/plain; charset="UTF-8" %(logs)s """ - corps = message % { 'from': 'Spoofing watcher ', - 'to': 'test@lists.crans.org', + corps = message % { 'from': 'Spoofing watcher ', + 'to': mac_prise.mail_to, 'subject': 'Logs de %s' % sys.argv[0], 'logs': "".join(Logs), } mail = smtplib.SMTP('localhost') - mailfrom = 'spoof-watcher@crans.org' - mailto = 'test@lists.crans.org' + mailfrom = 'disconnect@lists.crans.org' + mailto = mac_prise.mail_to mail.sendmail(mailfrom, mailto, corps.encode('utf-8'))