milterを使った効果的な迷惑メール対策 - milter manager

FreeBSDへインストール(任意)

FreeBSDへインストール(任意) — FreeBSDへのmilter manager関連ソフトウェアのインストール方法

このドキュメントについて

FreeBSDに特化したmilter manager関連ソフトウェアのインストール 方法について説明します。milter manager本体のインストール情報 は FreeBSDへインストール 、 FreeBSDに依存しない一般的なインストール情報は インストール を見てください。

milter-manager-log-analyzerのインストール

milter-manager-log-analyzerはmilter managerのログを解析して 統計情報をグラフ化します。

milter-manager-log-analyzerが出力するグラフは同じホストにWeb サーバを設置して閲覧する方法と Munin を利用して別ホス トで閲覧する方法があります。すでにMuninを導入していたり、メー ルサーバとは別にシステム監視用のサーバがある場合はMuninを利用 するとよいでしょう。そうでない場合は同じホストにWebサーバを設 置するのがよいでしょう [6]

まずは、milter-manager-log-analyzerのインストール方法を説明 します。次に、グラフを閲覧する環境を説明します。

グラフを閲覧する環境の設定方法は、まず、同じホストにWebサーバ を設置する方法を説明し、次に別ホストにあるMuninから閲覧する方 法を説明します。

それでは、まず、milter-manager-log-analyzerのインストール方 法です。

パッケージのインストール

グラフを生成するためにRRDtoolを使います。RRDtoolのRubyインター フェイスもインストールします。

注: RRDtool 1.3.8のRubyバインディングにはバグがあるので、 1.3.8を使うときは"-M'WITH_RUBY_MODULE=yes'"オプションは指定 しないでください。

% sudo /usr/local/sbin/portupgrade -NRr -m 'WITH_RUBY_MODULE=true' databases/rrdtool

milter-manager-log-analyzerの設定

milter-manager-log-analyzerはcronで定期的にログを解析し、グ ラフを生成します。そのためのcronの設定をするファイルが /usr/local/etc/milter-manager/cron.d/freebsd/milter-manager-log にインストールされています。このファイルを使うと、5分毎にロ グを解析し、~milter-manager/public_html/log/以下にグラフを生 成します。

% sudo -u milter-manager -H crontab /usr/local/etc/milter-manager/cron.d/freebsd/milter-manager-log

milter-manager-log-analyzerは5分おきに実行されているかどうか は、/var/log/cronを見ると確認できます。

これで、milter-manager-log-analyzerのインストールが完了した ので、milter-manager-log-analyzerが生成するグラフを閲覧する ための環境を設定します。まずは、同じホストにWebサーバを設置 する方法です。


同じホストにWebサーバを設置する場合

パッケージのインストール

WebサーバとしてApacheを使います。ここでは、Apache 2.2系列 (www/apache22)をインストールします。

% sudo /usr/local/sbin/portupgrade -NRr www/apache22

Apacheの設定

グラフは~milter-manager/public_html/log/以下に生成しているの で、http://localhost/~milter-manager/log/で閲覧できるように します。

Apacheで各ユーザ毎にファイルを公開できるようにします。 /usr/local/etc/apache22/httpd.confを以下のように編集します。

編集前:

# User home directories
#Include etc/apache22/extra/httpd-userdir.conf

編集後:

# User home directories
Include etc/apache22/extra/httpd-userdir.conf

設定を再読み込みします。

% sudo /usr/local/etc/rc.d/apache22 reload

これでhttp://localhost/~milter-manager/log/でグラフを閲覧でき るようになります。


別ホストにあるMuninを利用する方法

次は、別ホストにあるMunin上でグラフを閲覧する方法です。

パッケージのインストール

Muninサーバに統計情報を送るmunin-nodeをインストールします。

% sudo /usr/local/sbin/portupgrade -NRr munin-node

munin-nodeの設定

milter-manager-log-analyzerが収集した統計情報をMuninに提供す るMuninプラグインをインストールします。プラグインは /usr/local/share/munin/plugins/以下にインストールされている ので、まずは、それらをmunin-nodeのプラグインディレクトリにイ ンストールします。

% sudo ln -s /usr/local/share/milter-manager/munin/plugins/* /usr/local/share/munin/plugins

これらのプラグインの設定を書いた /usr/local/etc/munin/plugin-conf.d/milter-manager.confを作成 します。

/usr/local/etc/munin/plugin-conf.d/milter-manager.conf:

[milter_manager_*]
  user milter-manager
  env.PATH /bin:/usr/local/bin:/usr/bin
  env.logdir /home/milter-manager/public_html/log
  env.pidfile /var/run/milter-manager/milter-manager.pid

最後にインストールしたプラグインのうち必要なものだけ有効にし ます。

% sudo /usr/local/sbin/munin-node-configure --shell | grep -e '\(milter_manager_\|postfix_processes\|sendmail_processes\)' | sudo sh

プラグインのインストールはこれで完了です。

注: Muninに統計情報を提供する場合はmilter manager 1.5.0以 降のmilter-manager-log-analyzerが生成したデータベースを使う 必要があります。1.5.0より前のバージョンからアップデートして いる場合は~milter-manager/public_html/log/以下を削除してくだ さい。削除すると5分後に新しく統計情報データベースが作成され ます。

次に、Muninサーバからの接続を許可します。Muninサーバが 192.168.1.254の場合は以下の行を /usr/local/etc/munin/munin-node.confに追加します。

/usr/local/etc/munin/munin-node.conf:

allow ^192\.168\.1\.254$

munin-nodeを再起動し設定を反映させます。

% sudo /usr/local/etc/rc.d/munin-node.sh restart

Muninサーバの設定

ここからは監視用サーバでの設定です。監視用サーバもFreeBSDで動 いているとします。

まず、muninとApacheをインストールします。

monitoring-server% sudo /usr/local/sbin/portupgrade -NRr munin-main www/apache22

muninの監視対象にmunin-nodeが動いているメールサーバを追加しま す。メールサーバが以下の場合の /usr/local/etc/munin/munin.confへ追加する設定項目を示します。

ホスト名

mail.example.com

IPアドレス

192.168.1.2

このメールサーバを登録するには、以下の内容を /usr/local/etc/munin/munin.confに追記します。

/usr/local/etc/munin/munin.conf:

[mail.example.com]
    address 192.168.1.2
    use_node_name yes

Muninは/usr/local/www/munin/以下にグラフを生成するので、それ をhttp://monitoring-server/munin/で閲覧できるようにします。

% sudo ln -s /usr/local/www/munin/ /usr/local/www/apache22/data/

5分後にはhttp://monitoring-server/munin/でグラフを閲覧できる ようになります。

まとめ

milter-manager-log-analyzerを利用することによりmilterを導入し た効果を視覚的に確認することができます。MTAとしてPostfixを使 用しているのであれば、 Mailgraph のグラフと 見くらべてmilter導入の効果を確認することができます。milterを 試験的に導入している場合などに有効に活用できます。



[6] 同じホストでMuninを動かす場合もWebサー バが必要になります。