Postscreen und Blocklisten

cbl.abuseat.org*2 der hat mir gestern gmail ausgefiltert. Nach dem ich die Liste auskommentiert habe ist die Mail angekommen.
Habe eigentlich so konfiguriert wie du geschrieben hast.

Ich habe dies mal zum Anlass genommen, um meine inzwischen rund fünf Jahre alte Liste an RBLs zu überarbeiten. Rausgekommen ist folgende Liste, welche nun auch differenzierter mit den Scores umgeht und bei mir in den letzten Tagen das Spamaufkommen nochmal etwas reduziert hat. YMMV.
Code:
postscreen_dnsbl_sites =
  list.dnswl.org=127.0.[0..255].0*-2
  list.dnswl.org=127.0.[0..255].1*-4
  list.dnswl.org=127.0.[0..255].2*-6
  list.dnswl.org=127.0.[0..255].3*-8
  zen.spamhaus.org=127.0.0.9*25
  zen.spamhaus.org=127.0.0.3*10
  zen.spamhaus.org=127.0.0.2*5
  zen.spamhaus.org=127.0.0.[4..7]*3
  zen.spamhaus.org=127.0.0.[10..11]*3
  swl.spamhaus.org*-10
  bl.mailspike.net=127.0.0.2*10
  bl.mailspike.net=127.0.0.10*5
  bl.mailspike.net=127.0.0.11*4
  bl.mailspike.net=127.0.0.12*3
  bl.mailspike.net=127.0.0.13*2
  bl.mailspike.net=127.0.0.14*1
  wl.mailspike.net=127.0.0.16*-2
  wl.mailspike.net=127.0.0.17*-4
  wl.mailspike.net=127.0.0.18*-6
  wl.mailspike.net=127.0.0.19*-8
  wl.mailspike.net=127.0.0.20*-10
  backscatter.spameatingmonkey.net*2
  bl.ipv6.spameatingmonkey.net*2
  bl.spameatingmonkey.net*2
  ix.dnsbl.manitu.net*2
  bl.spamcop.net*2
  db.wpbl.info*2
  psbl.surriel.com*2
  torexit.dan.me.uk*2
  tor.dan.me.uk*1
  safe.dnsbl.sorbs.net*1

Für nähere Infos warum ich die Scores so gewählt habe, bitte ich die jeweilige Doku der jeweiligen BL aufzusuchen und sich die Beschreibung des jeweiligen Return-Codes anzusehen.


Feedback ist ausdrücklich erwünscht.
 
Last edited by a moderator:
Wenn Dir bei obiger Konfiguration wirklich noch störend zuviel Spam durchkommt, dann kannst Du selbstverständlich noch einen Spamfilter ala Spamassassin (ohne Amavis) einbinden.
Also es ist ja schon relativ ruhig... Ich glaube vormittags, nach dem Aufstehen (wenn die PCs aus sind und Thunderbird nicht prüft) sind es vielleicht zwei oder drei SPAM Mails die auf dem Handy aufschlagen.

Wenn ich in den JUNK Ordner schaue, habe ich pro Tag grob 6 - 10 Mails drin. Das ist also schon "jammern auf hohen Niveau" bei mir. Allgemein kann ich mich ja nicht beschweren, würde es aber gerne noch besser verschärfen :)

Vielleicht buche ich bei Hetzner mal einen CX10 den ich nur für meine persönliche Domain und E-Mails einrichte. Dafür dürfte das System völlig ausreichend sein. Vielleicht hilft es auch schon wenn ich postscreen mit ein paar RBLs einbinde um den letzten Rest filtern zu können.

Gruß, Domi
 
@Joe User nochmal danke für Deine Hilfe.

Ich habe heute amavis und postgrey runter geschmissen und postscreen nach deiner Anleitung angepasst. Schauen wir mal was nächste Woche noch so durch kommt.
 
@Joe User,

ich hätte da mal eine kleine Frage. Sehe ich das richtig, dass du kein greylisting mehr verwendest? Wie gut ist denn deine Trefferquote zur Zeit ungefähr, kannst du das abschätzen oder irgendwo aus deinen Logs erkennen?

Gruß, Domi
 
Richtig, graylisting kommt gar nicht zum Einsatz, da durch die Funktionsweise von postscreen bereits ein ähnlicher Effekt wie beim graylisting entsteht. Man kann also sagen, dass postscreen nebenbei auch graylisting macht.

Aktuell bekomme ich zwischen 1000 und 2000 Spamversuche pro Tag, von denen circa 20 bis 30 pro Woche tatsächlich in der Inbox landen, der Rest wird durch postscreen erfolgreich abgeblockt.



