第11章:メール受信(迷惑メール対策)統合仕様書
← 目次に戻る
11.1 構築の基本理念(Dazoo Law):
本システムは、単なる「迷惑メールフィルタ」ではない。Dazooインフラの生存と知能を守るための「憲法」である。
- DDoS耐性とリソース保護(物理防衛):過去にスパムの大量着弾により解析エンジン(SpamAssassin)が追いつかず、システムが完全停止した重い歴史を教訓としている。そのため、中身を解析する「知能」に負荷がかかる前に「物理層(IP)」で遮断する防衛陣形を最優先とする。
- 不退転 of 検体確保(研究第一):判定スコアが高くとも、システムが勝手にメールを破棄(Reject)することを禁ずる。すべての悪意は物理フォルダへ保管し、管理者が「観察」することで、次なるRBLやAI学習の「資源(燃料)」として再利用する。
- 信頼の動的管理(ゼロトラスト):Emotet等のウイルスは、昨日までの「身内(ホワイトリスト)」から届く。白名簿を通過の免罪符(OK)にせず、「RBLを回避して深層検査へ進むための優先パス」と定義し、中身の検査を常に執行する。
- 断層的観測(10点刻みの規律):フィルタの「揺らぎ」を逃さないため、スコアを10点単位で物理的に切り出し、専用フォルダへ配分する。管理者はこの断層を一瞥するだけで、フィルタの精度をミリ単位で鑑定できる。
11.2 第1層:MTA (Postfix) 物理防衛プロトコル
サーバーの玄関口で、敵の「顔(IP)」のみを見て判断を下す。
2.1 接続制限順序 (smtpd_client_restrictions)
以下の規律に従い、上から順に執行する。
- [身内救済]:
permit_mynetworks, permit_sasl_authenticated 等。
- [黄金の白名簿]:
jp.postfix.txt や white_list の対象。
- 執行:
OK ではなく DUNNO を返す。
- 理由: RBLチェック(物理拒絶)のみを免除し、必ず後続の Rspamd 深層監査へ送り届けるため。
- [確定黒の拒絶 (Hard Reject)]: 独自RBL (
rbl.dazoo.ne.jp) および brbl (b.barracudacentral.org)。
- 執行: 554 (Reject)。本文を 1バイトも受け取らずに即時切断し、CPUを守る。
11.3 第2層:選別防衛(Greylistingプロトコル)
外部知能と連携し、不審な通信を「時間」で振るい落とす。
3.1 外部RBL連動型グレーリスティング
- 対象:
zen.spamhaus.org, dnsbl.sorbs.net
- 執行: 登録がある場合、即時拒絶(554)ではなく 451 (Greylisting) を返答。
- 意図: 誤検知の可能性を考慮し、再送機能のない Emotet 感染PCや使い捨てエンジンをここで静かに脱落させる。
11.4 第3層:内容深層解析 (Rspamd) 知能レイヤー
4.1 アクションしきい値の規律
管理者の「観察」を妨げないため、システムによる「拒絶」を封印する。
- add_header:6.0点
- rewrite_subject:15.0点
- reject:50.0点(事実上の無効化。DDoS時のみの防衛ライン)
4.2 ハニーポット(meiwaku@)ステルス・トラップ
HP等に公開していない「囮アドレス」への着弾は、以下の自動処理を伴う。
- 執行: Rspamd(Lua) が送信元 IP を抽出し、
os.execute を通じて /var/lib/rbldns/ip(独自RBL)へ即座に物理追記し、rbldnsd を再点火する。
- ステルス: 相手には「250 OK」を返し、罠であることを悟らせずに次なる検体を確保し続ける。
4.3 今後の研究課題
- LINEフィッシング判定: 現在は Lua スクリプトの構文不備により実装見合わせ中。今後のフェーズで安全な実装方法を再検討する。
11.5 第4層:精密物流 (Dovecot Sieve) 観測レイヤー
Rspamd スコアに基づき、物理的な「断層」へコピー(BCC)を執行する。
5.1 10点刻みの断層自動生成ルーチン(:create)
管理者が spam_test@dazoo.ne.jp を IMAP で開き、フィルタの精度をミリ単位で鑑定するための物理構造。:create 命令により、着弾と同時にディレクトリが自律生成される。いかなる理由があっても、この10点刻みのスライスを簡略化してはならない。
| フォルダ名 | 対象スコア | 観測の目的(管理者の鑑定眼) |
| .10 | 10.0 未満 | 正常 & 黄金の白。 マイナススコア(-20点等)の生存確認、およびホワイトリストの妥当性を監視。 |
| .20 | 10.0 - 19.9 | 最重要・警戒域。 信頼済み(白)が Emotet 感染等で加点された際の「一次発見地点」。 |
| .30 | 20.0 - 29.9 | 準ブラック。 隔離しきい値直前の挙動を精査。誤判定救済の最終ライン。 |
| .40 | 30.0 - 39.9 | 確定スパム。 Rspamd 判定の揺らぎと、独自 RBL(rbldnsd)への反映漏れがないかを確認する戦地。 |
| .50 | 40.0 以上 | 絶対悪。 ハニーポット着弾者。即座に物理レイヤー(RBL)での永久追放を確認せよ。 |
5.2 物理隔離(検体確保)の規律
ユーザーの受信箱を汚さず、管理者が一括管理・観察するための執行基準。
- 執行条件: 管理者が断層観測に基づき決定したしきい値以上(旧サーバー 28.0 相当を暫定基準とし、現在最適化中)。
- 配送先:
/home/vmail/dazoo.ne.jp/spam/ (管理用一括ディレクトリ)。
11.6 第5層:知能の還流(神の学習プロトコル)
管理者の物理的アクションおよびユーザーの通報を、正確に知能へ変換する。
6.1 黄金の採掘機 (gen_gold_whitelist_fast.sh)
毎日 /home/vmail(絶対パス死守)を自動走査。過去の受信実績(50回以上)を持つドメインを抽出し、-20.0点 の「黄金の盾」を自動で授け続ける。
6.2 IMAP Sieve & 専用アドレスによる「神の学習」
- Spam学習 (
spam@dazoo.ne.jp): 管理者がメールをこのフォルダへ移動 = rspamadm learn_spam を自動執行。
- 【鉄則:学習汚染の防止】: 一般ユーザーから「転送」で届いたメールは、ベイズ学習(AI)には投入しない。 ユーザーが「単に退会できない正規のML」を通報した際、それを学ぶと正規配送全体を止める知能の劣化を招くため。転送メールは管理者が目視し、悪質な場合のみ個別フィルタへの登録を検討せよ。
- Ham学習 (
ham@dazoo.ne.jp): 隔離フォルダからメールを戻す = rspamadm learn_ham を自動執行。管理者が「白」と認めた証拠を AI に刻む。
11.7 禁忌(Taboo):二度と繰り返してはならない大失態
- [141問題]: ドメイン名内の数字(0141...)をパースするな。位置(Column)を絶対基準とせよ。
- [ドットの乱]: ISPConfig DB 内に末尾ドットを入れるな。「DB内はドットなし、メールは@」が唯一の法。
- [VMAILの罠]: パスを
/var/vmail と思い込む推測を禁ずる。Dazooの正典は /home/vmail である。
- [整理の罠]: 記録を要約(簡略化)するな。詳細な文脈、理由、失敗の歴史こそが知能の本体である。
最終更新:2026/03/11 | Version:5.0 (Absolute Unabridged) | L-Core