[[LinuxSoft]] #contents ---- * Logcheck に関する日本語情報 [#u3f59664] ** Logcheck って何? [#c6bca2de] Logcheck は syslog の出力する /var/log/messages や security 等のファイルを監視し、問題があれば通知してくれるようなシステムです。類似するシステムとして LogWatch が挙げられます。LogWatch はある程度ログを解析して見やすく情報を送ってくれますが、Logcheck は生の情報を重要度毎に分類して送ってくれるのが特徴です。ある程度ログの読み方を熟知している中・上級者向けのセキュリティ・ツールともいえるでしょう。 重要度の判別かなり的確です。侵入検知ソフト PortSentry と連動して動作するように設計されています(PortSentry のログを重大問題として扱います)。あわせて導入されてみては如何でしょうか。 プログラムをインストールしたあとは cron に登録して、1時間おきに実行される事が推奨されています。LogWatch や Snort と比べてしまいますが、常にネットワークやサーバ群を管理している管理者にとっては1日1回のレポートよりも、より短い間隔で定期的に異常がないか報告してくれるほうが重要な場合もあるでしょう。そんな時のソリューション((問題解決方法のこと))が Logcheck + PortSentry という組み合わせです。 ** ライセンス [#w3a7bfb3] Common Public License, GNU General Public License (GPL) こちらも GPL で無料で使うことができます。作者さんに感謝です。 ** Logcheck のインストール [#ff3de3fa] インストール対象は Red Hat Linux 7.3 で行いました。Red Hat 系列や派生ディストリビューションで同様にセットアップできると思います。 まずはアーカイブの取得と展開、ディレクトリの移動です。 $ cd /usr/local/src $ wget http://jaist.dl.sourceforge.net/sourceforge/sentrytools/logcheck-1.1.1.tar.gz $ tar xfz logcheck-1.1.1.tar.gz $ cd logcheck-1.1.1 # make linux ← root ユーザ権限で 以上でインストール作業は終わりです。 次に設定ファイルを編集して、ログ解析情報のメール送付先を指定します。 # vi /usr/local/etc/logcheck.sh 42 行目でメールの送り先を指定します。初期状態は root ですが、 # Person to send log activity to. SYSADMIN=root 次のようにメールアドレスを指定することも出来ます。 SYSADMIN=zem@pocketstudio.jp 次にログファイルの場所の確認です。168 行目を見てみます。 # Linux Red Hat Version 3.x, 4.x $LOGTAIL /var/log/messages > $TMPDIR/check.$$ $LOGTAIL /var/log/secure >> $TMPDIR/check.$$ $LOGTAIL /var/log/maillog >> $TMPDIR/check.$$ Red Hat 系列は上記のファイル指定で問題ありません。自分でそのほかのファイルにもログを出力させている場合は $LOGTAIL として同様の行を書けば監視対象に含めることが出来ます。標準の場合は特に手を加える必要はないでしょう。 次に動作テストです。root 権限でファイルを実行します。 # /usr/local/etc/logcheck.sh 実行しても特にメッセージがでていなければ問題ありません。この時、offset((オフセット)) という名前のファイルが /var/log 配下に作成されているか調べます。 $ ls -al /var/log/*.offset -rw------- 1 root root 11 Jul 25 17:39 /var/log/maillog.offset -rw------- 1 root root 13 Jul 25 17:39 /var/log/messages.offset -rw------- 1 root root 11 Jul 25 17:39 /var/log/secure.offset 正しくファイルが作成されているので、問題がない事が分かります。もし作成されていなかった場合は設定ファイルが誤っている可能性があります。 なお、コマンド実行時にメールが送られます。 通常のメッセージのみであれば Subject: nsx.pocketstudio.jp 07/25/05:17.31 system check このようなシステムチェックをしましたよ、という題名です。 もし不正攻撃と見られるログが見受けられる場合 Subject: nsx.pocketstudio.jp 07/25/05:17.41 ACTIVE SYSTEM ATTACK! このように題名が変わり、本文でも一番上に問題となるログが指摘されます。 Active System Attack Alerts =-=-=-=-=-=-=-=-=-=-=-=-=-= Jul 24 21:20:27 nsx portsentry[25316]: attackalert: Connect from host: sv.pocketstudio.jp/210.239.46.254 to TCP port: 111 Jul 24 21:20:27 nsx portsentry[25316]: attackalert: Host 210.239.46.254 has been blocked via wrappers with string: "ALL: 210.239.46.254" Jul 24 21:20:27 nsx portsentry[25316]: attackalert: Host 210.239.46.254 has been blocked via dropped route using command: "/sbin/iptables -I INPUT -s 210.239.46.254 -j DROP" 最後に cron で自動実行されるようにします。 # vi /etc/crontab cron 設定ファイルを避雷器、以下のように記述すると1時間に1回となります。 cron 設定ファイルを開き、以下のように記述すると1時間に1回となります。 # 00 * * * * root /bin/sh /usr/local/etc/logcheck.sh > /dev/null 2>&1 1日1回でいいや、という場合は次のようにしてください。 # 00 00 * * * root /bin/sh /usr/local/etc/logcheck.sh > /dev/null 2>&1 設定を反映させるため crond の再起動を行います。 # /sbin/service crond restart Stopping crond: [ OK ] Starting crond: [ OK ] 設定ファイルの詳細や挙動についてはドキュメントをご覧下さい。 ** Logcheck の日本語ドキュメント [#j7245e54] - [[Logcheck README 日本語訳>Logcheck/README 日本語訳]]