Discussion:
Postfix: afzenders blokkeren werkt soms niet
(te oud om op te antwoorden)
Richard Rasker
2009-03-23 18:19:59 UTC
Permalink
Hallo,

Op mijn mailservertje (Postfix, Maildir-structuur) heb ik een lijst met
geblokkeerde domeinen voor B2B-spam in /etc/postfix/sender_block; deze
wordt met de volgende opdracht omgezet in een lookup-tabel:

postmap -f /etc/postfix/sender_block

In /etc/postfix/master.cf is vervolgens het volgende te vinden:

127.0.0.1:10025 inet n - n - - smtpd
...
-o smtpd_sender_restrictions=check_sender_access,hash:/etc/postfix/sender_block
...

Dit werkt heel aardig, echter op enkele gevallen na. Nu vermoed ik dat dit te
maken heeft met het gebruik van hoofdletters en kleine letters door de
afzender; een van de niet-blokkeerbare hardnekkige doorspammende afzenders
gebruikt als From-domein PC4Everyone.nl en pc4everyone.nl door elkaar.
Nu heb ik dit ook in de bloklijst proberen door te voeren (met de optie -f
van postmap), maar dat werkt dus niet.

Weet iemand waar Postfix in dit geval precies naar kijkt? Volgens mij is dat
toch de laatste From-header (in dit geval dus
From: Gebruikte computers <***@pc4everyone.nl>)

Of zou er toch iets niet goed gaan bij de conversie van sender_block naar
sender_block.db? Het blokkeren van de rest (een paar honderd domeinen) gaat
wel goed -- al zijn er maar zeer weinigen die na de eerste klacht c.q.
weigering aan de poort blijven doorspammen.

Alvast weer mijn dank -- en voor alle volledigheid nog even de headers van
zo'n spambericht, wellicht dat daar de oorzaak gezocht moet worden:


