Centos

跟踪使用者 ssh 到另一個系統的確切時間的最簡單方法是什麼

  • June 21, 2021

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

引用自:https://unix.stackexchange.com/questions/655108