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


16

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

私はすぐにすべてのパスワードを変更できましたが、侵入者が探していたものに興味があります。だから私はトラップ(邪悪なにやにや笑い)を設定したいと思います。

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

例えば:

/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
[3月3日2010 02:34] / usr / bin / thunderbirdが実行されました
[3 Aug 2010 03:33] 12.32.132.123からsshセッションを開始

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

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

/var/log/auth.logが3番目の箇条書きをカバーするはずです。他のものは少しささいなものになるでしょう。
カスカベル

@jefromi my auth.logはsudoおよびsuコマンドの試行のみをログに記録します...ログインなし:(
Stefan

回答:


8

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

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

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

次に行うことはinstall 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(rootアクセスが必要)を使用して制限を増やすことができます。

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

しかし、その前に、あなたはその変化の結果について読むべきです。

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

  • -d =デーモンモード
  • -o file =ファイルへの出力
  • --format =ユーザー指定の形式、詳細は man inotifywait
  • -e EVENT=何イベント監視されるべきである(例えばaccessmodifyなど、中に詳細man

システムをリセットするまで設定を維持するには、Debianでできますecho 524288 >> /etc/sysctl.conf && service procps restart。Gentooの同等のものは何ですか?
シェパン

私があなたが意味することecho "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf。Gentooでは、同じ方法を使用できますが、initスクリプトsysctl.confによって供給され/etc/init.d/bootmiscます。
pbm

1
実際には/etc/init.d/sysctlです。
OneOfOne

7

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

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

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

さまざまなプログラムにセッション履歴があります。侵入者がそれを覚えていれば、簡単に削除したり偽造したりできます。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ます。顕著な減速を引き起こす可能性があります。

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


1

見ていfail2banのDenyHØstsを


1
Fail2banは、アクセスログを調べて特定のアクション(IPの禁止など)を行いますが、これらの種類のアクセスログは生成しません。DenyHostsはTCPラッパーに依存してipを禁止していますが、これもOPとは関係ありません。
バーセレミー

1

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

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

また、多く/var/logのプログラムがログを保存するディレクトリ内を見ることができます。


1

攻撃者の側に十分な素朴なものがあると仮定すると、単にscript -qft $USER-$$ 2> $USER-$$-time適切なログインスクリプトに投げ入れて、端末の相互作用を監視し、適切なscriptreplayコマンドでリプレイできます。

ファイルレベルのアクセスを監視するために、私は取り付けをお勧めしますstrace -fe opensshdのに適切な伐採して、ログインセッションのフィルタリング(または多分それは単なる警告からこれを実行すると良いでしょう:現代のシステム上で何かをやっているので、巨大な出力が触れた多くのファイルを。特定のファイルを監視するだけの場合は、auditdとそのサポートインフラストラクチャをご覧ください。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.