プロジェクト

全般

プロフィール

スパム判定時のヘッダの付与

rspamdでは一定のスコア以上でスパム判定時に次のようなヘッダを付与することが出来ます。

X-Spam: Yes

これらはメーラではヘッダかソースを見ることでしか変化が分かりませんが、付与されていると
メーラの機能として優先的に迷惑メールフォルダに振り分けられやすくなります。またメーラや
フィルタソフトウェアに独自にフィルタ内容を追加したい際にも役立ちます。

設定の有効化

  • 次の設定ファイルを編集します。
    ここではスコアが「10〜19.9」の場合にヘッダを付与する設定です。
    # vi /etc/rspamd/local.d/actions.conf
    ----------------------------------------
    reject = 20.0;
    rewrite_subject = null;
    quarantine = null;
    add_header = 10.0;
    greylist = null;
    
  • サービスを再起動し、設定を反映します。
    # systemctl restart rspamd
    
  • 以上で上記スコア範囲に「add_header」アクションが実行されることが「History」で確認が出来ます。

付与項目の編集

  • デフォルトではスパム判定を指す「X-Spam: Yes」のみを付与します。
  • 付与するヘッダの種類を変更するには次のファイルを変更します。
    SPF/DKIM/DMARCの認証結果の付与などもこちらに設定します。
  • まずは下記から有効にしたい「項目」となる「use = ["機能名"]」部分を確認し記載します。
    https://docs.rspamd.com/modules/milter_headers
    # vi /etc/rspamd/local.d/milter_headers.conf 
    ----------------------------------------
    use = ["spam-header", "authentication-results"];
    
  • 引き続き、スキップ設定などを設定します。
    # vi /etc/rspamd/local.d/milter_headers.conf 
    ----------------------------------------
    (use設定の続き)
    skip_local = false;
    skip_authenticated = false;
    extended_spam_headers = false;
    
    • skip_local
      ローカルIPではroutines判定を省略する。
      デフォルトはtrueだが、一応判定してほしいのでfalseにする。
    • skip_authenticated
      SPF/DKIM/DMARC認証された場合ではroutines判定を省略する。
      デフォルトはtrueだが、一応判定してほしいのでfalseにする。
    • extended_spam_headers
      次のroutinesをまとめて有効化する。
      x-spamd-result
      x-rspamd-server
      x-rspamd-queue-id
      デフォルトではfalseだが、ここでは明示的なヘッダのみの追加としたいのでfalseのままとする。
  • サービスを再起動し、設定を反映します。項目内容を変更する場合は次項を確認します。
    # systemctl restart rspamd
    

付与内容の編集

  • 付与する項目の中で、付与するヘッダ項目の文字列や内容を変更したい場合も同様にファイルを編集します。
    ここでは例として「X-Spam-Level」のスコア文字を「アスタリスク」から「x」に変更し、既にヘッダがある場合は上書きするようにします。
  • まずは下記から有効した「use = ["機能名"]」部分のうち、変更したい項目のroutines {}定義を確認し記載します。
    https://docs.rspamd.com/modules/milter_headers
    ただしリファレンス上の「定義名 {}」の文字列がスペルミス率がやたら高いので、「use」での名称と同じか確認すること!
    # vi /etc/rspamd/local.d/milter_headers.conf 
    ----------------------------------------
    (前述のextended_spam_headers等の末尾から開始します)
    
    routines {
      x-spam-level {
        header = "X-Spam-Level";
        char = "0";
        remove = 1;
      }
     複数ある場合 {
     ……
     }
    }
    
  • 上記リファレンスの記載がデフォルトのため、必要に応じて内容を変更します。
    ここでは例として上記の「x-spam-level」のものとなりますが、項目や初期値などは機能によって異なります。
    • header
      ヘッダ名称
    • char
      該当した場合に付与する文字列
    • remove
      0: 同名ヘッダがあっても追記して書き加えるのみとする。
      1: 同名ヘッダがあった場合、今回付与するもののみとなるように既存ヘッダを削除する。
  • サービスを再起動し、設定を反映します。
    # systemctl restart rspamd