Postfix: SMTP HELO コマンドの制限

某所で NetSky 系のウイルスが欝陶しい。 ウイルスである SMTP クライアントは HELO 宛先アドレスのドメイン部 と喋るようなので、これで制限することにした。

まずは /etc/postfix/heloaccess を用意して、 postmap /etc/postfix/heloaccess しておく。 内容は以下の通り:

example.com REJECT

次に /etc/postfix/main.cf に以下のような設定を追加して、 postfix reload する:

smtpdhelorestrictions =
checkheloaccess hash:/etc/postfix/heloaccess

で、試してみると… HELO exmaple.com だけでなく、 HELO subdomain.exmaple.com も拒否してしまうのであった。

何で素直に exmaple.com だけを対象にしないのかね、まったく。 ちなみにこれと同じ変な仕様は、Apache の modaccess にもある。 いや待てよ、もしかしたら、これがいわゆる「普通」なのかも?! だとしたらちょっと狂ってる。 qmail-smtpd(8) の rcpthosts ファイルのように、 exmaple.com だったら exmaple.com だけにマッチし、 .example.com だったら example.com のサブドメインすべてにマッチするという仕様のほうが、 ずっと直感的でわかりやすく、なおかつ使い易いと思う。

気をとりなおして access(5) を斜め読みしてから、 /etc/postfix/heloaccess を以下のように変更してみた:

.example.com DUNNO
example.com REJECT

しかし結果は変わらず。

もう一度 access(5) をようく読んだところ、 parentdomainmatchessubdomains が元凶であることが判明。 そこで /etc/postfix/main.cf に以下を追加して無効にすることにした:

parentdomainmatchessubdomains =

/etc/postfix/heloaccess を最初のものに戻して試したところ、今度は成功した。

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

コメントを書く

Your email is never shared. * 印の項目は必須項目です。

*
*