info@mail.ほげほげ.ほげ

otsune さん のところから。info@mail.ほげほげ.com とか info@mail.ほげほげ.net など、info@mail なんちゃらから大量に迷惑メールが送られてきているというのを知りました。

で早速自社のサーバで見てみたら、確かに結構来てるんですね --;)。不愉快だったので早速参考にさせてもらって qmail-scanner で隔離するようにしました。ついでに cron で 30分ごとに以下のようなスクリプトを実行し、二度は受け取らないようにしようと試みたりしてます。djbdns の dnxmx で MX の有無は一応チェックしてます*1

#!/bin/sh
#
# $Id: check.sh,v 1.2 2005-09-22 20:35:35+09 ueda Exp ueda $
#
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
export LANG=C

LOGFILE="/var/qmail/log/qmail-smtpd/current"
SPAMLIST="/usr/local/qmailscan/quarantine-attachments.txt"

TMPFILE=/var/tmp/`basename $0`.$$

CleanUp () {
        rm -f ${TMPFILE}
        exit $1
}


trap 'CleanUp 1' 1 2 3 15

touch ${TMPFILE}
for i in `egrep 'mail from: info@mail\.[^\.]*\.com' ${LOGFILE} | sed -e 's/^.*from: //g' | sort -u`
do
        RESULT=`grep $i ${SPAMLIST}`
        if [ "${RESULT}" = "" ]; then
                DOMAIN=`echo $i | sed -e 's/^[^@]*@//g'`
                MX=`dnsmx ${DOMAIN} | head -n 1 | grep -v ^0`
                if [ "${MX}" = "" ]; then
                        echo "$i        Virus-MAILFROM: Bad mail envelope not allowed here" >> ${TMPFILE}
                else
                        echo >> ${TMPFILE}
                        echo "$i" >> ${TMPFILE}
                        echo " ... is suspicious address, but has at least one MX - ${MX}" >> ${TMPFILE}
                        echo >> ${TMPFILE}
                fi
        fi
done
if [ ! -s ${TMPFILE} ]; then
        CleanUp 0
fi

echo "To: ueda@example.jp"
echo "From: ueda@example.jp"
echo "Subject: Check result of suspicious mail from info@mail...."
echo "Content-Type: text/plain; charset=iso-2022-jp"
echo "Mime-Version: 1.0"
echo

echo "Check suspicious address info@mail\.[^\.]*\.com,"
echo "which has no MX and is not listed in `basename ${SPAMLIST}`"
echo
echo "Now check start..."
echo 
cat ${TMPFILE}
echo
echo "done."
echo
echo "--------------------------------"
echo '$Id: check.sh,v 1.2 2005-09-22 20:35:35+09 ueda Exp ueda $'

CleanUp 0

badmailfrom に書く手もあるのですが、ISP 事業で使用しているメールサーバから転送メールを受け取っているスタッフがいるので、拒否すると転送先アドレスを晒してしまうことになるため、残念ながら隔離でガマン。

*1:大抵のアドレスのドメインパートは A レコードしかない FQDN なので。