Centos
跟踪使用者 ssh 到另一個系統的確切時間的最簡單方法是什麼
env - centos/rhel
我有兩個系統。堡壘和開發。
堡壘 -
- Bastion 有許多個人使用者。(
apple
,orange
… 等)- 使用者可以直接 ssh 到 Bastion。
開發 -
- DEV 只有一個使用者。(
fruit
)- 只有 Bastion 使用者可以從 Bastion SSH 到 DEV。
最終,我想追查“誰在什麼時候做了什麼”
在 DEV 方面,我可以看到有人
fruit
在 /var/etc/secure 和 /var/etc/audit/audit.log 中登錄,但不是“由誰”登錄的。我的問題:我如何收集
apple
連接到 DEV的時間fruit
以及他做了什麼?
一個非常簡單的方法是禁用密碼登錄並僅使用基於密鑰的登錄。
這樣,您就有了在其中命名的密鑰,
auth.log
並且可以簡單地將其與使用者匹配(例如,在文件的“註釋”欄位中添加使用者名authorized_keys
)。通過登錄,您將獲得一個程序 ID,該 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
。