ZimbraでSpamAssassinのカスタムルールを安全に設定する方法

どのZimbra SpamAssassinファイルを編集すればよいですか?

Zimbra Collaboration Suite 8.5以降では、Zimbraのドキュメントによると、ローカルのSpamAssassinカスタマイズは に配置されます/opt/zimbra/data/spamassassin/localrules。拡張子を持つルールファイルは.cfそこに配置できます。Zimbraの例では、カスタムルール用に別のファイルを使用しています。以前のZimbraリリースでは異なる場所が使用されていたため、編集する前にサーバー上のバージョンとディレクトリを確認してください。現在のパッケージレイアウトは、リリースや展開によっても異なる場合があります。

このガイドでは、サイト全体に適用される、変更可能な小さなルールを追加し、その構文をチェックし、メールスキャンサービスを再起動し、配信されたメッセージを検証します。Zimbra MTAを管理していることを前提としています。複数のMTAサーバーを運用している場合は、受信メールをスキャンする各サーバーにこのファイルを適用し、SpamAssassinを再起動してください。

ZimbraのカスタムSpamAssassinルールガイドには、localrulesのパスとzmamavisdctl restartコマンドが記載されています。このスパム対策ガイドでは、旧バージョンのZCS 8とZCS 8.5以降の設定を区別しています。

カスタムルールは何を変更するのですか?

SpamAssassinルールは、メッセージの特徴を検出し、シンボルルール名を割り当て、スコアを算出します。SpamAssassinはそのスコアを他のテスト結果と組み合わせます。その後、Zimbraは設定済みのスパム処理しきい値を適用します。ルール自体が、メッセージが迷惑メールフォルダに振り分けられる、または拒否されることを保証するものではありません。メッセージのスコアの残りの部分とサーバーの設定が重要になります。

スコアを選択する際には、その区別が重要になります。まずは控えめな値から始め、誤検出を検証し、テストで信号の信頼性が確認された場合にのみ値を上げてください。必要なスパムスコアと破棄しきい値を確認せずに、例から高いスコアをそのままコピーすることは避けてください。

編集作業を行う前に、何を確認すべきでしょうか?

  • リリースとパス: Zimbraのバージョンと、パス/opt/zimbra/data/spamassassin/localrulesが存在するかどうかを確認してください。このガイドに記載されているパスは、ZimbraのドキュメントによるとZCS 8.5以降に適用されます。それ以前のリリースには適用されないことをご了承ください。
  • どのホストがメールをスキャンしているか: Amavis/SpamAssassinを実行しているすべてのMTAを特定してください。あるサーバーにインストールされたルールは、別の独立したMTAには自動的に反映されません。
  • ルールの意図:具体的で繰り返し可能なメッセージシグナルを選択してください。「無料」や「オファー」といった漠然とした単語に、追加の証拠なしに一致するルールは避けてください。
  • ロールバック:変更を加える前に、既存のファイルを記録してください。新しいルールには、分かりやすいファイル名を使用し、既存の.cfファイルを誤って上書きしないようにしてください。

これらはサーバーレベルのカスタマイズであり、メールボックスフィルタではありません。設定されたスキャナを通過するすべてのユーザーが影響を受ける可能性があります。

簡単なルールを書くにはどうすればいいですか?

headerSpamAssassin は、、、、などのルールタイプをサポートしています。ヘッダールールはbody、特徴的な件名またはヘッダー値がシグナルとなる場合に便利です。ボディルールはテキストメッセージの内容を検索します。SpamAssassin のドキュメントによると、通常のボディルールはデコードされたテキストに対して動作し、デフォルトでは件名をボディの一部として扱います。条件がリンクに関するものである場合は、URI ルールを使用してください。urimeta

以下は、テストメッセージの件名に固有のフレーズが含まれている場合にわずかなスコアを加算する、意図的に限定された例です。このフレーズは、ご自身のメールで検証済みのシグナルに置き換えてください。この例は一般的なスパム署名ではありません。

header LOCAL_SUBJECT_REVIEW Subject =~ /\bExample Vendor Alert\b/i
score LOCAL_SUBJECT_REVIEW 2.0
describe LOCAL_SUBJECT_REVIEW Subject contains the review phrase

シンボル名は一意である必要があり、文字、数字、アンダースコアを使用してください。このheader行は一致条件を定義し、score一致した場合に加算されるポイントを制御し、describeSpamAssassinのレポートに説明を記載します。説明は簡潔にし、他の管理者にもテストの目的が明確にわかるようにしてください。

