logwatchをインストールして不正アクセスを早期発見する

サーバかちゃんと動いているか、不正なアクセスが無いかを確認するにはLogを見る必要があるけど、

日々処理される多量のログの中から「これヤバイ」なものを見つけるには面倒であったり、

時間がかかったりする。

僕の場合は、スクリプトを組んで自動実行しておいたり、随時実行したりして確認しているけど、

漏れちゃったりするのもアレなんで、今回は「Logwatch」という監視ツールをインストール、

設定してみようと思う。 今回インストール、設定した感じだと、それほど設定することもなくすぐに使える感じだった。

 
 
  
今回やりたいこと
  • ログをを1日1回収集する
  • 収集したログをメールで送信して確認できるようにする
※メールサーバの設定は「http://brokendish.org/debian/319/」参照
ここの設定で「rootのメールをメインユーザーにリダイレクトする」を行っているので、
メールの宛先の設定はデフォルト「root」のままにしているよ。

設定環境
  • Debian(Squeeze)
Debian(Squeeze)の場合、デフォルトではインストールされてないのでインストールする。

インストール
apt-get install logwatch

インストール完了したのでとりあえずどんな感じで表示されるのか見てみる場合は

下記の何れかを実行する。

試し(オプション指定無しは昨日のLOGを収集)

logwatch

今日のLOGを収集

logwatch --range Today

サービスを特定して収集

logwatch --service postfix

全サービス指定

logwatch --service All

今回は自動実行してメールで確認するようにしたいので設定ファイルを修正する
—————————————————————————–
まずは、バックアップ

cp /usr/share/logwatch/default.conf/logwatch.conf /usr/share/logwatch/default.conf/logwatch.confBAK
vi /usr/share/logwatch/default.conf/logwatch.conf

変更した部分のみ記載

#Output/Format Options
#By default Logwatch will print to stdout in text with no encoding.
#To make email Default set Output = mail to save to file set Output = file
###Output = stdout
Output = mail
 :
 :
# The default detail level for the report.
# This can either be Low, Med, High or a number.
# Low = 0
# Med = 5
# High = 10
###Detail = Low
Detail = High

—————————————————————————————

—————————————————————————————
日々実行するようにCronに登録する。。
と思ったけど、確認した所、どうやらインストールすると「cron.daily」に「00logwatch」を置いてくれるっぽいので

特に設定する必要は無い。

確認

cd /etc/cron.daily

中身を見てみる

cat 00logwatch
#!/bin/bash
 
#Check if removed-but-not-purged
test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0
 
#execute
/usr/sbin/logwatch --output mail
 
#Note: It's possible to force the recipient in above command
#Just pass --mailto address@a.com instead of --output mail

logwatchをインストールすればデイリーで動くようになる。
—————————————————————————————
じゃあ、cron.dailyがどのタイミングに実行されるかを確認

cat /etc/crontab
brokendish:/etc# cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

毎日6時25分に動く
—————————————————————————————

