[Postfix] spam blocken icm MySQL

Pagina: 1
Acties:

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 16-02 12:00

Willem2

Ω is futile

Topicstarter
Ik ben de laatste tijd wat actiever bezig met het blocken van spam op MTA (Postfix) niveau. De meeste spamfilters die ik tot nu toe heb gebruikt werken aardig, maar in principe heb ik liever een selectie aan de poort dan het filteren na ontvangst.

Op het moment wordt het meerendeel van de spam keurig geblocked, geen false positives, dus so far, so good.

De spam die er nog wel doorheen komt, blijken 1 ding in overeenkomst te hebben: ze bevatten allemaal vage url's (eg. t.cdfvbg.com) die terug te leiden zijn naar China of Korea. Op zich ook niet erg verrassend.

Nou heb ik een MySQL database met daarin IP adressen en uit welk land ze afkomstig zijn. Deze tabel is ongeveer 95% nauwkeurig op dit moment.
Nu zat ik me af te vragen of het mogelijk zou zijn om tijdens het filteren van de body een domein naam uit de url in de body te vissen, om te zetten naar IP, lookup te doen in de database en op basis van het resultaat de email te blocken of door te laten.

Kan dit met postfix?
Zo ja, wat zijn jullie ideeen over deze aanpak?
Zal het werken of zal postfix er veel te langzaam van worden?

en nee, ik houd niet van voetbal... :)


Verwijderd

Wat jij wilt gaat denk ik niet met postfix..

Maar als je die ip-adressen toch al hebt, kun je deze wel in je firewall blocken.

De enige vraag die dan overblijft is: Hoe je ip's up-to-date blijven, daar heb ik geen antwoord op voor je helaas.

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
Je kunt met postfix wel header checks uitvoeren.

Via een regular expressie kun je de headers met iets matchen, als het overeen komt kan je het eruit knippen maar geloof dat je ook de message kunt weigeren.

Vanuit MySQL kun je misschien via perl/php een txt-file maken waarin die ip-adressen zijn opgenomen. Dan is het wel niet helemaal real-time uit de database maar toch kun je het gebruiken.

http://www.postfix.org/header_checks.5.html
http://www.securitysage.com/files/header_checks

Volgens deze topic kun je de header checks ook uit mysql zelf halen zoals de rest van de configuratie:

http://groups.google.nl/g...ie.NCTU.edu.tw%26rnum%3D1

[ Voor 31% gewijzigd door muis op 19-10-2004 13:34 ]

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 16-02 12:00

Willem2

Ω is futile

Topicstarter
Die header checks heb ik al; die derde link wordt al beter.

Misschien was ik niet heel erg duidelijk; van de mail die op het moment door de body & header & bad_helo checks heen komt wil ik uit de body de URL halen.

Deze URL omzetten in een IP adres en dat IP adres als query naar MySQL sturen:

IP adres uit Korea of China -> REJECT
IP niet uit Korea of China -> OK

Het gaat me dus niet om het blokken van het IP adres van de afzender (dat zou je idd met je firewall kunnen doen); ik wil het IP adres van de URL in de email achterhalen omdat dit > 95% van de tijd een IP adres uit Azie is en dus equivalent aan spam...

[ Voor 27% gewijzigd door Willem2 op 19-10-2004 15:52 ]

en nee, ik houd niet van voetbal... :)


  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
Aha,

je kunt dan zelf een content-filtertje maken. Vaak wordt dat gebruikt om bv spamassassin aan postfix te koppelen

http://www.xnote.com/howto/postfix-spamassassin.html

In plaats van dat je alleen dit in het script zet:

#!/bin/bash
/usr/local/bin/spamc | /usr/sbin/sendmail -i "$@"
exit $?

Dan maak je er een reg exp van die op zoek gaat naar een url en vervolgens een lookup doet naar het ip.

Zelf heb ik zo'n scrippie in perl gemaakt maar dan in de vorm van een autoresponder. Dus het adres van de geadresseerde opzoeken en dan de auto responder uit de database halen.

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


Verwijderd

Postfix kan 'body_checks' doen. Zie:

http://www.postfix.org/uce.html#body_checks

En dan denk ik middels de 'filter' actie
FILTER transport:nexthop
After the message is queued, send the entire message through a content filter. This requires different cleanup servers before and after the filter, with header/body checks turned off in the second cleanup server. More details about content filtering are in the Postfix FILTER_README file. This feature overrides the main.cf content_filter setting.
Zie ook http://www.postfix.org/FILTER_README.html voor een voorbeeld (filteren met een bash-script, hetgeen denk ik is dat je moet doen)

Toevoeging: De post hierboven is ook waardevol, Postfix met SA is een goede combi.

[ Voor 9% gewijzigd door Verwijderd op 19-10-2004 17:04 ]


  • usr-local-dick
  • Registratie: September 2001
  • Niet online
De nieuwe spamassassin doet precies wat jij bedoelt:

- Web site links contained in the message are checked against SURBL and
SBL. SURBL and SBL track sites that advertise with spam, known spam
sources, and spam services.

Als je dit installeert dan hebt je de gevraagde feature, plus tig andere spamherkennings technieken.
Dat werkt natuurlijk veel beter dan een 'selectie aan de poort'. Wat is eigenlijk de reden dat je dat wilt?

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 16-02 12:00

Willem2

Ω is futile

Topicstarter
Met filters als spamassassin heb je de mail al binnen en krijg je (ik) vollopende mailboxen.

Maar misschien is het idd wel een goed idee om de laatste paar procent te filteren met een programma zo al spamassassin.
De nieuwe versie ziet er iig veelbelovend uit!

en nee, ik houd niet van voetbal... :)


  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Willem2 schreef op 19 oktober 2004 @ 20:45:
Met filters als spamassassin heb je de mail al binnen en krijg je (ik) vollopende mailboxen.
Je kunt de binnengekomen spam ook gelijk deleten met spamassassin.

  • stefklep
  • Registratie: Januari 2003
  • Laatst online: 06-02 11:04

stefklep

((Stefklepje))

usr-local-dick schreef op 20 oktober 2004 @ 12:58:
[...]


Je kunt de binnengekomen spam ook gelijk deleten met spamassassin.
Of in een aparte folder zetten die je met webmail kan uitlezen of Imap :P

Verwijderd

http://www.marlow.dk/site.php/tech/postfix

Dan het stukje over "postfix_access".. :)

/me heeft het draaien en het boekt resultaat :)
Pagina: 1