ChocoMemo

学んだことをメモがわりにアップしていきます!

さくらVPS初期設定 9 - logwatchの設定


logwatch

logwatchはサーバー上のさまざまなログを収集・整形し、メール送信してくれる、非常に便利なツールである。

メールは整形された内容で送信されるため、ざっと見ても要点がつかみやすい。だいたい数分で読み終わる。

まず、さくらのVPSにlogwatchがインストールされていることを確認する。インストールされていた以下のように表示される。

$ sudo yum list installed | grep logwatch
logwatch.noarch     7.3.6-49.el6        @base

インストールされていなかった以下を実行する。

$ sudo yum install logwatch

インストールされていることが確認できたら、動作確認をしておく。logwatchコマンドに-printオプションを付けて実行すると、現時点のログが表示される。

 ################### Logwatch 7.3.6 (05/19/07) #################### 
        Processing Initiated: Thu Aug 22 11:47:53 2013
        Date Range Processed: yesterday
                              ( 2013-Aug-21 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: xxxxxxxx.sakura.ne.jp
  ################################################################## 
 --------------------- httpd Begin ------------------------ 

 Requests with error response codes
 
...

 --------------------- Disk Space Begin ------------------------ 

 Filesystem            Size  Used Avail Use% Mounted on
 /dev/vda3             195G  2.2G  183G   2% /
 /dev/vda1             243M   73M  158M  32% /boot
 
 
 ---------------------- Disk Space End ------------------------- 

 
 ###################### Logwatch End ######################### 

ログの収集対象となるサービスが増えると、表示内容にも反映される。よく使われるもの、例えばsudoやhttpdなどは初めから対象になっている。もちろん、あとから対象を追加したり、整形ルールを変更することが可能である。

また、サービスによっては問題点を警告してくれる。たとえばhttpdの場合、以下のような感じで、悪意のありそうなアクセスと、そのIPアドレスが通知される。

--------------------- httpd Begin ------------------------ 

A total of 1 sites probed the server 
xxx.xxx.xxx.xxx

A total of 1 possible successful probes were detected (the following URLs
contain strings that match one or more of a listing of strings that
indicate a possible exploit):

xxx.xxx.xxx.xxxの部分がIPアドレスになる。この情報を元に、iptablesで接続ブロックするなどの対策がおこなえる。

logwatchのメール送信先を変更する

初期状態のlogwatchはrootにメールが飛ぶようになっているので、これをレポートを受け取りたいアドレスに変更しておく。

まず、logwatchからメール送信できることを確認する。logwatchコマンドのmailtoオプションの後に送信先アドレスを指定して実行するば、現時点のログが送信される。root権限が必要なので、rootになるかsudoで実行する。

$ sudo logwatch --mailto test@example.com

ちなみにさくらのVPSがお試し期間中だと、メール送信がおこなえないので注意すること。以下で確認。

ご利用上の注意 | VPS(仮想専用サーバ)「さくらのVPS」

メールが受信できたなら、自動送信されるアドレスを変更する。logwatchの設定ファイルを開く。

$ sudo vi /etc/logwatch/conf/logwatch.conf

そして、MailToに送信先アドレスを設定して、ファイルを保存する。

# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)
MailTo=test@example.com

これで毎日、レポートが送られてくる。メールの件名は「Logwatch for ドメイン名 (Linux)」となるので、Logwatchをキーワードにしてメーラーのフィルタを設定しておくとよいだろう。

メール送信時刻のデフォルトは午前4:30頃である。この時間はcronの設定で変更できる。

※logwatchの設定は他にもいろいろあるから、時間があるときに追記する予定。 ※logwatchのログの見方については、別途作成しようと思っている。

参考サイト:さくらのVPS を改めて使いはじめる 3 – iptables と logwatch