I want to reject incoming email to invalid users AFTER accepting the email
by SMTPd. Where can I insert a small bash script to check valid users
against VPOPMAIL MYSQL DB before allowing SPAMD, CLAMAV, qmail-inject,
etc. to run???

Vpopmail 5.4.5, Mysql 3.23.54.  Also, I'm aware of Tonix's patch to
prevent invalid users BEFORE SMTPD accepts mail.  Am considering it, but
want to understand options if I'm willing to take the bandwidth hit but
not provide hints to dictionary attackers.  Really hoping to put a small
script inline to SMTP processing.  THANKS!

My current /var/qmail/supervise/qmail-smtpd/run file reads thusly.

#!/bin/sh
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE
VPOPMAILUID=`id -u vpopmail`
VPOPMAILGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`

if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL"
]; then
    echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
fi

exec /usr/local/bin/softlimit -m 15000000 \
/usr/local/bin/tcpserver \
  -H -l server.example.com \
  -v -x /etc/tcp.smtp.cdb \
  -c 20 -R -u "$VPOPMAILUID" -g "$VPOPMAILGID" 0 smtp \
  /usr/local/bin/rblsmtpd -b -C \
  -r 'relays.ordb.org: denied' \
  -r 'sbl-xbl.spamhaus.org: denied' \
  /var/qmail/bin/qmail-smtpd $LOCAL \
  /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1




Reply via email to