web-dev-qa-db-ja.com

コンピューターのアクティビティを監視しています。

だから最近、誰かが私のコンピュータを同意なしに使用したり、フォルダを閲覧したりしていることに気づきました。

すべてのパスワードをすぐに変更できましたが、侵入者が何を探していたのか興味があります。そこで、罠を仕掛けたいと思います(邪悪な笑顔)。

どのソフトウェアが私のコンピューター上のアクティビティを監視しますか?画面のキャプチャがここで機能することはわかっていますが。むしろログファイルを使用したいと思います。

例えば:

/ var/log/activity.log

[2010年8月1日20:23]/usr/bin/thunarが/ multimedia/cctv-records /にアクセス
[2010年8月1日20:25]/usr/bin/mplayerが/multimedia/cctv-records/00232.aviにアクセスしました
[2010年8月3日02:34]/usr/bin/Thunderbirdが実行されました
[2010年8月3日03:33] 12.32.132.123からの着信sshセッション

ログに記録したいアクティビティは次のとおりです。

  • ファイルシステム上のファイルとフォルダへのアクセス
  • コマンドが実行されます(コンソールまたはその他から)
  • ユーザーセッション(ログイン、sshセッション、失敗した試行)
16
Stefan

アクセスされたファイルを監視するために、カーネル内メカニズムinotifyを使用できます。

まず、カーネルでinotifyがオンになっているかどうかを確認する必要があります。

pbm@tauri ~ $ zcat /proc/config.gz | grep CONFIG_INOTIFY
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y

次に行うことは、inotify-toolsをインストールすることです。 プロジェクトページ で見つけることができるさまざまなディストリビューションの説明-すべての主要なディストリビューションのリポジトリにあるはずです。

その後、inotifyが機能する準備が整います。

inotifywait /dirs/to/watch -mrq

m = 1つのイベントの後で終了しない、r =再帰的、q =静か)

例-ls /home/pbmの後に出力

pbm@tauri ~ $ inotifywait /bin /home/pbm -mq 
/bin/ OPEN ls
/bin/ ACCESS ls
/bin/ ACCESS ls
/home/pbm/ OPEN,ISDIR 
/home/pbm/ CLOSE_NOWRITE,CLOSE,ISDIR 
/bin/ CLOSE_NOWRITE,CLOSE ls

重要なことは、監視用のディレクトリを適切に設定することです。

  • /を再帰的に監視しないでください-/dev/procへの読み取り/書き込みがたくさんあります
  • ホームディレクトリを再帰的に監視しないでください-アプリを使用する場合、アプリケーション構成ディレクトリとブラウザプロファイルディレクトリへの読み取り/書き込みが多くあります

/proc/sys/fs/inotify/max_user_watchesには、同時に監視できるファイルの数を示す構成オプションがあります。デフォルト値(Gentooの場合)はそれほど高くないため、ウォッチャーを/home/に設定すると、制限を超える可能性があります。 echo(ルートアクセスが必要)を使用して制限を増やすことができます。

echo 524288 > /proc/sys/fs/inotify/max_user_watches

しかしその前に、 その変更の結果 について読む必要があります。

あなたにとって興味深いかもしれないオプション:

  • -d =デーモンモード
  • -o file =ファイルへの出力
  • --format =ユーザー指定の形式、詳細はman inotifywait
  • -e EVENT =どのイベントを監視する必要があるか(たとえば、accessmodifyなど、manの詳細情報)
8
pbm

他の男はあなたにいますか?彼が物理的アクセスまたはルートアクセスを持っている場合、彼はすべての痕跡を消去し、あなたをスパイするためにバグを植えることさえできます。一方で、一部の痕跡は消すのが面倒で、すべてを考えるのは難しいです。

さまざまなことがシステムログ、通常は/var/logにすでに記録されています(一部のシステムは、/var/logs/var/admなどの異なる場所を使用します)。通常の構成では、すべてのログインとマウントが記録されます。ログが消去されることが心配な場合は、リモートログを設定できます(これを行う方法はsyslogの実装によって異なりますが、通常、送信者と受信者の構成ファイルで変更するのは1行または2行です)。

あなたまたはあなたのディストリビューションがこの機能を無効にしていない場合、すべてのファイルにはアクセス時間(「atime」)があり、ファイルが読み取られるたびに更新されます。 (ファイルシステムがnoatimeまたはrelatimeオプションでマウントされている場合、atimeは更新されません。)atimeはtouch -aで偽造できますが、これによりctimeが更新されるため、痕跡を残します。 (rootでもこのトレースを直接削除することはできません。ファイルシステムコードをバイパスする必要があります。)

さまざまなプログラムにセッション履歴があります。侵入者がそうすることを覚えていれば、簡単に削除したり偽造したりできます。 Bashは~/.bash_historyを保持し、ブラウザはプロファイルディレクトリに多くのものを書き込む傾向があります。また、~/.xsession-errorsまたは/var/log/Xorg.0.log、あるいはその他のシステムに依存する場所にエラーや警告が表示される場合があります。

多くのユニスには プロセスアカウンティング ¹機能があります。たとえば、 GNUアカウンティングユーティリティマニュアルFreeBSDハンドブック または Linuxハウツー または Solarisガイド のエントリを参照してください。 =。有効にすると、どのユーザーがどのプロセスをいつ起動したか(execve呼び出しをログに記録します)、そしておそらくもう少し記録します。プロセスによってアクセスされるファイルなど、ログに記録されない興味深い情報がたくさんあります。

ファイルシステムへのすべてのアクセスを監視する場合は、 loggedfs を介して提供できます。男が見ようと思ったら気付くのはとても簡単です。

より包括的なロギングプログラムがありますが、追加のカーネルサポートが必要になる場合があります。 Solaris、FreeBSD、NetBSD、Mac OS Xには、 dtrace があります(進行中のLinuxポートがありますが、使用可能な段階に達しているかどうかはわかりません)。 Linuxではptraceのように、straceシステムコールへのインターフェイスを介して特定のプロセスをトレースすることもできます。顕著な速度低下を引き起こす可能性があります。

¹ ウィキペディアにないものはありますか?いや、それはクレイジーな話です。

Fail2banおよびDenyHØsts

1
iamsid

これはあなたが探しているものではありませんが、一部のアプリは最近アクセスされたファイルのリストを保持しています。また、GNOMEはそのリストを保持しており、パネルからアクセスできます。

もう1つの修正は、 GNOMEアクティビティジャーナル を使用することです。ただし、前回チェックしたときは、CLIアクティビティの記録が保持されず、ファイル関連のアクティビティ(読み取り、編集)のみに関心があり、他のアクティビティは無視されていました。活動。

多数のプログラムがログを保存する/var/logディレクトリ内を調べることもできます。

1
tshepang

攻撃者の側に十分なナイーブがあると仮定すると、攻撃者の適切なログインスクリプトにscript -qft $USER-$$ 2> $USER-$$-timeをスローするだけで、攻撃者の端末の相互作用を監視し、適切なscriptreplayコマンドで再生できます。

ファイルレベルのアクセスを監視するには、適切なログを記録したstrace -fe openをsshdに添付し、ログインセッションをフィルタリングすることをお勧めします(または、これをから行う方がよい場合があります。警告:最新のシステムでは何でも行うため、出力が膨大になりますたくさんのファイルに触れます。特定のファイルを監視したいだけの場合は、 auditd とそのサポートインフラストラクチャをご覧ください。

セッションとログイン試行は、他の回答に従ってsyslogから収集できます。

1
Thomas Themel