設定 · 3 min read · Nov 14, 2025
Postfix スパムフィルターの設定 - ページ 4
3 Pyzor、Razor、DCC、SpamAssassin および MailScanner の設定
3.1 Pyzor の設定
まず、pyzor の権限を変更する必要があります:
chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzord次のコマンドは、異なるバージョンの python を使用している場合は変更する必要があります。pyzor を探してみてください。
chmod -R a+rX /usr/lib/site-python/pyzorここでは、Pyzor サーバーの IP アドレスを Pyzor に提供します。これにより、ユーザーのホームディレクトリに .pyzor ディレクトリが作成され、その中にサーバーの IP アドレスが servers ファイルに配置されます。その後、接続をテストします。ファイアウォールの背後にいる場合は、サーバーへのポート 24441/udp を開いてください。その際、DCC 用に 6277/udp、Razor 用に 2703/tcp、SpamAssassin 用に 783/tcp も開いてください:
pyzor ping通常、pyzor ping からタイムアウトが返されるので、心配しないでください。後で再度テストします。
将来的にサーバーの IP アドレスが変更された場合は、このセクションを再度実行する必要があります。現在の Pyzor サーバーのアドレスはここで見つけることができます http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x。
Pyzor が機能している場合は、「Pyzor: got response:」と表示されます。Pyzor は、コンピュータが DNS サーバーにクエリを送信するのとほぼ同じ方法で Pyzor サーバーにクエリを送信します。唯一の実際的な違いは、使用されるポート番号です。Pyzor が機能していない場合は、ファイアウォールでポートを開く必要があるか、Pyzor サーバーがビジー状態です。
3.2 Razor の設定
ルートホームディレクトリに default.razor 設定を作成します:
cd
rm /etc/razor/razor-agent.conf
razor-admin -create
razor-admin -createRazor v2 では、レポーターが登録される必要があります。そうすることで、彼らの評判が時間とともに計算され、取り消しメカニズムに参加できるようになります。登録は razor-admin -register で行います。razor-admin -register を root として呼び出すと、ノミネーションサーバーとの登録が交渉され、/root/.razor/identity-username にアイデンティティ情報が書き込まれます。以下のいずれかの方法で手動で呼び出します:
- ユーザー foo とパスワード s1kret (foo と s1kret は例です) を登録する:
razor-admin -register -user=foo -pass=s1kr3t- メールアドレスで登録し、パスワードを割り当てる:
razor-admin -register [email protected]- 両方 (ランダムな) ユーザー名とパスワードを割り当てる:
razor-admin -register私は通常、3 番を実行します。/root/.razor/razor-agent.conf に次の変更を加えます:
vi /root/.razor/razor-agent.confdebuglevel = 3 を debuglevel = 0 (はい、ゼロです。「o」ではありません) に変更します。これにより、Razor がデバッグ情報でドライブを埋めるのを防ぎます。また、これらの設定を Postfix ユーザーが読み取れる場所に移動するため、ファイルの最後に razorhome 行を追加します。完了すると、これらの 2 行は次のようになります:
debuglevel = 0
razorhome = /var/lib/MailScanner/.razor/後で Razor をテストします。man razor-agent.conf または http://razor.sourceforge.net/docs/razor-agent.conf.php にアクセスして Razor に関する詳細情報を確認してください。
3.3 DCC のセットアップと設定
DCC をインストールします:
apt-get install dcc-clientDCC サーバーを実行していないため、自分自身をチェックする時間を無駄にする必要はありません: 大規模な組織 (1 日あたり 100,000 メッセージ) の場合は、自分のサーバーを実行することを検討してください。
インストールが完了したら、次を実行します:
cdcc "delete 127.0.0.1"
cdcc "delete 127.0.0.1 Greylist"インストールをテストします:
cdcc infoサーバーから ‘requests ok’ を受け取るはずです。
4 MailScanner、ClamAV および SpamAssassin の設定
4.1 MailScanner と ClamAV
Postfix を停止します:
postfix stopパッケージをインストールします:
apt-get install mailscanner clamavClamAV ウイルス定義を更新します:
freshclamMailScanner から始めましょう。リポジトリからインストールされた MailScanner は非常に古いバージョンなので、これを削除してソースから MailScanner パッケージをインストールします。
http://www.mailscanner.info/downloads.html から tarball をダウンロードします… この執筆時点ではバージョン 4.56.8-1 で、tarball リンクは http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz です。その後、install.sh スクリプトを使用して MailScanner をインストールします。
cd
apt-get remove mailscanner
wget http://www.mailscanner.info/files/4/tar/MailScanner-install-4.56.8-1.tar.gz
tar zxvf MailScanner-install-4.56.8-1.tar.gz
cd MailScanner-install-4.56.8
./install.sh今は cron に追加する必要がある cron 行に関するメッセージを無視してください。
それが完了したら、SpamAssassin 用のディレクトリをスプールに作成し、Postfix にその権限を与える必要があります。root として sa-learn –force を実行すると、これらのディレクトリに保存されている bayes データベースが root:root に変更され、spamassassin が db を参照する際にエラーが発生します。mail.log に注意を払い、権限を元に戻すことを忘れないでください。また、MailScanner のデフォルト設定を無効にします:
mkdir /var/spool/MailScanner/spamassassin
mv /etc/MailScanner /etc/MailScanner.distMailScanner.conf ファイルのバックアップ:
cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.backMailScanner.conf を編集:
vi /opt/MailScanner/etc/MailScanner.confMailScanner.conf で次のパラメータを変更します:
%org-name% = YOURDOMAIN-COM
%org-long-name% = Your Company Long Name INC
%web-site% = www.yourdomain.com
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamav
Spam Subject Text = [SPAM]
Send Notices = no
Spam List = ORDB-RBL SBL+XBL
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver striphtml
High Scoring Spam Actions = delete
Rebuild Bayes Every = 86400
Wait During Bayes Rebuild = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin最初の 9 行はすべてが機能するために基本的に必要で、残りは推奨されます。MailScanner.conf はよく文書化されているので、変更した他のオプションについて質問がある場合は、そこにあるノートをお読みください。このファイルを上から下まで見てみてください。
また、MailScanner.conf ファイルの「危険または潜在的に攻撃的なコンテンツの削除/ログ記録」セクションも確認してください。クライアントが ‘{Disarmed}’ メッセージについて不満を言っていたため、ほとんどを無効にする必要がありました。
4.2 SpamAssassin
まず、デフォルトの SpamAssassin 設定ファイルを無効にする必要があります:
mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.disabled次に、MailScanner の SpamAssassin 設定ファイルをバックアップしてから編集します:
cp /opt/MailScanner/etc/spam.assassin.prefs.conf /opt/MailScanner/etc/spam.assassin.prefs.conf.backvi /opt/MailScanner/etc/spam.assassin.prefs.confspam.assassin.prefs.conf の先頭に次の 2 行を追加します:
pyzor_options --homedir /var/lib/MailScanner/
razor_config /var/lib/MailScanner/.razor/razor-agent.confSpamAssassin が Bayes データベースを探す場所を変更し、デフォルトの bayes_path をコメントアウトするか、適宜変更します:
#bayes_path /var/lib/MailScanner/bayes
bayes_path /var/spool/MailScanner/spamassassin/bayesこれらの行を探して、適宜変更します:
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamCheck
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-SpamScore
bayes_ignore_header X-YOURDOMAIN-COM-MailScanner-Information“YOURDOMAIN-COM” は、MailScanner.conf ファイルの “%org-name%” に使用したものに置き換えてください。「X-」はそのままにしておいてください。
“bayes_auto_expire 0” がコメントアウトされていないことを確認してください:
bayes_auto_expire 0Razor と DCC を有効にするために SpamAssassin v310.pre を編集します
vi /etc/spamassassin/v310.pre次の行のコメントを外します:
loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Razor25 すべてをまとめる
Pyzor と Razor の設定を Postfix ユーザーが読み取れる場所にコピーします:
cp -R /root/.pyzor /var/lib/MailScanner
cp -R /root/.razor /var/lib/MailScannerすべてがそこにあるので、正しい権限を設定します:
chown -R postfix.postfix /var/spool/MailScanner/
chown -R postfix.postfix /var/lib/MailScanner/SpamAssassin が正常に動作しているか確認します:
su postfix -p -c 'spamassassin -x -D -C /opt/MailScanner/etc/spam.assassin.prefs.conf --lint'DCC、Pyzor、Razor の読み込みプラグインとエラーが表示されないことを確認してください。
注意: sa-learn を実行する場合は、次のように実行することを忘れないでください。su postfix -p -c ‘sa-learn –sync –force-expire -C /opt/MailScanner/etc/spam.assassin.prefs.conf’ そうしないと、SpamAssassin が bayes データベースを再構築する際にそれを読み取れなくなります。
すべてが順調に見える場合は、続行してください。そうでない場合は、トラブルシューティングを行ってから続行してください。
この部分を終了するために、Mailscanner をクリーンアップ/更新/実行する cron ジョブを追加する必要があります。MailScanner インストールスクリプトが終了した後にこのメッセージを見たかもしれません。今これを行う理由は、SpamAssassin の設定を完了するまで MailScanner を開始したくないからです。
crontab -e次の行を追加します:
37 5 * * * /opt/MailScanner/bin/update_phishing_sites
58 23 * * * /opt/MailScanner/bin/clean.quarantine
42 * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscannerMailScanner が再起動時に開始されるように rc.local に行を追加する必要があります:
vi /etc/rc.local「Exit 0」行の前に次を追加します:
/opt/MailScanner/bin/check_mailscanner「check_mailscanner」ファイルを bin ディレクトリにリンクしておきましょう。これにより、MailScanner を再起動する必要があるときにいつでも実行できます:
cd /usr/bin
ln -s /opt/MailScanner/bin/check_mailscanner check_mailscannerクリーンなログを確認するために、再起動します:
rm /var/log/mail.log
reboot再起動時に MailScanner の起動時に Perl Sys/Hostname/Long.pm に関するエラーが表示された場合は、次のようにインストールする必要があります:
perl -MCPAN -e shell今すぐ設定するように求められた場合は、知っている場合を除いて「いいえ」と答えてください。次のコマンドを実行してモジュールをインストールします:
install Sys::Hostname::Longそれが完了したら、「quit」と入力してコンソールに戻ります。再起動するか、「check_mailscanner」スクリプトで MailScanner を起動します。
この時点で、完全に機能するスパムフィルターがあるはずです。tail -f /var/log/mail.log を確認してください。エラーはほとんどないはずです。
この README は今後の使用に役立つはずです。スパムフィルターにコピーして、すぐに参照できるようにしてください。
POSTFIX, UBUNTU, MAILSCANNER README
************************************************
ADD DOMAIN
**********************************************
- '/etc/postfix/relay_recipients'、'relay_domains'、'transport' を編集します。
- 'postmap /etc/postfix/relay_recipients' を実行します。編集後は 'relay_domains' と 'transport' も同様です。
- 'postfix reload' で Postfix が新しい db ファイルを読み取ります。
- ドメインにユーザーを追加するには、'relay_recipients' を編集し、'postmap' します。
**********************************************
CONTROLLING BLIST WLIST
**********************************************
- /etc/postfix/sender_access を編集します。
- 'postmap /etc/postfix/sender_access' を実行します。
- 'postfix reload' を実行します。
**********************************************
OTHER CONFIG FILES
**********************************************
- MailScanner 設定を編集するには、'/opt/MailScanner/etc/MailScanner.conf' を編集します。
- SpamAssassin 設定を編集するには、'/opt/MailScanner/etc/spam.assassin.prefs.conf' を編集します。
- ClamAV 設定を編集するには、'/etc/clamav/clamd.conf' を編集します。
**********************************************
MISC
************************************************
- jailroot でファイルが一致しないという Postfix エラーが表示された場合は 'LINUX2' を実行します。
- Postfix が jailroot と同期しているか確認するには 'postfix check' を実行します。
- そのファイルに変更があった場合は、/etc/postfix/aliases データベースを更新するために newaliases を実行します。
- キューを確認するには 'mailq' と 'qshape' を実行します。
- MailScanner を再起動するには 'check_mailscanner' を実行します。新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。