env - centos / rhel
2つのシステムがあります。要塞と開発。
要塞 -
- Bastionには多くの個人ユーザーがいます。 (
apple
、orange
…など) - ユーザーは Bastion に直接 SSH 経由で接続できます。
開発 -
- DEVにはユーザーが1人だけです。 (
fruit
) - BastionユーザーのみがBastionからDEVにSSH経由で接続できます。
最終的に「誰がいつ何をしたのか」追跡したい。
DEV側では、/var/etc/secureおよび/var/etc/audit/audit.logにログインしている人を見ることができますが、fruit
「who」は表示されません。
apple
fruit
私の質問: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
。