BTW: Wenn ich die Zugriffe aus dem Tor-Netzwerk per pf blockiere, reduzieren sich die Spamversuche auf lächerliche <100 pro Tag...
 
Okay, nachdem ich das postscreen bei mir aktiviert hatte über die master.cf, tauchte es dann auch in der mail.log auf und anhand der Arbeitsweise hab ich mir schon fast gedacht, dass postscreen so etwas ähnliches durchführt, denn meine Test E-Mails sind auch erst mit Verzögerung im Postfach angekommen.

Allerdings habe ich heute auch das erste mal festgestellt, wieso postscreen auf meinem Server 01 gar nicht richtig läuft... ich hab vergessen dieses über die master.cf zu aktivieren :D

Nachtrag1: Am meisten gehen mir ja diese Angebote mit "Privatversicherung" oder "Tarifvergleiche" auf den Keks... dieser SPAM nervt doch ein wenig, auch wenn es momentan nicht so sehr viel ist mit maximal 10 - 20 pro Tag.

Nachtrag2: Ach ja, arbeitet postscreen exakt genau so wie postgrey? Ein Bekannter von mir bekommt ab und an E-Mails von Hotmail, outlook.com oder einer dieser Ableger. Das ärgerliche ist, dass diese zum versenden die Server rollieren, dass heißt das postgrey jedem Server erst einmal eine Absage verpasst und bis Server 1 von outlook.com wieder einen Versuch startet, können schon mal Stunden vergehen.
 
Last edited by a moderator:
Tach,

ich grabe diesen Thread mal wieder aus, weil hoffe, dass jemand helfen kann. Ich habe von postgrey auf postscreen umgestellt und es rennt auch alles, aber ich habe ein echtes Problem mit dkim.
Das rennt, wenn ich in einer shell auf dem Server eine Mail versende, die Signatur (header und body) ist korrekt.
Nun gibt es auf dem Server aber keine Accounts, sondern er nimmt Mails aus dem Internet an und gibt diese an einen Exchange Server weiter. Ausgehend dann genau anders herum.
Wenn nun eine Mail, die vom Exchange Server kommt, signiert wird, ist die body Signatur offenbar falsch. Soweit ich das bisher eingrenzen konnte, liegt es daran, dass die Mails im html Format sind.
Wenn ich per Outlook eine Mail im text Format über den Exchange Server versende, passt die body Signatur.

Hat vielleicht irgendwer eine Idee, was man da machen kann? Ein "FixCRLF yes" in der opendkim.conf bringt leider nichts (Ich hatte irgendwo gelesen, das das Problem mit whitespaces zusammen hängt und das helfen könnte..)

Danke
 
Kurze Frage so am Rande...
Code:
Aug 26 10:52:17 srv01 postfix/postscreen[11898]: NOQUEUE: reject: RCPT from [xxx.xxx.xxx.xxx]:55696: 450 4.3.2 Service currently unavailable; from=<webmaster@domain1.tld>, to=<admin@domain2.tld>, proto=ESMTP, helo=<srv1.domain3.tld>

Soweit ich das im Internet und den Manuals gelesen und verstanden habe, ist das ein normales Verhalten weil postscreen ja auch so etwas wie greylisting macht, ist das korrekt? Nicht das ich mich da verlesen habe.

Die Mails kommen an, wollte halt nur einmal auf Nummer sicher gehen, dass ich das richtig verstanden habe.

Gruß, Domi
 
Moin moin, ich hätte da noch mal zu dem Thema eine Frage inkl. Anmerkung... Es gibt ja für postscreen die folgende Einstellung,
Code:
postscreen_access_list =
  permit_mynetworks,
  cidr:/etc/postfix/postscreen_access.cidr

Wenn ich nun hinter (oder vor) den 'permit_mynetworks' ein 'permit_sasl_authenticated' setze, müssten doch eigentlich alle User die eine E-Mail über den Server versenden wollen, die Möglichkeit haben zu senden ohne das es Probleme gibt, oder?

Ich hatte vor ein paar Tagen das Problem vom Smartphone das ich nichts versenden könnte. Problem war, dass die IP Adresse die ich im Netz zugewiesen bekommen hatte, in einer der RBLs drin stand und postscreen mich abgewiesen hatte. Als ich dann zum testen meine IP in die "cidr" Liste aufgenommen hatte, ging es wieder.

Hab die IP dann wieder entfernt, und ich wurde wieder abgelehnt. Daher kam mir der genannte 'smtpd' Parameter in den Kopf um so etwas für später zu vermeiden. Nicht das ich mal wieder unterwegs bin und ich werde wieder abgelehnt.

