ラズパイ3のセットアップ(7) (e) メールの設定とログの監視

監視に定番の logwatch を導入するにもメールの発信ができなければ意味がないので、メール機能を設定しようと思います。単独で機能するメールサーバーではなくて私が普段利用している @Nifty のメールサーバーへのリレーで外部のメール先に送信するような設定にしたいと思います。
話がそれますが、昨日までの設定で、サーバー間で接続認証してデータ転送できる環境になっています。過去には公開Webサーバーとして使用していた家屋内の共有サーバーですが、今でもバリバリの共有サーバーとして稼働しています。何が問題かと言うとカーネルバージョンが古くてセキュリティアップデートや動作ソフトの新たな変更もできません。最新の Linux を導入するには共有データを全て別に移して作業する必要があります。
お互いのサーバー間(現役共有サーバーとセットアップ中のラズパイ3)で接続できるように公開鍵を設定して、rsync コマンドで全データを転送させています。現時点ですでに100GB超が転送されて継続中になっています。
話を戻しますが、サラリと簡単に言ってますがメールの設定は良くわからなくて得意ではありません。今公開しているこのWebサーバー自体の設定がまともに機能しているようなので、ほとんど丸写しで設定しようと思います。昔は適当な設定でも @Nifty 経由でメール転送できたのですが、悪い人達のツールにされて、今では送信時に認証が導入されてしまった【Outbound port 25 Blocking (OP25B) 対策】ので、そのプロセスの定義が必要になってしまっています。
後で自分で見直した時にも参考になるようにリンクしておきます。
OP25B問題と対策を図で説明してくれてるサイト
それと、変更箇所の適切な説明をしているサイト

それではメール設定の作業を始めましょう。 postfix だけを指定してインストールしようとしたら多くの提案があったので、その中から思い付きで関連しそうな予想のものを追加しておきます。

$ sudo apt install postfix sasl2-bin postfix-doc openssl-blacklist

インストール途中で、postfix をどのようにインストールするのか質問されるが、結果の違いが良くわかっていないのでインターネットを選択しました。動作実績のある設定をコピーしてカスタマイズするので特に問題はありません。
設定が必要なファイルは、master.cf と main.cf 、それと @Nifty にリレイするのでパスワードが必要になります。
パスワードのファイル名は任意ですが、後でわかる名前にしておきましょう。ここでは nifty.auth としておきます。

$ sudo vi /etc/postfix/nifty.auth
[smtp.nifty.com]:587 userid:password

その後で、hash化されたDBに変換します。

$ sudo postmap /etc/postfix/nifty.auth

Screenshot from 2016-08-31 00-03-12
適切な設定なのかはわかりませんが、次に示すのが main.cf と master.cf の一応動作している設定です。
main.cfmaster.cf
続いて mail のコマンド操作ができるようにして、テストメールを送信してみます。作業を root ユーザーになってから進めようと思います。

$ sudo su -
# apt install mailutils
# vi /etc/aliasesScreenshot from 2016-08-31 01-20-54

/etc/aliases の設定を有効にします。

# newaliases
# systemctl reload postfix.service

コマンドを利用して、 root ユーザーから pi ユーザーに簡単なメールを送ってみます。

# echo test | mail -s 'postfix test' pi

pi ユーザーへのメールは、@Nifty の私のメールアドレスへ転送するように設定しているので、正常に機能すれば転送されてきます。転送された内容を確認すると送ったメールの内容に間違いないことがわかります。
Screenshot from 2016-08-30 23-34-31
メールの転送機能が確認できたので、logwatch をインストールします。

# apt install logwatch

問題がなければ 1日1回のログのレポートが送られてきますので、待つことにします。
それと今まで利用してこなかった監視ソフトとして logcheck と言うのがあるようで、すでに1度インストールしていて、メールで頻繁に通知されてきたのを経験しています。せっかくなのでインストールしようと思います。

# apt install logcheck

使い方がよくわからないのでネット検索してみるとドキュメントの日本語化したものらしいのが見つかりましたが、その説明と実際にインストールされたものの構成が大きく異なっているようです。Webサーバーの apache2 でもRedhat系と Debian / Raspbian 系では構成や操作の作法に大きな違いがあるようなので、 logcheck も同様に構成や作法に違いがあるのでしょうね。ディレクトリの構成を次に示しますが、そのディレクトリ内に定義のファイルが多数置かれているようです。今は余裕がないのでそのままスルーしておきます。
Screenshot from 2016-08-31 23-06-34
送られてくるメールを次に示します。監視結果は logcheck 宛にメールされるのですが、/etc/aliases に定義はしていないのですが、問題なく私宛にメールが届きます。カラクリはわかりませんが未定義はroot に送られるのでしょうか。
Screenshot from 2016-08-31 23-07-58

 
話が変わりますが、共有データのサーバー間転送は継続したままです。 現在転送量が、180GBを超えたところです。 ほぼ 4秒のインターバルで 4MBずつ増加しているので、約1MB/秒 なので、開始から丸2日程度なのかな、もう少しで送り終わるだろうと思います。