メールで送られてくる内容はこんな感じ(一部改変してるけど)

 ################### Logwatch x.x.x (xx/xx/xx) ####################
        Processing Initiated: Sun Nov 27 06:25:06 2011
        Date Range Processed: yesterday
                              ( 2011-Nov-26 )
                              Period is day.
        Detail Level of Output: 10
        Type of Output/Format: mail / text
        Logfiles for Host: nnnnnnnnnn
  ################################################################## 
 
 --------------------- courier mail services Begin ------------------------ 
 
 Connections: 18 Times
   Protocol IMAP - 18 Times
      Host 123.456.789.012 - 18 Times
 
 Logins: 14 Times
   Protocol IMAP - 14 Times, 220189 Bytes
      User hoge - 14 Times, 220189 Bytes
         Host 123.456.789.012 - 14 Times, 220189 Bytes
 
 Successful Logins: 18 Times
   Protocol IMAP - 18 Times
      User hoge - 18 Times
         Host 123.456.789.012 - 18 Times
 
 ---------------------- courier mail services End ------------------------- 
 
 --------------------- Cron Begin ------------------------ 
 
 Commands Run:
    User root:
          cd / && run-parts --report /etc/cron.hourly: 17 Time(s)
         [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete: 35 Time(s)
       /home/hoge/tools/apache_log_analize.sh: 2 Time(s)
       mysqlcheck -c -r wordpressdb -uroot -phoge91: 1 Time(s)
    User www-data:
       [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh: 105 Time(s)
 
 ---------------------- Cron End ------------------------- 
 
 --------------------- dpkg status changes Begin ------------------------ 
 
 Installed:
    libdate-manip-perl x.xx-xx
    libyaml-syck-perl xx.xx-xx
    logwatch x.x.x.cvs123456789-1squeeze1
 
 ---------------------- dpkg status changes End ------------------------- 
 
 --------------------- httpd Begin ------------------------ 
 
 77.60 MB transferred in 6478 responses  (1xx *************)
    3575 Images (55.34 MB),
       1 Documents (0.02 MB),
       1 Archives (0.00 MB),
    2893 Content pages (22.22 MB),
       1 Redirects (0.00 MB),
       7 Other (0.01 MB) 
 
 Requests with error response codes
    401 Unauthorized
	    :
	    :
	:
	:
 
 A total of 6 ROBOTS were logged
    msnbot/2.0b (+http://search.msn.com/msnbot.htm)._ 1 Time(s)
    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 23 Time(s)
    ia_archiver (+http://www.alexa.com/site/help/webmasters; crawler@alexa.com) 2 Time(s)
    Baiduspider+(+http://www.baidu.com/search/spider.htm) 1 Time(s)
    Mozilla/5.0 (compatible; Ezooms/1.0; ezooms.bot@gmail.com) 18 Time(s)
    Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) 7 Time(s) 
 
 ---------------------- httpd End ------------------------- 
 
 --------------------- IMAP Begin ------------------------ 
 
 [IMAPd] Connections:
 =========================
                                   Host | Connections |    SSL   |   Total
 -------------------------------------- | ----------- | -------- | ---------
                   ::*****|           0 |       18 |        18
 ---------------------------------------------------------------------------
                                                    0 |       18 |        18
 
 [IMAPd] Logout stats:
 ====================
                                    User | Logouts | Downloaded |  Mbox Size
 --------------------------------------- | ------- | ---------- | ----------
                                    hoge |      18 |     241157 |          0
 ---------------------------------------------------------------------------
                                                18 |     241157 |          0
 
 [IMAPd] Successful Logins:
   User hoge:
     From ::************ Time(s)
   Total 18 Time(s)
 
 Total 18 successful logins
 
 **Unmatched Entries**
    Unexpected SSL connection shutdown.: 1 Time(s)
 
 ---------------------- IMAP End ------------------------- 
 
 --------------------- pam_unix Begin ------------------------ 
 
 cron:
    Sessions Opened:
       www-data: 145 Time(s)
       root: 80 Time(s)
 
 sshd:
    Sessions Opened:
       hoge: 3 Time(s)
 
 ---------------------- pam_unix End ------------------------- 
 
 --------------------- Postfix Begin ------------------------ 
 
 ****** Summary *************************************************************************************
 
       20   SASL authentication failed
      576   Miscellaneous warnings  
 
  367.165K  Bytes accepted                             375,977
  122.618K  Bytes delivered                            125,561
 ========   ==================================================
 
      154   Accepted                                    97.47%
        4   Rejected                                     2.53%
 --------   --------------------------------------------------
      158   Total                                      100.00%
 ========   ==================================================
 
        4   5xx Reject relay denied                    100.00%
 --------   --------------------------------------------------
        4   Total 5xx Rejects                          100.00%
 ========   ==================================================
 
        8   Connections
        6   Connections lost (inbound)
        8   Disconnections
      298   Removed from queue
       10   Delivered
      288   Bounced (local)
      144   Notifications sent      
 
        1   SMTP dialog errors
        1   SMTP protocol violations 
 
 ****** Detail (10) *********************************************************************************
 
       20   SASL authentication failed --------------------------------------------------------------
       20      *********   unknown
       20         LOGIN
       20            authentication failure
 
      576   Miscellaneous warnings ------------------------------------------------------------------
      288      perhaps you need to create the maildirs in advance
        2      maildir access problem for UID/GID=33/33: create maildir file /var/www/Maildir/tmp/...
 
        4   5xx Reject relay denied -----------------------------------------------------------------
        4      ********   114-42-133-100.dynamic.hinet.net
        4         smtp@k888.tw
 
        6   Connections lost (inbound) --------------------------------------------------------------
        4      After RCPT
        2      After CONNECT
 
	       :
		:
 === Delivery Delays Percentiles ============================================================
                     0%       25%       50%       75%       90%       95%       98%      100%
 --------------------------------------------------------------------------------------------
 Before qmgr       0.01      0.01      0.04      0.06      0.10      0.15      1.28      4.30
 In qmgr           0.00      0.00      0.01      0.01      0.02      0.02      0.02      0.04
 Conn setup        0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 Transmission      0.00      0.01      0.02      0.02      0.04      0.06      0.11      0.66
 Total             0.01      0.03      0.07      0.10      0.15      0.22      1.38      4.40
 ============================================================================================
 
 ---------------------- Postfix End ------------------------- 
 
 --------------------- SSHD Begin ------------------------ 
 
 Users logging in through sshd:
    hoge:
       ******* (*******************): 3 times
 
 Received disconnect:
    11: disconnected by user
       *********** : 2 Time(s)
 
 SFTP subsystem requests: 1 Time(s)
 
 ---------------------- SSHD End ------------------------- 
 
 --------------------- Disk Space Begin ------------------------ 
 
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda2              18G  4.4G   13G  27% /
 /dev/sda1              99M   23M   72M  24% /***
 /dev/sdb1              30G   23G  5.7G  80% /***
 
 ---------------------- Disk Space End ------------------------- 
 
 ###################### Logwatch End #########################
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です