メールサーバを運用するからにはログを監視して正常に動作していることや不正アクセスの兆候がないか確認する必要があります。
この時役に立つのがログを解析して結果を教えてくれるpflogsummツールです。
いつもお世話になっている、Centosで自宅サーバさんの記事を参考に導入します。
1.インストール
1 |
yum -y install postfix-pflogsumm |
2.自動実行スクリプトの作成
vi pflogsumm_report
以下のスクリプトファイルを新規に作成しpflogsumm_reportとして保存します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/bin/bash MAILLOG=`mktemp` for log in `ls /var/log/maillog-*|sort` do cat $log >> $MAILLOG done # /var/log/maillog-*を昇順にソートして$MAILLOG変数に代入 cat /var/log/maillog >> $MAILLOG REPORT=`mktemp` # pflogsumm コマンドで解析した結果を$REPORTに格納する pflogsumm --problems_first --verbose_msg_detail --mailq -d yesterday $MAILLOG > $REPORT # $REPORTを本文に、最初の1行を件名に宛先はpostmasterを指定してメールを送信する。 cat $REPORT | mail -s "`head -1 $REPORT` in `uname -n`" postmaster # 不要となった$REPORTファイルを削除する rm -f $MAILLOG $REPORT |
3.自動実行の設定
pflogsumm_reportを実行できるように権限を与えます。
1 2 3 4 5 6 |
chmod 700 pflogsumm_report # 実行してみます ./pflogsumm_report # メール解析ログがPostmaster宛に送られて来れば成功です。 # pflogsumm_reportが日次で自動実行されるように保存ディレクトリを変更します。 mv pflogsumm_report /etc/cron.daily/ |
毎日「Postfix log summaries for Jan,15」で始まるレポートがPostmaster宛に送られて来れば成功です。
このようなレポートが送られてきます。
Postfix log summaries for Jan 12
Grand Totals
————
messages
18 received
18 delivered
0 forwarded
0 deferred
0 bounced
0 rejected (0%)
0 reject warnings
0 held
0 discarded (0%)
289455 bytes received
289455 bytes delivered
7 senders
5 sending hosts/domains
5 recipients
1 recipient hosts/domains
message deferral detail: none
message bounce detail (by relay): none
message reject detail: none
message reject warning detail: none
message hold detail: none
message discard detail: none
smtp delivery failures: none
Warnings
——–
smtpd (total: 1)
以下省略