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

Autor: Gregor Horvath

Created: 2019-01-24 Don 16:06

Emacs 24.5.1 (Org mode 8.2.10)

Validate