サーバかちゃんと動いているか、不正なアクセスが無いかを確認するにはLogを見る必要があるけど、
日々処理される多量のログの中から「これヤバイ」なものを見つけるには面倒であったり、
時間がかかったりする。
僕の場合は、スクリプトを組んで自動実行しておいたり、随時実行したりして確認しているけど、
漏れちゃったりするのもアレなんで、今回は「Logwatch」という監視ツールをインストール、
設定してみようと思う。 今回インストール、設定した感じだと、それほど設定することもなくすぐに使える感じだった。
今回やりたいこと
- ログをを1日1回収集する
- 収集したログをメールで送信して確認できるようにする
※メールサーバの設定は「https://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 ######################### |