Ich muss auch zugeben, am Handy war versehentlich Port 25 eingestellt, der submission Port 587 hätte vermutlich ohne diesen Parameter problemlos geklappt, würde aber dennoch gerne erlauben das auch bei Port 25 mit 'permit_sasl_authenticated' eine Verbindung möglich wäre.

Hoffe ich konnte das Szenario passend erklären.

Gruß, Domi
 
Wenn ich nun hinter (oder vor) den 'permit_mynetworks' ein 'permit_sasl_authenticated' setze, müssten doch eigentlich alle User die eine E-Mail über den Server versenden wollen, die Möglichkeit haben zu senden ohne das es Probleme gibt, oder?

Wenn ich das richtig verstanden habe, ist Authentifizierung bei postscreen nicht implementiert:

http://www.postfix.org/POSTSCREEN_README.html

postscreen(8)'s built-in SMTP engine does not implement the AUTH, XCLIENT, and XFORWARD features. If you need to make these services available on port 25...

D. h. wenn postscreen verwendet wird, dann muss der Client sich über Port 587 verbinden, auf dem kein postscreen läuft und auf dem zwingend Anmeldung verlangt wird.
 
Hallo greystone, vielen Dank für die Information. Dann muss ich das einfach so berücksichtigen und fertig ist :)

Gruß, Domi
 
Ich habe postscreen so konfiguriert und fahre damit ganz gut
Hallöchen, seit längerer Zeit (weiß gar nicht mehr wie lange schon), kann zen.spamhaus.org nicht mehr erreicht werden.

Heute komme ich mal dazu, dass Thema hier aufzugreifen um zu fragen woran das liegen könnte. Im Netz habe ich schon gesucht, eigentlich überall nur Beispiele gefunden wie man ZEN einbindet und auf der Seite von spamhaus.org hab ich schon mal geschaut, aber nichts gefunden.

Mache ich da etwas falsch, oder ist das schon mehreren aufgefallen und ich bin nur zu doof die passenden Ergebnisse zu finden?

Die Warnung in der mail.log lautet wie folgt,
Code:
Nov 22 11:59:37 server postfix/smtpd[16110]: warning: 120.187.39.193.zen.spamhaus.org: RBL lookup error: Host or domain name not found. Name service error for name=120.187.39.193.zen.spamhaus.org type=A: Host not found, try again

Wenn ich 'nslookup zen.spamhaus.org' mache, scheint sogar ein Server gefunden zu werden, aus diesem Grund habe ich in der main.cf den Eintrag etwas angepasst und "zen.spamhaus.org*3" dort hinterlegt. Aber wirklich weitergebracht hat es mich nicht.

Gruß, Domi
 
Welche DNS-Server, respektive Resolver nimmst du. Die großen DNS-Server von Cloudflare, Google und auch die von großen Server-Anbietern wie Hetzner sind seitens der Blacklisten oftmals geblockt, da die Blacklisten-Anbieter die Anzahl der Zugriffe limitieren.

Im Worst-Case auf dem eigenen Server einen Resolver installieren/konfigurieren.
 
Last edited by a moderator:
Moin, da meine englisch Skills jetzt nicht die besten sind, ergibt der eine oder andere Satz bezüglich der resolv.conf (und dem resolver) Sinn, denn da stand auch etwas zu dem Thema, was mich dann verwirrt hatte.

Aber um die Frage zu beantworten, Server steht bei Hetzner und ich habe die DNS Settings so belassen wie sie bei der Server-Installation hinterlegt wurden. Ich führe zwar die Installation über das Rescue-System aus, damit ich gleich (nach meinen Wünschen) den Server benennen und die Partitionen so aufbauen kann, wie ich mir das vorstelle :)

Aber hier einmal der Auszug aus der resolv.conf
Code:
nameserver 213.133.99.99
nameserver 213.133.98.98
nameserver 213.133.100.100
nameserver 2a01:4f8:0:1::add:9898
nameserver 2a01:4f8:0:1::add:1010
nameserver 2a01:4f8:0:1::add:9999

Bezüglich dem eigenen "resolver" muss ich mich mal ein wenig belesen, oder gibt es Empfehlungen zu vertrauenswürdigen Nameservern die man verwenden könnte?!

Gruß, Domi

Nachtrag1: Ich habe mich einmal hier bedient und einen weiteren nameserver hinterlegt. Hier hatte auch jemand das Problem, auch ihm hatte man einen separaten Nameserver genannt, danach ging es wohl wieder bei ihm. Aktuell sind keine 'warning' mehr im Log aufgetaucht :)

