[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