ユーザーが他のシステムにSSHで接続した正確な時間を追跡する最も簡単な方法は何ですか?

ユーザーが他のシステムにSSHで接続した正確な時間を追跡する最も簡単な方法は何ですか?

env - centos / rhel
2つのシステムがあります。要塞と開発。


要塞 -

  • Bastionには多くの個人ユーザーがいます。 (appleorange…など)
  • ユーザーは Bastion に直接 SSH 経由で接続できます。

開発 -

  • DEVにはユーザーが1人だけです。 ( fruit)
  • BastionユーザーのみがBastionからDEVにSSH経由で接続できます。

最終的に「誰がいつ何をしたのか」追跡したい。

DEV側では、/var/etc/secureおよび/var/etc/audit/audit.logにログインしている人を見ることができますが、fruit「who」は表示されません。


applefruit私の質問:DEVへの接続にかかった時間とDEVが行った作業をどのように収集しますか?

ベストアンサー1

非常に簡単な方法は、パスワードログインを無効にし、キーベースのログインのみを使用することです。

これにより、名前付きキーがあり、auth.log単純にユーザーと一致させることができます(たとえば、ファイルの「説明」フィールドにユーザー名を追加するなどauthorized_keys)。ログインするとプロセスIDを受け取り、ログアウトイベントにも表示されます。

$cat /var/log/auth.log
Jun 21 14:42:11 DEV sshd[26510]: Accepted publickey for apple from 1234:5678:90ab:cdef:1234:5678:90ab:cdef port 58888 ssh2: RSA SHA256:abcdefghIJKLMNOPQ/1234567890
Jun 21 14:47:57 DEV sshd[26510]: pam_unix(sshd:session): session closed for user apple


$cat /home/fruit/.ssh/authorized_keys
ssh-rsa abcdefghIJKLMNOPQ/1234567890 apple@bastion

監視の残りの部分は設定の問題ですaudit

おすすめ記事