Qmail + reverse DNS

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
theduke
Posts: 15
Joined: 2003-04-03 09:28
Location: Paderborn

Qmail + reverse DNS

Post by theduke » 2004-05-26 16:17

Hallo Forum,

ich möchte gerne mit meinem Qmail-Toaster eine reverse DNS überprüfung von eingehenden Mails machen. Bei uns am Institut machen wir das seit kurzem mit sehr großem Erfolg gegen SPAM. Ich habe Qmail nach der Qmail-Toaster Anleitung hier im Forum installiert. Meine /var/qmail/supervise/qmail-smtpd/run sieht im Moment wie folgt aus:

Code: Select all

#!/bin/sh
VPOPMAILUID=`id -u vpopmail`
VCHKPWGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
if [ -z "$VPOPMAILUID" -o -z "$VCHKPWGID" -o -z "$MAXSMTPD" ]; then
    echo VPOPMAILUID or VCHKPWGID is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
fi


#qmail-scanner erstmal auskommentiert, machen wir in einem späteren Teil
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE

exec /usr/sbin/softlimit -m 40000000 
    tcpserver -D -R -H -v -l 0 
    -x /var/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" 
    -u "$VPOPMAILUID" -g "$VCHKPWGID" 0 smtp 
    /usr/sbin/rblsmtpd -C -b -r relays.ordb.org 
    /usr/sbin/rblsmtpd -C -b -r sbl.spamhaus.org 
    /var/qmail/bin/qmail-smtpd hxxxx.serverkompetenz.net 
    /var/vpopmail/bin/vchkpw /bin/true 2>&1
Ich möchte jetzt die Ergänzungen wie beschrieben unter http://www.chrishardie.com/tech/qmail/q ... sysoption1 vornehmen. Meine /var/qmail/supervise/qmail-smtpd/run würde dann so aussehen:

Code: Select all

#!/bin/sh
VPOPMAILUID=`id -u vpopmail`
VCHKPWGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
if [ -z "$VPOPMAILUID" -o -z "$VCHKPWGID" -o -z "$MAXSMTPD" ]; then
    echo VPOPMAILUID or VCHKPWGID is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
fi


#qmail-scanner erstmal auskommentiert, machen wir in einem späteren Teil
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE

exec /usr/sbin/softlimit -m 40000000 
    tcpserver -D -R -p -H -v -l 0 
    -x /var/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" 
    -u "$VPOPMAILUID" -g "$VCHKPWGID" 0 smtp 
    /usr/sbin/rblsmtpd -C -b -r relays.ordb.org 
    /usr/sbin/rblsmtpd -C -b -r sbl.spamhaus.org 
    sh -c 'test -z "$TCPREMOTEHOST" 
    && echo "451 bad reverse DNS" 
    || exec var/qmail/bin/qmail-smtpd hxxxx.serverkompetenz.net 
    /var/vpopmail/bin/vchkpw /bin/true' 2>&1
Leider funktioniert so nur kein SMTP-AUTH mehr. Bekomme dann immer die Meldung "451 bad reverse DNS"

Für einen Tip wäre ich sehr dankbar :wink:

kenzo
RSAC
Posts: 530
Joined: 2003-07-15 20:30

Re: Qmail + reverse DNS

Post by kenzo » 2004-05-26 17:17

Bin mir nicht wirklich sicher, ob das des Ã?bels Ursprung ist, aber wenn Dein run-skript exakt so aussieht wie gepostet, versuch mal statt
|| exec var/qmail/bin/qmail-smtpd hxxxx.serverkompetenz.net

Code: Select all

|| exec /var/qmail/bin/qmail-smtpd hxxxx.serverkompetenz.net  
Ansonsten hilft recordio recht gut bei der Fehlersuche.

wirsing
RSAC
Posts: 611
Joined: 2002-11-20 21:32
Location: Vaihingen und Karlsruhe

Re: Qmail + reverse DNS

Post by wirsing » 2004-05-26 19:49

Dokumentation lesen: tcpserver-Parameter "-H" bzw. "-h"
Die Dokumentation findest du auf http://cr.yp.to

dimaki
Posts: 66
Joined: 2002-11-07 14:45

Re: Qmail + reverse DNS

Post by dimaki » 2004-05-27 08:04

Ja, Doku lesen: http://www.qmail.org
Steht da groß und breit erklärt.

Allerdings würde ich eine Art Soft-Fail bevorzugen als einfach hart zu rejecten.

.../tcp.smtp:

Code: Select all

# allow all lokal mail
127.:allow,RELAYCLIENT=""
172.16.11.:allow,RELAYCLIENT=""
# all mail with reverse dns
=:allow
# all mail with no reverse dns
:allow,RBLSMTPD="No Reverse DNS."
Bie Bedarf noch entsprechende QMAILQUEUE="..." Variable anhängen.

dimaki

theduke
Posts: 15
Joined: 2003-04-03 09:28
Location: Paderborn

Geht, geht...

Post by theduke » 2004-05-27 09:26

Hallo,

vielen Dank an euch! :-D

Das "-h" war der Hacken.
Mit diesen Einstellungen geht es jetzt:

Code: Select all

#!/bin/sh
VPOPMAILUID=`id -u vpopmail`
VCHKPWGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
if [ -z "$VPOPMAILUID" -o -z "$VCHKPWGID" -o -z "$MAXSMTPD" ]; then
    echo VPOPMAILUID or VCHKPWGID is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
fi


QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE

exec /usr/sbin/softlimit -m 40000000 
    tcpserver -D -R -h -p -v -l 0 
    -x /var/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" 
    -u "$VPOPMAILUID" -g "$VCHKPWGID" 0 smtp 
    /usr/sbin/rblsmtpd -C -b -r relays.ordb.org 
    /usr/sbin/rblsmtpd -C -b -r sbl.spamhaus.org 
    sh -c 'test -z "$TCPREMOTEHOST" 
    && echo "451 bad reverse DNS" 
    || exec /var/qmail/bin/qmail-smtpd hxxxx.serverkompetenz.net 
    /var/vpopmail/bin/vchkpw /bin/true' 2>&1
@dimaki: Könntest du das noch mal ein wenig erklären, was deine tcp.smtp genau macht? Ich hab da noch nicht's zu gefunden...

dimaki
Posts: 66
Joined: 2002-11-07 14:45

Re: Qmail + reverse DNS

Post by dimaki » 2004-05-27 20:23

Dann schau nochmal genau auf http://www.qmail.org... :roll:
Han Boetes blocks sites with no reverse dns. He uses the following tcp.smtp file. The only thing I would do differently is to set RBLSMTPD instead of just denying the connection.
127.0.0.1:allow,RELAYCLIENT=""
172.16.11.:allow,RELAYCLIENT=""
=:allow
:deny
Damit kannste den ganzen Müll in der /var/qmail/supervise/qmail-smtpd/run vergessen:

Code: Select all

sh -c 'test -z "$TCPREMOTEHOST"  
&& echo "451 bad reverse DNS"  
|| exec
Den brauchst Du dann nicht. Standardkonfiguration reicht.


Lediglich den -h Parameter für tcpserver brauchst Du noch.

...wer suchet, der wird finden... :wink:

dimaki