403
17.02.07, 23:50
Hallo,
Fuer diejenigen unter euch die immer noch sendmailen muessen :ugly:
Neben /etc/mail/{access,virtusertable}; RBLs, Spamassassin, procmail gibt es die Möglichkeit
die Milter-Schnittstelle von Sendmail mit milter-regex zu nutzen. Das Schöne dabei ist, das Spam
schon auf SMTP Ebene aussen vor bleibt. Das spart zum Beispiel die IO-teuere Mail-Zustellung
und schont Nerven.
1. Beschaffung der Sourcen
Ansurfen von http://www.benzedrine.cx/milter-regex.html und Download der Stable Version
(Wer sich mit yacc herumaergern will kann die current Version probieren)
2. Kopieren der Konfiguration nach /etc oder wahlweise im Startaufruf
Ich habe die Config nach /etc/mail gepackt.
cd /tmp && tar zxf milter-regex-1.6.tar.gz &&
cd milter-regex && cp milter-regex.conf /etc/mail
3. Optional: Kleines Init Skript schreiben
#!/bin/bash
#
# milter-regex This shell script enables the automatic use of
#
# Author: Seth Vidal <protected>
#
# chkconfig: - 50 01
#
# description: Enable daily run of milter-regex, a program updater.
# processname: milter-regex
# config: /etc/milter-regex.conf
#
# source function library
#. /etc/rc.d/init.d/functions
#lockfile=/var/lock/subsys/milter-regex
RETVAL=0
start() {
echo -n $"Enabling milter-regex: "
/usr/sbin/milter-regex -u milter-regex -c /etc/mail/milter-regex.conf
echo
}
stop() {
echo -n $"Disabling milter-regex "
killall milter-regex
echo
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
restart
;;
reload)
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
esac
exit $RETVAL
4. In die sendmail.mc den richtigen Pfad zu Socket einfuegen:
INPUT_MAIL_FILTER(`milter-regex',
`S=unix:/var/spool/milter-regex/sock, T=S:30s;R:2m')
und mit m4 eine neue sendmail.cf generieren.
,cp sendmail.mc sendmail.mc.bak
,m4 sendmail.mc > sendmail.cf.test
5. /etc/milter-regex.conf anpassen.
Standard Regeln befinden sich auf der Webseite.
Das ist jetzt eine gute Zeit um Ausnahmen zu defineren.
Falls zum Beispiel $CHEF immer auf die Regel "forged
Outlook Header" zutrifft.
Möglicherweise sich vorher ueber HELO FIltering informieren.
HELO Funktionsweise in RFC 821/1123. (Wer das dicke Oreilly
Sendmail Buch hat, es wird auch darin etwas versteckt gut
erklaert)
Ein gueltiger HELO Command muss ein voll qualifizierter
Domain/Server Name (FQDN) des Senders sein. Der eigene
Server ist folglich nicht erlaubt.
Helo Filter aktivieren:
# From Christopher Kruslicky:
tempfail "Malformed HELO"
helo /^141\.71\.128\.42$/ <- natuerlich die eigene Addresse
tempfail "Malformed HELO"
helo /^127\.0\.0\.1$/
6. eigenen User anlegen
useradd -d /var/nonexistant milter-regex
7. Logging einstellen
Die Idee nach maillog oder messages zu loggen ist Geschmackssache.
Deswegen kann man dem Beispiel folgen und /var/log/milter-regex
anlegen, fuer den User milter-regex beschreibbar machen und dann in
/etc/syslog.conf folgendes eintragen:
!milter-regex \tab\tab\tab /var/log/milter-regex
Dann den Syslog neustarten.
8. Starten
/etc/init.d/spamassassin start
/etc/init.d/milter-regex start
/etc/init.d/sendmail start
9. Auf die ersten Spammer freuen, wie sie sich die Zaehne ausbeissen
Zu Beginn ein tail -f mitlaufen lassen und ggf. Regeln anpassen.
Interessant in diesem Zusammenhang milter-greylist, das ist auch relativ einfach
aufgesetzt und Real-Time-Address Verification.
Gruss
403
Fuer diejenigen unter euch die immer noch sendmailen muessen :ugly:
Neben /etc/mail/{access,virtusertable}; RBLs, Spamassassin, procmail gibt es die Möglichkeit
die Milter-Schnittstelle von Sendmail mit milter-regex zu nutzen. Das Schöne dabei ist, das Spam
schon auf SMTP Ebene aussen vor bleibt. Das spart zum Beispiel die IO-teuere Mail-Zustellung
und schont Nerven.
1. Beschaffung der Sourcen
Ansurfen von http://www.benzedrine.cx/milter-regex.html und Download der Stable Version
(Wer sich mit yacc herumaergern will kann die current Version probieren)
2. Kopieren der Konfiguration nach /etc oder wahlweise im Startaufruf
Ich habe die Config nach /etc/mail gepackt.
cd /tmp && tar zxf milter-regex-1.6.tar.gz &&
cd milter-regex && cp milter-regex.conf /etc/mail
3. Optional: Kleines Init Skript schreiben
#!/bin/bash
#
# milter-regex This shell script enables the automatic use of
#
# Author: Seth Vidal <protected>
#
# chkconfig: - 50 01
#
# description: Enable daily run of milter-regex, a program updater.
# processname: milter-regex
# config: /etc/milter-regex.conf
#
# source function library
#. /etc/rc.d/init.d/functions
#lockfile=/var/lock/subsys/milter-regex
RETVAL=0
start() {
echo -n $"Enabling milter-regex: "
/usr/sbin/milter-regex -u milter-regex -c /etc/mail/milter-regex.conf
echo
}
stop() {
echo -n $"Disabling milter-regex "
killall milter-regex
echo
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload)
restart
;;
reload)
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
esac
exit $RETVAL
4. In die sendmail.mc den richtigen Pfad zu Socket einfuegen:
INPUT_MAIL_FILTER(`milter-regex',
`S=unix:/var/spool/milter-regex/sock, T=S:30s;R:2m')
und mit m4 eine neue sendmail.cf generieren.
,cp sendmail.mc sendmail.mc.bak
,m4 sendmail.mc > sendmail.cf.test
5. /etc/milter-regex.conf anpassen.
Standard Regeln befinden sich auf der Webseite.
Das ist jetzt eine gute Zeit um Ausnahmen zu defineren.
Falls zum Beispiel $CHEF immer auf die Regel "forged
Outlook Header" zutrifft.
Möglicherweise sich vorher ueber HELO FIltering informieren.
HELO Funktionsweise in RFC 821/1123. (Wer das dicke Oreilly
Sendmail Buch hat, es wird auch darin etwas versteckt gut
erklaert)
Ein gueltiger HELO Command muss ein voll qualifizierter
Domain/Server Name (FQDN) des Senders sein. Der eigene
Server ist folglich nicht erlaubt.
Helo Filter aktivieren:
# From Christopher Kruslicky:
tempfail "Malformed HELO"
helo /^141\.71\.128\.42$/ <- natuerlich die eigene Addresse
tempfail "Malformed HELO"
helo /^127\.0\.0\.1$/
6. eigenen User anlegen
useradd -d /var/nonexistant milter-regex
7. Logging einstellen
Die Idee nach maillog oder messages zu loggen ist Geschmackssache.
Deswegen kann man dem Beispiel folgen und /var/log/milter-regex
anlegen, fuer den User milter-regex beschreibbar machen und dann in
/etc/syslog.conf folgendes eintragen:
!milter-regex \tab\tab\tab /var/log/milter-regex
Dann den Syslog neustarten.
8. Starten
/etc/init.d/spamassassin start
/etc/init.d/milter-regex start
/etc/init.d/sendmail start
9. Auf die ersten Spammer freuen, wie sie sich die Zaehne ausbeissen
Zu Beginn ein tail -f mitlaufen lassen und ggf. Regeln anpassen.
Interessant in diesem Zusammenhang milter-greylist, das ist auch relativ einfach
aufgesetzt und Real-Time-Address Verification.
Gruss
403