qmail+vpopmailで存在しないアカウントをSMTPで拒否する方法
qmailのqmail-smtpdは、ローカルにアカウントが存在しなくてもメールを受け取ってしまう。しかしながら、fromを偽装して送られるスパムのターゲットになってしまった場合は問題が起きるので、chkuserパッチを適応してみた。日本での適応事例がなかったのでメモを残しておく。
1通のメールから、これだけの処理が発生する。
- スパマーがFromをnon-existed@mydomain.jpに設定し、non-existed@targetdomain.jpへ配信した場合、エラーメールがnon-existed@mydomain.jpへ配信される。
- qmail-smtpdはnon-existed@mydomain.jpへ配送されたメールをlocal-queueに入れ、配信を試みるが存在しないからエラーメールを構築し、remote queueへ入れる。
- しかし、そのエラーメールの宛先は間違っているから配送できない。mailer-daemon@mydomain.jpへメールが送信されて終了
この処理を最小限にするためには(2)の段階で、qmail-smtpdがローカルに存在するメールアカウントをチェックしてrejectするのがベスト。これを実行するのがchkuserパッチ。
qmail周りのインストール方法をまとめると以下のようになる。パッチ適応の順番は重要。
$ tar zxvf qmail-1.03.tar.gz $ cd qmail-1.03 $ patch < ../qmail-103.patch $ patch < ../qmail-date-localtime.patch $ patch < ../qmail-glibc.patch $ patch < ../qmail-smtpd-relay-reject $ patch < ../qmail-0.0.0.0.patch $ cd .. $ tar xzvf qmail-smtpd-auth-0.31.tar.gz $ cd qmail-1.03 $ cp ../qmail-smtpd-auth-0.31/*.* ./ $ patch < auth.patch $ patch -p1 < ../chkuser-2.0.9-release.patch (qmail-smtpd-authのパッチとコンフリクトするので、適宜目で見て修正する。) # make setup
2010-05-20 15:46:27.267796500 CHKUSER rejected rcpt: fromremote rcpt : not existing recipient 2010-05-20 15:46:28.956170500 CHKUSER rejected rcpt: from remote rcpt : not existing recipient
| 印刷 | この記事は Yuki Matsukura によって 2010/5/20 木曜日 12:00:14 に投稿されました, qmail 以下に保存されています。 RSS 2.0 を通してコメントをフォローする。 コメントを残すか、ご自分のサイトからトラックバックできます。 |
