osakana.netで使用しているqmailに適用したパッチの紹介です。
元々はqmail-1.03(オリジナルURL/今は消えた: http://www.qmail.org/top.html)に適用していたものを、netqmail-1.06(オリジナルURL/今は消えた: http://www.qmail.org/netqmail/)リリース後にまとめ直し、また、いくつか機能を追加したものです。
上記で配布している netqmail-1.06_qregex_spf_auth_badremote-patch.tar.gz には下記ファイルが含まれます。このうち、「netqmail-1.06_qregex_spf_auth_badremote-mod.diff」が osakana.netで作成したパッチ集です。
badremotehost badremotehost-force netqmail-1.06_qregex_spf_auth_badremote-mod.diff netqmail-qregex-20040601-vrt.patch qmail-1.03-concurrencydomain.patch qmail-103-dns.patch qmail-badremotehost.patch qmail-date-localtime.patch qmail-spf-rc5.patch readme.txt
いろいろファイルが含まれていますが、必要なパッチファイルは「netqmail-1.06_qregex_spf_auth_badremote-mod.diff」だけです。これを適用すると、それ以外の~.patchで提供されるパッチと同等の機能が得られます。
また、osakana.net独自のカスタマイズとして、qmail-badremotehost.patchに対する拡張を行っています。
各パッチで追加される機能については下記に概要を記載しますが、詳細については、それぞれのパッチについての情報をあたってください。ここでは解説しません。
qmail-103-dns.patch DNSにて512バイトを超えるUDPパケットが来た場合に処理できなくなる問題の修正パッチ。最近はDNSSEC対応に伴いこの事象が増えている。この問題が発生している場合、ログに「qmail: 1329379675.922925 delivery 2587: deferral: CNAME_lookup_failed_temporarily._(#4.4.3)/」というような感じのログが出ています。
Receivedなどの時刻をローカルタイムにするパッチ
netqmail-qregex-20040601-vrt.patch下記を追加
SMTP認証機能
以下の設定ファイルを追加する
/var/qmail/control/badmailto
受信を拒否するToメールアドレス
/var/qmail/control/badhelo
受信を拒否するHELO応答
/var/qmail/control/validrcptto
受信を許可する宛て先アドレス
以下のファイルで正規表現が使用できるようにする
/var/qmail/control/badmailfrom
/var/qmail/control/badmailto
/var/qmail/control/badhelo
/var/qmail/control/validrcptto
配布元: Stray Penguin -Linux Memo-
http://www.asahi-net.or.jp/~AA4T-NNGK/qmail.html
http://www.asahi-net.or.jp/~AA4T-NNGK/codes/netqmail-qregex-20040601-vrt.patch
上記パッチの元ネタ
smtpd-auth
http://members.elysium.pl/brush/qmail-smtpd-auth/ (URL消滅)
qrefex-20040601
http://erresea.arda.homeunix.net/store/qmail/
validrcptto
配布元の現サイトが不明
qmail-1.03-concurrencydomain.patch
以下を追加
同一ドメインへのリモート/ローカル配送の最大多重度を制限する機能を追加
以下の設定ファイルを追加
/var/qmail/control/concurrencylocaldomain
ローカルにある1つのドメインに同時配信できるメール数の上限
/var/qmail/control/concurrencyremotedomain
外部にある1つのドメインに同時配信できるメール数の上限
配布元: 株式会社デージーネット
http://www.designet.co.jp/support/qpatch1.html (japanese) URL消滅
http://www.designet.co.jp/english/qpatch2.html (english) URL消滅
qmail-badremotehost.patch
S25R(Selective SMTP Rejection:選択的SMTP拒絶)を行うためのパッチ
S25Rについては http://gabacho.reto.jp/anti-spam/ を参照のこと
以下の設定ファイルが追加
/var/qmail/control/badremotehost
信頼できないホスト名規則を記述
/var/qmail/control/goodremotehost
信頼できるホスト名規則を記述
なお、qmail-badremotehost.patchの冒頭に記述サンプルがあるので参考のこと
また goodremotehostは http://gabacho.reto.jp/anti-spam/white-list.html
からホワイトリストを入手し、「/~/ OK」という記述から
「/」と「/ OK」を削除して使用すると良いだろう
配布元: 廣島直己氏のページ
http://n.h7a.org/hacks/qmail-badremotehost.patch
osakana.net独自のカスタマイズとして
/var/qmail/control/badremotehost-force を追加しています。
これは、頻発している信頼できないホスト名規則を
特に指定し、ログを整理するために用意しています
badremotehostとbadremotehost-forceのサンプルは
同梱しています。
qmail-spf-rc5.patch
SPF(Sender Policy Framework)対応パッチ
以下の設定ファイルが追加される
/var/qmail/control/spfbehavior
/var/qmail/control/spfrules
/var/qmail/control/spfguess
/var/qmail/control/spfexp
配布元: qmail SPF patch
http://www.saout.de/misc/spf/