Snoopy Loggerでコマンドの実行ログをSyslogで残す
Pocket

以前、ログイン時にscriptコマンドを実行させて、自動的にターミナルのログを記録させる方法についてを記述した。
今回紹介するSnoopy Loggerは、そのコマンドの実行結果(catで開いた出力内容など)は記録することは出来ないが、どのユーザーがいつ、どのようなコマンドを実行したのかをsyslogで記録指定くれるLoggerだ。

1.インストール

まずはインストールから。
インストール方法は、パッケージ管理ツールからインストールする方法とスクリプトからインストールする方法、ソースからコンパイルする方法がある。
今回は、パッケージ管理ツールからのインストールとスクリプトからのインストールについて紹介する。

●Debian/Ubuntuの場合

sudo apt-get install snoopy

 

●RHEL系の場合

yum install --enablerepo=epel snoopy

 

●インストールスクリプトを用いる場合

wget -q -O - https://github.com/a2o/snoopy/raw/master/bin/snoopy-install.sh | sh

 

2016/07/03 追記

インストールスクリプトのPATH変わってたので記述しておく。

rm -f snoopy-install.sh &&
wget -O snoopy-install.sh https://github.com/a2o/snoopy/raw/install/doc/install/bin/snoopy-install.sh &&
chmod 755 snoopy-install.sh &&
./snoopy-install.sh git-master

 

2.Snoopy Loggerの有効化

上記インストール方法であればすでに実行済のはずなのだが、「/etc/ld.so.preload」というファイルに「libsnoopy.so」というファイルのPATHが記述されている必要がある。
このファイルが存在し、PATHが記述ているならばそのままでいいのだが、もし記述がない場合は以下のコマンドで 追記を行う。

echo $(find /usr /lib -name libsnoopy.so) >> /etc/ld.so.preload

 

上記コマンド実行後、念のためOSの再起動を行うといいだろう。

reboot
Sponsored Links

3.ログの確認

さて、それでは実際にログを確認してみよう。
Snoopy Loggerで取得したコマンドの実行ログは、各OSごとに以下のログファイルに出力されている。

  • RHEL系⇛/var/log/secure
  • Debian/Ubuntu系⇛/var/log/auth.log
  • それ以外⇛/var/log/messages

今回は、CentOS 7で確認をしてみる。
以下のようにコマンドを実行する。

tail -F /var/log/secure | grep snoopy

20150318_000002

 

確かに、tail -Fなどのコマンドが記録されている。
コマンドの実行結果までは記録されていないのだが、監査ログとしては有りではないだろうか。

なお、細かい設定については「/etc/snoopy.ini」で行える。
設定内容については、こちらを参考にしてもらいたい。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: CentOS 7でauditログに実行コマンドを記録する | 俺的備忘録 〜なんかいろいろ〜

Leave a Comment

メールアドレスが公開されることはありません。