PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SpamAssassin in verbindung mit MS Exchange 5.5



ccc
31.03.04, 23:09
hi

möchte zwischen firewall und MickySoft Exchange 5.5
ein linux server mit SpamAssassin einsetzen.

brauche da eine schnitstelle, wie z.B ein script etc. ?

funktiniert diese kombination ?

hat schon jemand irgendwelche erfahrungen damit ?

ich weiss, dass z.B mit postfix wunderbar funktioniert.

gruss
ccc

Terran Marine
01.04.04, 08:16
hat schon jemand irgendwelche erfahrungen damit ?


Läuft bei uns in etwa gleich (wobei bei uns noch eine Trendmicro Viruswall dazwischen hängt).

Du definierst im Exchange den Linux-Mailserver als Smarthost/Relayhost für alle ausgehenden Mails,

der Mailserver (ich empfehle einfach mal postfix), nimmt alle Mails an und prüft sie über eine Pipe oder amavisd auf Spam und gibt sie dann weiter.
Die internen Mails sollten nicht auf Spam geprüft werden, das kannst du in dem pipe Skript bzw. einstellen

Über die transport definierst du dann das alle Mails von internen Domänen an den Exchange zurückgehen und alle externen ins Internet (also default_transport auf smtp lassen).

Gruß
Terran

ccc
01.04.04, 09:29
danke !

meinst du postfix soll die vom internet direkt eingehende mails
empfangen und weiterleiten ?

habe gemeint postfix ist nur zum schicken.

wo bekomme ich so ein pipe Skript ?

gruss
ccc

Terran Marine
01.04.04, 09:37
danke !

meinst du postfix soll die vom internet direkt eingehende mails
empfangen und weiterleiten ?

habe gemeint postfix ist nur zum schicken.

wo bekomme ich so ein pipe Skript ?

gruss
ccc

Gemeint habe ich :

Outlook-Client <-> Exchange <-> postfix mit spamassassin <-> Internet (ggf. ein paar Firewalls dazwischen ;) )

pipe in der master.cf

filter unix - n n - - pipe
flags=Rq user=filter argv=/usr/local/bin/spamfilter.sh -f ${sender} -- ${recipient}

smtpds dazu :

mail:smtp inet n - n - 100 smtpd
-o content_filter=filter:

localhost:25 inet n - n - 100 smtpd
-o content_filter=

(Bin mir aber garnicht sicher, ob das localhost zwingend notwendig ist, da das Spamassassin Skript über /usr/bin/sendmail also pickup einliefert
mail ist bei uns die Netzwerkschnittstelle)
)

/usr/local/bin/spamfilter.sh :

#!/bin/sh

# Localize these.
INSPECT_DIR=/var/spool/filter
SENDMAIL="/usr/sbin/sendmail -i"
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

# SpamAssassin uses a safe failover mode. If you do not want
# Emails to be delivered when Spamassassin doesn't run remove
# the comments

# Pruefen ob Absender lokal (xxx.de), falls ja, keine Spamprüfung
if echo "$2" | grep -qi "xxx.de" ; then

cat > out.$$
else

cat | $SPAMASSASSIN -f > out.$$ || { echo Message content rejected; exit $EX_UNAVAILABLE; }

fi

#cat > in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
#filter < in.$$ || { echo Message content rejected; exit $EX_UNAVAILABLE; }

$SENDMAIL "$@" < out.$$

(Das Skript gibts auch irgendwo im Internet in der Orginalversion, weiss aber grad nicht wo, ist also nicht von uns
Achja, und spamassassin muss als deamon laufen, spamd)

Gruß
Terran