Spam verhindern durch Postfix (und SpamAssassin) per MySQL

Possessor

New Member
Hi,

da mein Mailserver aktuell noch sehr viel Spam durch lässt, wollte ich diesen durch einfache RegEx-Argumente etwas schützen.

Bei der Google-Suche sah ich das ein Header-Check und ein Body-Check durch postfix sehr langsam ist und das System bei größerer Anzahl von Mails ausbremsen kann, weshalb ich noch SpamAssassin hinzu installierte.

Wunsch wäre es per SQL-Argumente in Header und Body einzuteilen, sowie der RegEx selber und die Aktion (Reject, Spamhinweis oder ähnliches). Doch leider fand ich bei einer Google-Suche nichts was mir in die Richtung weiter hilft.

Ist es möglich postfix um diese Funktion zu erweitern? Vielen Dank für Hilfe oder Tipps vorher ;-)

Aktuelle Konfigurationen:
/etc/mail/spamassassin/local.cf
Code:
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)

# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.

required_hits 5
report_safe 0
rewrite_header Subject [SPAM]

/home/vmail/spamFilter.sh
Code:
#!/bin/sh
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail
SPAMASSASSIN=/usr/bin/spamc
# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }
# Clean up when done or when aborting.
trap "rm -f in.$$; rm -f out.$$" 0 1 2 3 15
# Parameter for $SPAMASSASSIN
#  -P   Pipe message, don't deliver
#  -x   Disable user config files
#  -a   Use auto-whitelists
cat | $SPAMASSASSIN  > out.$$ || { echo Message content rejected; exit $EX_UNAVAILABLE; }
$SENDMAIL -i "$@" < out.$$
exit $?

/etc/postfix/main.cf
[...]
Code:
# Erlaubnisse und Verbote
# Versand
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
#Empfang
smtpd_sender_restrictions = reject_unknown_sender_domain
unknown_address_reject_code = 554

/etc/postfix/master.cf
[...]
Code:
# SpamAssassin
filter    unix  -       n       n       -       -       pipe
  user=vmail argv=/home/vmail/spamFilter.sh -f ${sender} -- ${recipient}
 
Back
Top