SpamAssassinの設定リファレンスには、ヘッダーと本文のルール構文、スコアリングの動作、正規表現の詳細が記載されています。インストールされているZimbra SpamAssassinのバージョンは、最新のApacheドキュメントと異なる場合があるため、ローカル環境でサポートが確認できるまでは、新しいルール機能に依存しないようにしてください。

Zimbra 8.5以降にルールをインストールするにはどうすればよいですか?

  1. Zimbraサービスアカウントに切り替え可能な管理者アカウントを使用してMTAに接続してください。
  2. インストールディレクトリとローカルルールディレクトリを確認してください。例:
    su - zimbra
    ls -ld /opt/zimbra/data/spamassassin/localrules
  3. 既に存在しないファイル名を選択してください。たとえば、 などですlocal_subject_review.cf。まず確認してください。
    ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
    既に存在する場合は、それを調べて、上書きせずに別の名前を選択してください。
  4. お使いのエディタでユーザーとして新しいファイルを作成しzimbra、上記の3行のルールを追加してください。
    vi /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
  5. ファイルを保存し、所有者と内容を確認してください。
    ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
    cat /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf

ディレクトリが存在しない場合は、処理を停止し、Zimbraのリリースバージョンとドキュメントに記載されている構成レイアウトを確認してください。推測に基づいて類似の名前のディレクトリを作成しないでください。SpamAssassinが必ずしもそれを読み込むとは限りません。

どのように検証して再読み込みすればよいですか?

再読み込みする前に、SpamAssassin の構文チェックを実行してください。Apache のコマンドラインドキュメントでは、--lintルールセットと構成の構文チェックとして説明されています。Zimbra ユーザーとして、spamassassin --lintZimbra 環境で実行可能ファイルが存在する場合は、そのコマンドを実行してください。コマンドが見つからない場合、または Zimbra の構成が読み込まれない場合は、バンドルされている実行可能ファイルを見つけて、無関係なシステムインストールに対してテストするのではなく、リリースに適した構成パスを使用してください。クリーンな lint 結果は構文チェックであり、パターンが意図したメッセージと一致することを証明するものではありません。

SpamAssassinのコマンドリファレンスにlintオプションの説明があります。検証が成功したら、zimbra変更されたルールをスキャナーに読み込むために、ユーザーとしてAmavisを再起動してください。

zmamavisdctl restart

Zimbraのカスタムルールの例では、このサービスコマンドを使用しています。複数のMTAをインストールしている場合は、該当するすべてのスキャナでファイルのデプロイとサービスの再起動を繰り返してください。お使いのリリースで異なるサービスコマンドを使用している場合は、そのリリースのZimbraドキュメントを参照してください。

そのルールが機能しているかどうかは、どうすればわかりますか?

ユーザーが使用するのと同じ受信ルートを通して、制御されたテストメッセージを送信します。1 つのメッセージにはルールで指定した件名フレーズをそのまま使用し、次に同様のメッセージを件名フレーズなしで送信します。配信されたメッセージの元のヘッダー、特に とスコア貢献度を調べますX-Spam-Status。2LOCAL_SUBJECT_REVIEWつのメッセージを比較し、Zimbra がそれぞれのメッセージをどこに配信したかを確認します。

ルールが意図したテストにのみ適用され、合計スコアが期待どおりの処理結果をもたらす場合、この結果は役立ちます。テスト名が表示されない場合は、メッセージがこのMTAを通過したこと、ファイル名がで終わっていること.cf、ファイルが正しいlocalrulesディレクトリにあること、スキャナが正常に再起動されたこと、サンプルが正規表現に実際に一致していることを確認してください。メールクライアントは通常の表示で診断ヘッダーを非表示にしている可能性があるため、メッセージソースまたは完全なヘッダーを開いてください。

ルールが誤検出を引き起こしたり、一致しなかったりした場合はどうなるでしょうか?

  • 正当なメッセージが多数一致しすぎている場合:スコアを下げるか、正規表現の範囲を狭めてください。スコアを上げる前に、必要なメールと不要なメールの両方の例でテストしてください。
  • 一致するメッセージが見つかりません。正確なヘッダー名、大文字小文字を区別しない正規表現、エスケープ処理、ファイル拡張子、パス、およびサービス再起動を確認してください。URL の場合は、uri本文ルールを前提とするのではなく、ルールを評価することが最適なテスト方法です。
  • Lintでエラーが報告されました。指定された行を修正し、再起動する前にLintを再実行してください。不正なカスタムルールは、設定の問題を引き起こしたり、想定されるテストの読み込みを妨げたりする可能性があります。
  • ルールは表示されるものの、メールが受信トレイに残る場合:追加されたポイントによって合計スコアが設定したスパムしきい値を超えない限り、これは正常な動作です。合計X-Spam-Statusスコアとローカル処理しきい値を確認してください。

