最近、誰かが同意なしに私のコンピュータを使ってフォルダを閲覧するなどの行為をしているという事実を発見しました。
すべてのパスワードをすぐに変更できますが、侵入者が何を探しているのか疑問に思います。だから罠をかけたい(邪悪な笑顔)。
コンピュータの活動を監視できるソフトウェアは何ですか?私の画面キャプチャがここで動作することを知っていますが。むしろログファイルを使いたいです。
たとえば、
/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 running
[2010年8月3日 03:33] 12.32.132.123から入ってくるSSHセッション
私が記録したい活動は次のとおりです。
- ファイルシステムのファイルとフォルダにアクセスする
- 実行するコマンド(コンソールまたはその他の方法)
- ユーザーセッション(ログイン、SSHセッション、失敗した試行)
答え1
カーネルメカニズムを使用して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
= イベント発生後終了しない、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の場合)デフォルトはあまり高くないため、ウォッチャーを0に設定すると/home/
制限を超える可能性があります。echo
(ルートアクセスが必要)を使用して制限を増やすことができます。
echo 524288 > /proc/sys/fs/inotify/max_user_watches
しかしその前に読むべきこと変化の結果。
興味のあるオプション:
-d
=デーモンモード-o file
=ファイルとして出力--format
=カスタム形式、詳細については参照man inotifywait
-e EVENT
=監視する必要があるイベント(例:access
などmodify
、詳細については参照man
)
答え2
相手はあなたに興味がありますか?物理アクセスまたはルートアクセス権がある場合は、すべてのトレースを削除して監視するバグを植えることもできます。あなた。一方、いくつかの痕跡は消去が痛く、すべてを覚えにくいです。
通常、システムログにはさまざまな内容がすでに記録されています(一部のシステムでは、または/var/log
他の場所を使用しています)。一般的な構成では、すべてのログインとインストールが記録されます。ログの削除が心配な場合は、リモートロギングを設定できます。これを行う方法はsyslogの実装によって異なりますが、通常は送信者と受信者の設定ファイルで1〜2行だけ変更できます。/var/logs
/var/adm
あなたまたはあなたのディストリビューションがこの機能を無効にしていない場合、各ファイルにアクセス時間("atime") ファイルを読み込むたびに更新されます。 (noatime
またはオプションでファイルシステムをマウントしてもrelatime
atimeは更新されません)touch -a
。 (ルートでもこのトレースを直接削除できないため、ファイルシステムコードをバイパスする必要があります。)
すべてのプログラムに1つセッション履歴。侵入者が覚えている場合は削除または偽造するのは簡単です。 Bashは、~/.bash_history
ブラウザがプロファイルディレクトリなどに多くのコンテンツを作成する傾向があります。システム内部や他の場所で明らかなエラーや警告を見つけることもできます~/.xsession-errors
。/var/log/Xorg.0.log
多くの大学に1つあります。プロセス会計¹機能。例えばGNU会計ユーティリティマニュアル、項目FreeBSDマニュアルまたはLinuxガイドまたはソラリスガイド。有効にすると、ユーザーがどのプロセスを開始したとき(execve
コールを記録するか)などが記録されます。プロセスがアクセスするファイルなどの興味深い情報はあまり記録されません。
ファイルシステムへのすべてのアクセスを監視するには、次の方法で実行できます。ロギングファイルシステム。その人が見たいと思うかどうかを調べるのは簡単です。
より包括的なロギングプログラムがありますが、追加のカーネルサポートが必要な場合があります。 Solaris、FreeBSD、NetBSD、およびMac OS Xには次のものがあります。道(作業中のLinuxポートがありますが、まだ利用可能なステップに達しているかどうかはわかりません。)Linuxptrace
などのシステムコールインターフェイスを介して特定のプロセスを追跡することもできます。これはかなりの速度低下を引き起こす可能性があります。strace
¹Wikipediaにないものは何ですか?いいえ、それはクレイジーな話です。
答え3
答え4
攻撃者が十分に素朴であると仮定すると、適切なログインスクリプトを挿入してscript -qft $USER-$$ 2> $USER-$$-time
端末の対話を監視し、適切なscriptreplayコマンドを使用して再生することができます。
ファイルレベルのアクセスを監視するには、適切なロギングをsshdに接続し、ログインセッションをフィルタリングすることをお勧めしますstrace -fe open
(またはで実行することをお勧めします。警告:最新のシステムで作業を実行すると膨大な出力が発生するためたくさんファイル数。特定のファイルのみを監視するには、次の点を確認してください。審査そしてその支援インフラ。
セッションとログインの試行は、他の回答に基づいてシステムログから収集できます。