
rsyslog
SSH セッションで入力されたコマンドをログに記録するにはどうすればいいですか?
万が一、誰かが不正にシステムにアクセスした場合に備えて、その人が何をしたのかを知りたいです。
答え1
私には、ユーザーがサーバーにログインした後の行動を監査したいということのように思えます。これは実際には、ユーザーが実行しているシェル (bash など) の機能です。
チェックアウトhttps://askubuntu.com/questions/93566/how-to-log-all-bash-commands-by-all-users-on-a-server
おそらく、リモートでログインしているすべてのユーザーに対して同じことを行うことができます。
答え2
現時点では、これを実行するためのすぐに利用できるオプションは多くありません。
私の同僚の中にはローレンス・バークレー国立研究所 (LBNL)OpenSSHへの一連のパッチをリリースしました。監査-sshdプロジェクト。コードはオープンで、「BSD Simplified」ライセンスの下で利用可能です。auditing-sshd
ユーザーが入力したすべてのキーストロークと、SSH トランザクションに関する他の大量のメタ情報をログに記録します。データは syslog/stunnel を使用して中央 IDS に送信されます。一部のシェルベースの監査ツールは、コマンドラインからバイパスできます。コードは OpenSSH に埋め込まれているため、攻撃者は SSH を使用している間はツールをバイパスできません。
LISA 2011の論文とスライドを参照してください。これらのパッチの目的は、監査が必須である学術およびオープン研究環境でのユーザーセッションの監査を可能にすることです。必須サイトのセキュリティ ポリシーとプライバシー ポリシーの一部として、ユーザーに十分に理解されている必要があります。
とはいえ、バイナリ パッケージはすぐには入手できず、このソフトウェアは OpenSSH ソースにパッチを適用して独自のパッケージを構築できる管理者を対象としています。
注記:私はこのプロジェクトに関わっています。私は LBNL で働いており、著者を個人的に知っており、このソフトウェアを定期的に使用しています。