SpamAssassinの基本設定
設定ファイル
設定ファイルの場所
SpamAssassinの標準的な設定ファイル用のディレクトリは/etc/mail/spamassassinです。 このディレクトリにある拡張子がcfのファイルが設定ファイルで、拡張子がpreのファイルはプラグインの制御ファイルです。 local.cfというファイルが標準で配置されています。
また、設定ファイル中にincludeオプションを使うことで別の設定ファイルを読み込ませることもできます。
筆者のお薦めの配置方法
設定やテストのルールをすべてlocal.cfに記述すると管理しにくくなります。そのため、次の表のようにsiteディレクトリを作成し、その中にルールファイルを用途ごとやプラグインごとに作成します。
| 設定ファイル | 説明 |
|---|---|
| /etc/mail/spamassassin/local.cf | 設定オプションのみのファイル |
| /etc/mail/spamassassin/site.cf | includeオプションのみのファイル |
| /etc/mail/spamassassin/site/*.cf | site.cfにより読み込まれるファイル |
さらにsite.cfファイルを作成し、次のようにincludeオプションでそれらのファイルを指定します。
include site/head_tests.cfinclude site/scores.cfinclude site/relaycountry.cflocal.cfには設定オプションのみを記述します。
必要最小限の設定
SpamAssassinには多くの設定オプションがあります。しかし、以下に述べる必要最小限の設定をサイトのルールファイルlocal.cfに記述すれば問題なく使えます。この後はお好みの設定を追加してください。
スコアオプション
スパムと判断するために必要なスコアを”required_score”に設定します。デフォルトの設定値は5.0になっていますが、運用当初は次の設定のように大きめに設定した方がよいでしょう。
required_score 8.0ベイズフィルタの効果が出始めたら、required_scoreの値を6.0〜7.0に近づけるように少しずつ下げてください。 詳しくは「スコア調整」を参照してください。
メールの書き換え
デフォルトではスパムと判断されたメッセージはレポートメッセージに加工されてしまいます。これを防ぎたいときには次のように設定します。
report_safe 0spamと判定されたときにヘッダを書き換えたいときには次のように設定します。
rewrite_header Subject *****SPAM*****日本語対応
次のように設定します。
normalize_charset 1ネットワークの設定
ネットワークテストで正しく判断するためには、信頼できるネットワークを設定する必要があります。
trusted_networks 192.0.2.0/24internal_networks 192.0.2.0/24msa_networks 192.0.2.0/24なお、127.0.0.1や::1は暗黙的に設定されるため、設定を記述する必要はありません。
ベイズ学習オプション
ベイズのデータベースはデフォルトではユーザーごとに作られますが、MTAと連携する場合やサイト共通のベイズのデータベースを利用したい場合は次のように設定します。
bayes_path /var/spool/spamassassin/bayesbayes_file_mode 0666ルールの修正
日本語を扱う場合には、デフォルトのルールの設定では少し問題が生じます。そのため、以下のようなルールを再定義する必要があります。
# 日本人からのメールを受け取る場合meta FROM_EXCESS_BASE64 0# 本文の文字エンコーディングがUTF-8のメールを許容する場合meta MIME_BASE64_TEXT 0# スペースを多用する署名を許容する場合meta TVD_SPACE_RATIO 0MIMEエンコードしていないISO-2022-JPのSubjectを許容する場合はさらに次のように設定してください。
meta SUBJ_ILLEGAL_CHARS 0meta SUBJECT_NEEDS_ENCODING 0プラグインの設定
プラグインの制御
プラグインをロードするためにはloadpluginオプションを使い、次の書式で記述します。 標準のプラグインでない場合は2行目のようにパスを指定します。
loadplugin プラグインモジュール名loadplugin プラグインモジュール名 /パス/モジュール.pmSpamAssassinに同梱されているプラグインの制御ファイルは標準では/etc/mail/spamassassinにインストールされます。制御ファイルのファイル名はプラグインが導入されたバージョンごとに異なり、次のようになっています。
| ファイル | 説明 |
|---|---|
| init.pre | 3.1.0より前に導入されたプラグイン |
| v310.pre | 3.1.0で導入されたプラグイン |
| v312.pre | 3.1.2で導入されたプラグイン |
| v320.pre | 3.2.0で導入されたプラグイン |
| v330.pre | 3.3.0で導入されたプラグイン |
| v340.pre | 3.4.0で導入されたプラグイン |
それぞれのファイルで次の例のようにプラグイン毎にloadpluginオプションが記述されています。
loadplugin Mail::SpamAssassin::Plugin::TextCatプラグインによってはコメントアウトされていて無効になっているものもあります。有効にする場合は行頭の#を削除してください。
設定ファイルの検証
設定ファイル等を変更した場合は、必ず次のコマンドを実行してください。
$ spamassassin --lint何も出力がなければ問題はないです。設定ファイルの記述に間違いがある場合はエラーが出ます。