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/