Nachtrag2: Hier gibt es noch eine Liste von Nameservern, falls jemand fremden welche suchen sollte. Die T-Online Server funktionieren ebenfalls, wirken aber etwas träge.
 
Last edited by a moderator:
Alles klar, vielen Dank schon mal für die Information... Ich habe hier und hier eine Anleitung gefunden.

Sieht ja erst einmal nicht so komplex aus und könnte schnell eingerichtet sein. Vielleicht nehme ich das am Wochenende mal auf einem meiner Server in Angriff und probiere es aus :)

Schon mal vielen Dank bis hierhin und einen schöne Abend.
Gruß, Domi

Nachtrag: OK, hier ist auch noch eine kurze Anleitung. Mal eben ausprobiert, funktioniert :D
 
Last edited by a moderator:
Alle smtpd_*_restrictions versuchen unter smtpd_recipient_restrictions zusammenzufassen hat man vielleicht noch vor zehn Jahren gemacht, das ist allerdings falsch und sehr fehleranfällig. Die verschiedenen smtpd_*_restrictions sollte man strikt trennen, das trägt nicht nur zur Reduzierung der potentiellen Konfigurationsfehler bei, sondern erhöht auch die Flexibilität und Lesbarkeit.


Ich verwende folgende Konfiguration für Postfix 3.1.4 (Milter: opendkim, opendmarc):

main.cf
Code:
allow_percent_hack = no
always_add_missing_headers = yes
biff = no
compatibility_level = 2
data_directory = /var/lib/postfix
disable_vrfy_command = yes
dovecot_destination_recipient_limit = 1
enable_long_queue_ids = yes
fast_flush_domains =
home_mailbox = .maildir/
inet_interfaces = all
inet_protocols = all
lmtp_tls_fingerprint_digest = sha1
local_header_rewrite_clients = permit_mynetworks permit_sasl_authenticated
mail_spool_directory = /var/vmail
mailbox_size_limit = 0
masquerade_domains = $mydomain
masquerade_exceptions = root mailer-daemon
message_size_limit = 0
mydestination = $myhostname localhost.$mydomain localhost
mydomain = example.com
myhostname = mail.$mydomain
mynetworks_style = host
notify_classes = data protocol resource software
openssl_path = /usr/bin/openssl
postscreen_bare_newline_action = enforce
postscreen_bare_newline_enable = yes
postscreen_dnsbl_action = enforce
postscreen_dnsbl_sites =
  list.dnswl.org=127.0.[0..255].0*-2
  list.dnswl.org=127.0.[0..255].1*-4
  list.dnswl.org=127.0.[0..255].2*-6
  list.dnswl.org=127.0.[0..255].3*-8
  zen.spamhaus.org=127.0.0.9*25
  zen.spamhaus.org=127.0.0.3*10
  zen.spamhaus.org=127.0.0.2*5
  zen.spamhaus.org=127.0.0.[4..7]*3
  zen.spamhaus.org=127.0.0.[10..11]*3
  swl.spamhaus.org*-10
  bl.mailspike.net=127.0.0.2*10
  bl.mailspike.net=127.0.0.10*5
  bl.mailspike.net=127.0.0.11*4
  bl.mailspike.net=127.0.0.12*3
  bl.mailspike.net=127.0.0.13*2
  bl.mailspike.net=127.0.0.14*1
  wl.mailspike.net=127.0.0.16*-2
  wl.mailspike.net=127.0.0.17*-4
  wl.mailspike.net=127.0.0.18*-6
  wl.mailspike.net=127.0.0.19*-8
  wl.mailspike.net=127.0.0.20*-10
  backscatter.spameatingmonkey.net*2
  bl.ipv6.spameatingmonkey.net*2
  bl.spameatingmonkey.net*2
  ix.dnsbl.manitu.net*2
  bl.spamcop.net*2
  db.wpbl.info*2
  psbl.surriel.com*2
  torexit.dan.me.uk*2
  tor.dan.me.uk*1
  safe.dnsbl.sorbs.net*1
postscreen_dnsbl_threshold = 5
postscreen_dnsbl_whitelist_threshold = 0
postscreen_greet_action = enforce
postscreen_non_smtp_command_enable = yes
postscreen_pipelining_enable = yes
queue_directory = /var/spool/postfix
recipient_delimiter = +
remote_header_rewrite_domain = domain.invalid
show_user_unknown_table_name = no
smtp_dns_support_level = enabled
smtp_tls_CAfile = /usr/local/share/certs/ca-root-nss.crt
smtp_tls_ciphers = medium
smtp_tls_exclude_ciphers = CAMELLIA SEED IDEA RC2 RC4 aDSS kECDHe kECDHr kDHd kDHr eNULL aNULL MEDIUM LOW EXPORT
smtp_tls_fingerprint_digest = sha1
smtp_tls_loglevel = 1
smtp_tls_mandatory_ciphers = medium
smtp_tls_mandatory_exclude_ciphers = CAMELLIA SEED IDEA RC2 RC4 aDSS kECDHe kECDHr kDHd kDHr eNULL aNULL MEDIUM LOW EXPORT
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_client_port_logging = yes
smtpd_client_restrictions =
  sleep 1
  permit
