greylisting
1 Ist Greylisting 2019 noch effektiv?
Greylisting am Mailserver hat Nachteile, daher ist die Überprüfung ob die Spammer sich angepasst haben und die Nachrichten einfach mehrfach zustellen notwendig. In meiner Stichprobenabschätzung wurden von 147 Zustellversuchen die mittles Greylisting abgelehnt wurden 62 später zugestellt und 85 nicht. Das bedeutet, dass ca. 60% der gegreylisted Server vermutlich Spammer waren. Ich ziehe daher den Schluss, dass es nach wie vor sinnvoll ist, da Greylisting die ressourcenintensive Spamüberprüfung dieser Nachrichten erspart hat.
1.1 Exim Parse Log
#!/usr/bin/python3 """ Parst greylist Zeilen des exim4 mainlog's. Liest aus stdin die log Zeilen und gibt host, from und to zeilenweise aus """ import fileinput result = {} def del_(str_, delstrs): for ds in delstrs: str_ = str_.replace(ds, "") return str_ def part(result, key, f, praefix, garbage): if f.startswith(praefix): result[key] = del_(f, [praefix] + garbage) for line in fileinput.input(): result = {} # print(line) next_is_to = False for f in line.split(" "): if next_is_to: result['to'] = del_(f, ['<','>:']) next_is_to = f == "RCPT" part(result, "host", f, "H=", ["(",")"]) part(result, "from", f, "F=", ["<",">"]) print(" ".join([result[k] for k in ['host','from','to']]))
1.2 shell
1.2.1 Anzahl der gegreylisteten Nachrichten
grep greylist /var/log/exim4/mainlog | exim_parse_log.py | sort | uniq | wc
1.2.2 Anzahl der gegreylisteten Nachrichten die eine Zustellung hatten
grep greylist /var/log/exim4/mainlog | exim_parse_log.py | awk '{print $1}' | xargs -I {} -n1 grep "<= .*{}" /var/log/exim4/mainlog | sort | uniq| wc