ロールバックするには、追加したカスタムファイルのみを削除し、Amavisを再起動してください。既存のファイルを変更した場合は、保存済みのコピーを復元し、再読み込みする前に設定を検証してください。ルールの目的、スコア、テストメッセージ、ロールバックファイル名などの変更履歴を簡潔に記録しておくと、将来の管理者が再評価する際に役立ちます。

バージョンと動作の制限

Zimbraが公開しているパスに関するガイダンスは、ZCS 8.5以降を対象としており、それ以前のバージョンについては異なる構成で説明されています。バンドルされているSpamAssassinの正確なバージョンとしきい値は、インストール環境によって異なります。有効なルールであっても、メッセージ形式、リレー、メールフローパスによって動作が異なる場合があります。インストール済みのリリースのドキュメントを確認し、制御されたルートでテストを行い、ルールテキストだけでなく、メッセージヘッダーと実際の誤検知サンプルに基づいて結果を判断してください。

コメントを残す

ノジマオンラインの個人情報漏えい:対象情報と利用者が確認すべき対策

ノジマオンラインの個人情報漏えい:対象情報と利用者が確認すべき対策

ノジマは2026年11月2日、会員管理システムへの不正アクセスと約700万件の情報漏えいを公表。対象サイト、暗号化パスワードとカード情報の違い、サービス休止状況、利用者の対策を11月3日時点で整理します。

ネットワーク上のデバイスを見つけるためのベスト10ピングスキャンツール

ネットワーク上のデバイスを見つけるためのベスト10ピングスキャンツール

迅速なLAN検出、クロスプラットフォームスキャン、IPアドレス管理のための10種類のpingスイープツールを比較します。スイープで何がわかるのか、何がわからないのかを理解しましょう。

パフォーマンス追跡に最適なネットワーク管理ツール6選

パフォーマンス追跡に最適なネットワーク管理ツール6選

SNMP対応範囲、マッピング、アラート、導入モデル、コストのトレードオフなど、パフォーマンス監視のための6つのネットワーク管理ツールを比較します。

Ping Monitor:ネットワーク可用性を確認するための7つの無料オープンソースツール

Ping Monitor:ネットワーク可用性を確認するための7つの無料オープンソースツール

フルネットワークスイートからレイテンシに特化したプローブまで、7つの無料オープンソースpingモニターを比較し、可用性、パケット損失、履歴など、ニーズに最適なものを選びましょう。

Windows、iOS、Android向けのおすすめWi-Fiアナライザー

Windows、iOS、Android向けのおすすめWi-Fiアナライザー

Windows、iPhone、Android向けのWi-Fiアナライザーのおすすめを比較検討しましょう。チャネルの混雑状況、信号カバレッジ、ヒートマップ、ネットワークのトラブルシューティングツールなどが含まれています。

安全なファイル転送のための最適なSFTPサーバーソフトウェア

安全なファイル転送のための最適なSFTPサーバーソフトウェア

WindowsおよびLinux向けの信頼性の高いSFTPサーバーソフトウェア(OpenSSH、Bitvise、SolarWinds、SFTPGoなど)を比較検討しましょう。セキュリティとファイル転送のニーズに最適なソフトウェアを見つけてください。

デバイスとIPアドレスを検出するためのベストネットワークスキャナーツール10選

デバイスとIPアドレスを検出するためのベストネットワークスキャナーツール10選

迅速なデバイス検出、クロスプラットフォームIPスキャン、エンタープライズIPAMを実現するネットワークスキャナーツールを比較し、それぞれのオプションをネットワークに合わせて選択するためのガイダンスを提供します。

ネットワークチーム向けのおすすめIPアドレス管理ツール7選

ネットワークチーム向けのおすすめIPアドレス管理ツール7選

サブネット検出、DNSとDHCPの連携、ネットワークインベントリ、オープンソースIPAMに対応した7つのIPアドレス管理ツールを比較します。

ネットワーク監視のベストプラクティス:追跡すべき項目と使用すべきツール

ネットワーク監視のベストプラクティス:追跡すべき項目と使用すべきツール

明確なデバイスカバレッジ、有用なパフォーマンス指標、実用的なアラート、そしてSolarWinds NPM、PRTG、OpManagerの比較機能を備えた、実用的なネットワーク監視システムを構築します。

デバイス、ホスト、トラフィックを監視するためのLinuxネットワーク監視ツール6選

デバイス、ホスト、トラフィックを監視するためのLinuxネットワーク監視ツール6選

SNMPデバイス検出、インターフェースグラフ、ホストメトリック、サービスチェック、トラフィックフローに関する6つのLinuxネットワーク監視ツールを比較します。