[postfix-users] Spam über reguläre Mailkonten
Christian Boltz via postfix-users
postfix-users at de.postfix.org
Mo Okt 14 23:17:28 CEST 2013
Hallo Thomas, hallo Leute,
Am Montag, 14. Oktober 2013 schrieb Thomas Krause via postfix-users:
> mir fällt dazu nur folgende Logik ein (wie man die aber
> programmiermäßig umsetzen soll ...):
>
> wenn ein user sich innerhalb einer kurzen Zeitspanne von
> unterschiedlichen IP's erfolgreich authentifiziert, muss es sich um
> einen ausspionierten Account handeln.
Oder er hat einfach nur zu viel Technik rumliegen und wechselt munter
zwischen PC, Laptop, Smartphone etc. Die DSL-Zwangstrennung kommt noch
erschwerend hinzu ;-)
> Dieser wäre dann zu sperren:
Ich würde mindestens 3 verschiedene IPs als unverdächtig ansehen.
Wenn kurz hintereinander mehr als 10 verschiedene IPs auftauchen, dürfte
das ein recht sicheres Zeichen für einen ausspionierten Account sein ;-)
Das Programmieren ist im Prinzip eine Fleißarbeit - das Log parsen,
Username, IP und Zeitpunkt speichern (bzw. bei gleicher IP und Username
den Zeitpunkt aktualisieren) - und ältere Einträge wieder löschen.
Eine kleine Datenbank würde sich dafür anbieten, mit den Spalten
username, ip, timestamp. Dazu würde ich einen UNIQUE index (username,ip)
(also beide Spalten) empfehlen - dann kannst Du einfach REPLACE INTO
verwenden und sparst Dir den Check, ob Du jetzt INSERT oder UPDATE
brauchst ;-)
Fürs Sperren kannst Du dann auf
SELECT username FROM db WHERE COUNT(username) > 4 GROUP BY username
zurückgreifen - das ergibt die vollständige Sperrliste.
Das Expire macht
DELETE FROM db WHERE TIMESTAMPDIFF(MINUTE, timestamp, NOW()) > 180
Alles ungetestet, so in etwa müsste es aber funktionieren ;-)
Gruß
Christian Boltz
PS: Zufallssignatur ;-)
--
> Ach so: es ist natürlich auch möglich, dass ich irgendwo
> einen Fehler übersehen habe ;-)
Falsch konfigurierte Christians sind nicht mein Problem.
[> Christian Boltz und Ratti in fontlinge-devel]
Mehr Informationen über die Mailingliste postfix-users