プロキシ経由ですべての SSH コマンドをログに記録する

プロキシ経由ですべての SSH コマンドをログに記録する

問題: 誰にも任せられない本番サーバーがあります。しかし、そのサーバーにアクセスできるのは私だけではありません。

実現: ユーザーが root としてログインできるようにする必要がありますが、プロキシ経由でログインする必要があります。これにより、ユーザーが入力または ssh 経由で送信する内容は、ユーザーが実際にはアクセスできないプロキシ マシンに記録されます (そのため、ログを改ざんすることはできません)。

それを実行するための理想的な設定は何ですか? 私はtshark (SSH 全てのコマンドのログ記録) ですが、実際にそれが仕事に適しているかどうかはわかりませんし、プロトコル レベルでトラフィックをログに記録し、アプリケーション レベルで SSH 暗号化が行われると言われているので、どのように設定すればよいのか正確にはわかりません。

これに対して、確実にテスト済みの解決策を提供できる人はいますか?

答え1

があるhttps://goteleport.comこれはまさにあなたが求めていることを実現するはずです。彼らはそれが製品版の準備ができていると言っていますが、私はそれで遊んでいて、まだ開発の初期段階のように思えます。

私は代替案を探しているので、まだ関連性のあるあなたの質問を見つけました。私は商用ソリューションを選択します。

答え2

NHIを試すこともできます:https://github.com/strang1ato/nhi

nhi実行された各コマンドとその周囲のすべての潜在的に有用な情報を自動的にキャプチャし、強力なクエリ メカニズムを提供します。

nhi以下の記録を保持します:

  • 指示
  • コマンドの出力
  • コマンドの終了ステータス
  • コマンド実行終了時の作業ディレクトリ
  • コマンドの開始時間
  • コマンドの終了時間
  • コマンド実行時のシェルプロンプト

nhiまた、シェル セッション全般に​​関する情報の記録も保持します。

[...]

nhi デーモンは、Linux カーネルに組み込まれたテクノロジーである eBPF に基づいています。eBPFトレースはカーネル内で安全に実行されるため、これを使用すると、ツールの優れたパフォーマンスと低いオーバーヘッドが保証されます。

nhiプログラム/プロセス (および OS 全般) の動作には影響しません。

関連情報