Return-Path: <***@computerstunts.eu>
X-Original-To: ***@linetec.nl
Delivered-To: ***@linetec.nl
Received: from localhost (localhost [127.0.0.1]) by hedgehog.linetec.nl
(Postfix) with ESMTP id 7514356C0B2 for <***@linetec.nl>; Mon, 23 Mar 2009
17:00:51 +0100 (CET)
Received: from hedgehog.linetec.nl ([127.0.0.1]) by localhost
(hedgehog.linetec.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id
7LbHSQqFr3S5 for <***@linetec.nl>; Mon, 23 Mar 2009 17:00:42 +0100 (CET)
Received: from web2.direct-webhosting.nl (unknown [79.99.26.40]) (using
TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate
requested) by hedgehog.linetec.nl (Postfix) with ESMTP id 2909E56C0AF for
<***@linetec.nl>; Mon, 23 Mar 2009 17:00:42 +0100 (CET)
Received: (qmail 29885 invoked from network); 23 Mar 2009 17:00:36 +0100
Received: from unknown (HELO localhost.localdomain) (79.99.26.30) by
79.99.26.40 with SMTP; 23 Mar 2009 17:00:36 +0100
To: ***@linetec.nl
From: Gebruikte computers <***@pc4everyone.nl>
Reply-To: Gebruikte computers <***@pc4everyone.nl>
Subject: Eindelijk ... weer spam voor u!



Richard Rasker
--
http://www.linetec.nl
V***@zonnet.nl
2009-03-23 19:35:51 UTC
Permalink
Post by Richard Rasker
Hallo,
Op mijn mailservertje (Postfix, Maildir-structuur) heb ik een lijst met
geblokkeerde domeinen voor B2B-spam in /etc/postfix/sender_block; deze
postmap -f /etc/postfix/sender_block
127.0.0.1:10025 inet n  -       n       -       -       smtpd
       ...
       -o smtpd_sender_restrictions=check_sender_access,hash:/etc/postfix/sender_block
       ...
Dit werkt heel aardig, echter op enkele gevallen na. Nu vermoed ik dat dit te
maken heeft met het gebruik van hoofdletters en kleine letters door de
afzender; een van de niet-blokkeerbare hardnekkige doorspammende afzenders
gebruikt als From-domein PC4Everyone.nl en pc4everyone.nl door elkaar.
Nu heb ik dit ook in de bloklijst proberen door te voeren (met de optie -f
van postmap), maar dat werkt dus niet.
Weet iemand waar Postfix in dit geval precies naar kijkt? Volgens mij is dat
toch de laatste From-header (in dit geval dus
Of zou er toch iets niet goed gaan bij de conversie van sender_block naar
sender_block.db? Het blokkeren van de rest (een paar honderd domeinen) gaat
wel goed -- al zijn er maar zeer weinigen die na de eerste klacht c.q.
weigering aan de poort blijven doorspammen.
Alvast weer mijn dank -- en voor alle volledigheid nog even de headers van
Received: from localhost (localhost [127.0.0.1]) by hedgehog.linetec.nl
        17:00:51 +0100 (CET)
Received: from hedgehog.linetec.nl ([127.0.0.1]) by localhost
        (hedgehog.linetec.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id
Received: from web2.direct-webhosting.nl (unknown [79.99.26.40]) (using
        TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate
        requested) by hedgehog.linetec.nl (Postfix) with ESMTP id 2909E56C0AF for
Received: (qmail 29885 invoked from network); 23 Mar 2009 17:00:36 +0100
Received: from unknown (HELO localhost.localdomain) (79.99.26.30) by
        79.99.26.40 with SMTP; 23 Mar 2009 17:00:36 +0100
Subject: Eindelijk ... weer spam voor u!
Richard Rasker
--http://www.linetec.nl
Ik denk dat het beter werkt om onderaan de mail gewoon op
"uitschrijven" te klikken.
Philip Paeps
2009-03-23 20:44:24 UTC
Permalink
Post by V***@zonnet.nl
Ik denk dat het beter werkt om onderaan de mail gewoon op
"uitschrijven" te klikken.
Grapjas. Dat laat spammers weten dat het adres "leeft".

Ik hou nogal van tarpitting. ;-) Hou ze lekker bezig met een window size van
een byte ofzo. Met een beetje geluk draaien ze een brakke TCP stack en vallen
ze na verloop van tijd omver.

- Philip
--
Philip Paeps Please don't email any replies
***@paeps.cx I follow the newsgroup.

Leave me alone, skel, I've got beer in my eye.
-- Piglet, playing Warcraft 3
Natxo Asenjo
2009-03-23 19:43:41 UTC
Permalink
Post by Richard Rasker
Weet iemand waar Postfix in dit geval precies naar kijkt? Volgens mij is dat
toch de laatste From-header (in dit geval dus
Dit is een stukje header.

postfix kijkt altijd naar het envelope adres. Dat is het adres wat op je
logbestand voorkomt. Alleen kjikt hij naar de headers als je er om vraagt
(maar dit wordt afgeraden in drukke servers doordat het hele bericht moet
worden gelezen regel per regel).

Wat jij dan zoekt, denk ik, is zoiets:

header_checks = regexp:/etc/postfix/header_checks

in je main.cf

dan maak je een bestand met reguliere expressies zoals:

#anti nimda and friends
/^Content-Type: multipart\/related;.*type=\"multipart\/alternative\";.*boundary=\"====_ABC1234567890DEF_====\".*$/ DISCARD You have a virus

#anonymizers
/^Received: .*(barbarella\.super\.nu|cameleon.org|remailer\.privacy\.at).*$/ DISCARD

#Spamming top-domains
/^Received: .*\.gt .*$/ DISCARD Sorry, too much spam from your country
/^Received: .*\.tw .*$/ DISCARD Sorry, too much spam from your country
/^Received: .*\.kr .*$/ DISCARD Sorry, too much spam from your country
/^Received: .*\.cr .*$/ DISCARD Sorry, too much spam from your country
/^Received: .*\.cn .*$/ DISCARD Sorry, too much spam from your country

#Typical spam Subjects
/^Subject: .*pen(!|i|I|l|1|L)s.*$/ DISCARD No penis enlargement for me, thanks
/^Subject: .*MONEY.*$/ PREPEND X-header: probable spam
/^Subject: .*sex.*free.*$/ DISCARD My sexual life is ok, thanks for bothering
/^Subject: .*free.*sex.*$/ DISCARD My sexual life is ok, thanks for bothering
/^Subject: (ADV:|AD:|ADV |AD ).*$/ DISCARD You are not the contents of your wallet
/^Subject: .*special offer.*$/ DISCARD special bounce
/^Subject: .*need money.*$/ PREPEND X-header: probable spam
/^Subject: .*Phentermine.*$/ DISCARD I'm not fat
/^Subject: .*member.*pill.*$/ DISCARD o0o

/^From: $/ DISCARD I am sure you have a name
/^From: .*bons-***@voyages-sncf\.com.*$/ DISCARD j'aime pas le train
/^From: .*safemode\.*$/ DISCARD **** off with your spam
/^Reply-To: phqr58\@yahoo\.com/ REJECT I do not want to be your friend

/^Content-Type:.*charset="iso-2022-jp".*$/ DISCARD I don't speak japanese

/^From: .*\@emessaging\.nl.*$/ REJECT Ik heb me niet aangemeld, dus ik hoef me ook niet af te melden van jullie spam.
/^From: .*invitation\@whereareyounow\.net.*$/ REJECT Ik wil je vriend niet zijn
/^From: ***@e-soyate\.com*$/ REJECT I did not sign up for your spam, so I am not going to sign off either

/^From: pay-pal\@services\.com.*$/ REJECT Keep your paypal scams to yourself


let op: dit werkt voor mij op mijn persoonlijke server. Sommige van deze
blocks zijn voor jou wellicht niet acceptabel. Niet zomaar knippen en plakken.
Het antwoordstijl is ook 'informeel', zeker niet geschikt voor een zakelijke
server.

Ik moet zeggen dat sinds ik spamhaus gebruik, de hoeveelheid treffers dat deze
regels matchen is verwaardloosbaar.

Als je heel snel veel over postfix wil leren, dan kan ik je 'The Book of
Postfix' van harte aanraden: http://www.postfix-book.com/
--
Groeten,
J.I.Asenjo
Richard Rasker
2009-03-23 22:19:41 UTC
Permalink
Post by Natxo Asenjo
Post by Richard Rasker
Weet iemand waar Postfix in dit geval precies naar kijkt? Volgens mij is
dat toch de laatste From-header (in dit geval dus
Dit is een stukje header.
postfix kijkt altijd naar het envelope adres. Dat is het adres wat op je
logbestand voorkomt.
Ah, dat verklaart een hoop. Ik zie daar het domein computerstunts.eu
voorbijkomen -- en dat gaat dus maar mooi in de bloklijsten :-)
[knip header_checks ...]

mijn dank, maar ik denk dat ik voor die zeldzame gevallen gewoon maar even
het domein uit het maillog opvis -- bovendien is het na 1-7 in principe
niet meer nodig, want dan is ook B2B-spam strafbaar en gaan er in dit soort
gevallen onmiddellijk klachten naar de Opta.

De uitleg wordt uiteraard wel vereeuwigd in mijn collectie documentatie :-)

Nogmaals dank voor de uitleg, groeten,

Richard Rasker
--
http://www.linetec.nl
Loading...