smtpd_data_restrictions =
  reject_unauth_pipelining
  reject_multi_recipient_bounce
  permit
smtpd_end_of_data_restrictions =
  permit
smtpd_etrn_restrictions =
  reject
smtpd_helo_required = yes
smtpd_helo_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_invalid_helo_hostname
  reject_non_fqdn_helo_hostname
  permit
smtpd_milters = inet:127.0.0.1:8891 inet:127.0.0.1:8893
smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_non_fqdn_recipient
  reject_unknown_recipient_domain
  check_recipient_access pcre:${config_directory}/recipient_checks.pcre
  permit
smtpd_relay_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  defer_unauth_destination
  permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sender_restrictions =
  reject_non_fqdn_sender
  reject_unknown_sender_domain
  permit
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/mail.example.com.crt
smtpd_tls_ciphers = medium
smtpd_tls_exclude_ciphers = CAMELLIA SEED IDEA RC2 RC4 aDSS kECDHe kECDHr kDHd kDHr eNULL aNULL MEDIUM LOW EXPORT
smtpd_tls_fingerprint_digest = sha1
smtpd_tls_key_file = /etc/ssl/private/mail.example.com.key
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_exclude_ciphers = CAMELLIA SEED IDEA RC2 RC4 aDSS kECDHe kECDHr kDHd kDHr eNULL aNULL MEDIUM LOW EXPORT
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
strict_rfc821_envelopes = yes
swap_bangpath = no
tls_daemon_random_bytes = 64
tls_high_cipherlist = EECDH+ECDSA+CHACHA20 EECDH+CHACHA20 EECDH+ECDSA+AESGCM EECDH+AESGCM EECDH+ECDSA+AES256 EECDH+AES256 EECDH+ECDSA+AES128 EECDH+AES128 EECDH+ECDSA+3DES EECDH+3DES EDH+CHACHA20 EDH+AESGCM EDH+AES256 EDH+AES128 EDH+3DES
tls_medium_cipherlist = EECDH+ECDSA+CHACHA20 EECDH+CHACHA20 EECDH+ECDSA+AESGCM EECDH+AESGCM EECDH+ECDSA+AES256 EECDH+AES256 EECDH+ECDSA+AES128 EECDH+AES128 EECDH+ECDSA+3DES EECDH+3DES EDH+CHACHA20 EDH+AESGCM EDH+AES256 EDH+AES128 EDH+3DES AESGCM AES256 AES128 3DES
tls_preempt_cipherlist = yes
tls_random_bytes = 64
tls_ssl_options = NO_COMPRESSION
virtual_alias_domains = hash:${config_directory}/virtual_alias_domains
virtual_alias_maps = hash:${config_directory}/virtual_alias_maps
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = hash:${config_directory}/virtual_mailbox_domains
virtual_mailbox_limit = 0
virtual_mailbox_maps = hash:${config_directory}/virtual_mailbox_maps
virtual_minimum_uid = 5000
virtual_transport = dovecot
virtual_uid_maps = static:5000

master.cf
Code:
smtp      inet  n       -       n       -       1       postscreen
smtpd     pass  -       -       n       -       -       smtpd
dnsblog   unix  -       -       n       -       0       dnsblog
tlsproxy  unix  -       -       n       -       0       tlsproxy
submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o milter_macro_daemon_name=ORIGINATING
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda
  -f ${sender} -a ${recipient} -d ${user}@${nexthop}

recipient_checks.pcre
Code:
/^\@/             550 Invalid address format.
/[!%\@].*\@/      550 This server disallows weird address syntax.
/^postmaster\@/   OK
/^hostmaster\@/   OK
/^security\@/     OK
/^abuse\@/        OK
/^admin\@/        OK

Das erschlägt zwar nicht alle Spams, aber mit den aktuell circa 1%-2% durchschlüpfenden Spam kann ich durchaus leben.
Wenn ich diese Config übernehme in mein Postfix dann kann ich nicht mehr raus und reinschicken könnte mir bitte jemand bei der Konfiguration behilflich sein ?
 
Back
Top