web-dev-qa-db-ja.com

Unixシステム上のユーザーのシェルアクティビティを監視しますか?

信頼しますが、確認します。

誰かにsysadminを雇って、Unixシステムへのrootアクセスを許可したいとしましょう。それらのXウィンドウを無効にし、シェルの使用のみを許可し(SSHを介して)、実行するすべての操作がシェルを介して行われるようにします(マウス操作ではありません)。

すべてのコマンドをリモートサーバーに記録する発行するツールが必要です。したがって、バックドアを設置してトラックを覆っていても、リモートでログに記録されます。

  • シェルアクセス以外のすべてを無効にするにはどうすればよいですか?
  • コマンドが発行されたときに即座にリモートでログを記録するためのツールはありますか?
7
Joseph Turian

彼らに根を下ろさないでください。それらに個別のアカウントを与え、それをsudoersに配置します。 Sudoで起動するすべてのコマンドはログに記録されます。ただし、Sudo powerを使用すると、ログをクリーンアップし、Sudo su -を使用してrootとしてログインできます。

解決策は、 syslog-ng のように、ログを別のサーバーに分離することです。彼らはそれをオフにすることができますが、そうすることは記録され、大きな大きな赤い旗になるはずです。 su -もそうです。 sudoers で少し考えてブロックできると思います。

7
jldugger

コマンドが発行されたときに即座にリモートでログを記録するためのツールはありますか?

Sudosh2( http://sourceforge.net/projects/sudosh2/ )はあなたが望むことのいくつかを行います。これが彼らのウェブサイトからの説明です:

sudoshは監査シェルフィルターであり、ログインシェルとして使用できます。 Sudoshはすべてのキーストロークと出力を記録し、VCRと同じようにセッションを再生できます。

ユーザーが「Sudosudosh2」のようなコマンドを実行すると、Sudoが実行されます。

sudosh2は、すべてのキーストロークを記録し、ユーザーセッションからのすべて(入力、出力、エラーなど)をログに記録するSudoシェルです。ユーザーセッションを再生できます。これは非常に便利です。

sudosh2はsyslogをサポートしており、この出力をリモートサーバーに送信できます。

これはあなたが必要とするすべてをするわけではないかもしれません、しかしそれは助けるかもしれません。 rootsh を使用する人もいますが、それがsudoshとどのように比較されるのかわかりません。

4

誰かが入力したものすべてをコンソールに記録するために pam_tty_audit があなたの目的です。私はそれがsyslogを介して出力をログに記録すると確信しているので、そのログを別のsyslogサーバーにポンプで送ることができます。

注意:これはすべてのキーストローク(上、下、Ctrlなど)をログに記録し、パスワードフィールドに入力したときにパスワードもログに記録します。

2
Dave Wongillies

理論的には、sshプロキシ(人が制御しないシステム上)を使用して、ホストとシステム間のすべてのトラフィックをログに記録できます。彼はシステムにSSHで接続し、そこにすべてのデータを記録して、接続をターゲットサーバーに転送します。ローカルロギングデーモンは、ユーザーを制限すると予想されるシステムへの管理アクセスをユーザーに与えないという基本原則に違反しています。

実際には、コマンドログを読んで、その男が何か悪いことをしたかどうかを判断することは多かれ少なかれ不可能です。システム管理者を信頼できない場合は、困惑します。わざわざやってみません。

2
pehrs

私はマットに同意します。あなたがそれらを信頼できないなら、彼らは根を持っているべきではありません。

監査証跡には、 rootsh を使用できます。 rootshへのSudoのみを許可できます。これとリモートロギングを組み合わせると、単にSudoよりも停止するのが少し難しくなります。

2
Warner

多くの人が言っているように。誰かがルートを持っている場合、彼らはボックスを持っています。ここでは信頼が王様です。ただし、ある程度、Sudoを使用して必要な動作を得ることができます。管理者は通常のユーザーとしてログインし、Sudo/path/to/commandを実行することで、さまざまなコマンドを実行できます。これは、多くのゲームをプレイせずに取得できる最善の方法です。

0
Richard June