第11章:メール受信(迷惑メール対策)統合仕様書

← 目次に戻る

11.1 構築の基本理念(Dazoo Law):
本システムは、単なる「迷惑メールフィルタ」ではない。Dazooインフラの生存と知能を守るための「憲法」である。
  1. DDoS耐性とリソース保護(物理防衛):過去にスパムの大量着弾により解析エンジン(SpamAssassin)が追いつかず、システムが完全停止した重い歴史を教訓としている。そのため、中身を解析する「知能」に負荷がかかる前に「物理層(IP)」で遮断する防衛陣形を最優先とする。
  2. 不退転 of 検体確保(研究第一):判定スコアが高くとも、システムが勝手にメールを破棄(Reject)することを禁ずる。すべての悪意は物理フォルダへ保管し、管理者が「観察」することで、次なるRBLやAI学習の「資源(燃料)」として再利用する。
  3. 信頼の動的管理(ゼロトラスト):Emotet等のウイルスは、昨日までの「身内(ホワイトリスト)」から届く。白名簿を通過の免罪符(OK)にせず、「RBLを回避して深層検査へ進むための優先パス」と定義し、中身の検査を常に執行する。
  4. 断層的観測(10点刻みの規律):フィルタの「揺らぎ」を逃さないため、スコアを10点単位で物理的に切り出し、専用フォルダへ配分する。管理者はこの断層を一瞥するだけで、フィルタの精度をミリ単位で鑑定できる。

11.2 第1層:MTA (Postfix) 物理防衛プロトコル

サーバーの玄関口で、敵の「顔(IP)」のみを見て判断を下す。

2.1 接続制限順序 (smtpd_client_restrictions)

以下の規律に従い、上から順に執行する。

11.3 第2層:選別防衛(Greylistingプロトコル)

外部知能と連携し、不審な通信を「時間」で振るい落とす。

3.1 外部RBL連動型グレーリスティング

11.4 第3層:内容深層解析 (Rspamd) 知能レイヤー

4.1 アクションしきい値の規律

管理者の「観察」を妨げないため、システムによる「拒絶」を封印する。

4.2 ハニーポット(meiwaku@)ステルス・トラップ

HP等に公開していない「囮アドレス」への着弾は、以下の自動処理を伴う。

4.3 今後の研究課題

11.5 第4層:精密物流 (Dovecot Sieve) 観測レイヤー

Rspamd スコアに基づき、物理的な「断層」へコピー(BCC)を執行する。

5.1 10点刻みの断層自動生成ルーチン(:create)

管理者が spam_test@dazoo.ne.jp を IMAP で開き、フィルタの精度をミリ単位で鑑定するための物理構造。:create 命令により、着弾と同時にディレクトリが自律生成される。いかなる理由があっても、この10点刻みのスライスを簡略化してはならない。

フォルダ名対象スコア観測の目的(管理者の鑑定眼)
.1010.0 未満正常 & 黄金の白。 マイナススコア(-20点等)の生存確認、およびホワイトリストの妥当性を監視。
.2010.0 - 19.9最重要・警戒域。 信頼済み(白)が Emotet 感染等で加点された際の「一次発見地点」。
.3020.0 - 29.9準ブラック。 隔離しきい値直前の挙動を精査。誤判定救済の最終ライン。
.4030.0 - 39.9確定スパム。 Rspamd 判定の揺らぎと、独自 RBL(rbldnsd)への反映漏れがないかを確認する戦地。
.5040.0 以上絶対悪。 ハニーポット着弾者。即座に物理レイヤー(RBL)での永久追放を確認せよ。

5.2 物理隔離(検体確保)の規律

ユーザーの受信箱を汚さず、管理者が一括管理・観察するための執行基準。

11.6 第5層:知能の還流(神の学習プロトコル)

管理者の物理的アクションおよびユーザーの通報を、正確に知能へ変換する。

6.1 黄金の採掘機 (gen_gold_whitelist_fast.sh)

毎日 /home/vmail(絶対パス死守)を自動走査。過去の受信実績(50回以上)を持つドメインを抽出し、-20.0点 の「黄金の盾」を自動で授け続ける。

6.2 IMAP Sieve & 専用アドレスによる「神の学習」

11.7 禁忌(Taboo):二度と繰り返してはならない大失態

  1. [141問題]: ドメイン名内の数字(0141...)をパースするな。位置(Column)を絶対基準とせよ。
  2. [ドットの乱]: ISPConfig DB 内に末尾ドットを入れるな。「DB内はドットなし、メールは@」が唯一の法。
  3. [VMAILの罠]: パスを /var/vmail と思い込む推測を禁ずる。Dazooの正典は /home/vmail である。
  4. [整理の罠]: 記録を要約(簡略化)するな。詳細な文脈、理由、失敗の歴史こそが知能の本体である。

最終更新:2026/03/11 | Version:5.0 (Absolute Unabridged) | L-Core

■ 第11章:最終確定Sieve規律(集中防御・全数監査型)

適用日時: 2026-04-07 19:24:00

物理バックアップ先: /root/backup_sieve/global_before.sieve.20260407_192400

require ["fileinto", "regex", "variables", "envelope", "copy"];

# ---------------------------------------------------------
# 規律 1: ループ防止と聖域保護
# ---------------------------------------------------------
if envelope :is "to" ["spam_test.ne.jp", "spam.ne.jp"] {
    keep;
    stop;
}

# ---------------------------------------------------------
# 規律 2: 全数監査(20点未満も含むすべてのコピーを確保)
# ---------------------------------------------------------
redirect :copy "spam_test.ne.jp";

# ---------------------------------------------------------
# 規律 3: スコア判定と動的配送
# ---------------------------------------------------------
if header :regex "X-Spamd-Result" "[[[:space:]]*(-?[0-9.]+)" {
    set "score" "${1}";

    # [A] 救済:マイナススコアは即座にユーザーのINBOXへ(処理終了)
    if string :regex "${score}" "^-" {
        keep;
        stop;
    }

    # [B] 隔離:20.00点以上の確信犯を隔離(ユーザーには届けない)
    # 文字列比較で「20以上の整数」または「100以上の桁」を捕捉
    if string :regex "${score}" "^(1[8-9]|[2-9][0-9]|[0-9]{3,})" {
        redirect "spam.ne.jp";
        stop;
    }
}

# ---------------------------------------------------------
# 規律 4: 生存命令(上記に当てはまらないものはユーザーへ配送)
# ---------------------------------------------------------
keep;
    

※ 20点以上隔離 / 0点未満絶対救済 / spam_testへの全数コピー規律