SSHセッションで発生したすべてをどのように記録しますか?

SSHセッションで発生したすべてをどのように記録しますか?

質問: Linux または AIX システムで SSH で発生した状況をどのように記録しますか?たとえば、ユーザーがログインしたり、いくつかのコマンドを実行したり、自動化されたツールがsshを介して操作を実行したり、誰かが「ssh root@server commandhere」コマンドを実行したりします。

ベストアンサー1

このsudoコマンドには、セッションを監査して再生する機能があります。ほとんどの人はsudoコマンドを実行することに慣れていますが、ユーザーだけがrootコマンドを実行できるようにする単純なルールを定義できますsudo(つまり、ユーザーができないことはありません!)。

使用してsudoshユーザーのログインシェルを使用すると、すべてのコンテンツ(など)を強制的に記録stdinできstdoutますstderr。対話型と非対話型の両方のシェルで動作しますvim

sudoreplayその後、このコマンドを使用してセッション履歴を表示できます。でも対話型プログラム(例:vim

セッション監査ロギングを有効にするのはsudo簡単です。

に追加/etc/sudoers.d/sudosh

Defaults log_output
Defaults!/usr/bin/sudoreplay !log_output
Defaults!/sbin/reboot !log_output

ユーザーが自分で実行できるようにするには、次sudoの行をファイルに追加します/etc/sudoers.d/sudosh.osterman

osterman ALL=(osterman) ALL

osterman次に、ユーザーセッションを強制的に記録するには(たとえば)、次を実行します。

chsh -s /usr/bin/sudosh osterman

ダウンロードsudosh ここ。すでにインストールされているとしますsudo

おすすめ記事