如何确定登录到Root的人的IP地址?

Mat*_*sen 16 security root

有几个人对我负责的特定 VM 具有 root 访问权限。我想知道是哪个 IP 地址用于登录 root。

phe*_*mer 15

您可以使用该last命令来获取此信息

# last|head
phemmer  ssh          192.168.0.24     Wed Aug 20 21:08 - 21:08  (00:00)
phemmer  pts/13       192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:07 - 23:07  (00:00)
phemmer  pts/15       192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  ssh          192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  :0                            Wed Jul 30 20:06   still logged in
reboot   system boot  3.13.2-gentoo    Wed Jul 30 20:05   still running
Run Code Online (Sandbox Code Playgroud)

毫无疑问,您可以看到,第三列将显示 SSH 登录时的远程 IP 地址。

last使用该/var/log/wtmp文件,因此此方法类似于 G-Man 的答案(只是稍微简单一点,因为您不必指定文件的路径)。


Mic*_*mer 14

这取决于您的发行版或操作系统。sshd将在某处记录每次登录,并将在登录中包含相关的 IP 地址,格式如下:

Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297
Run Code Online (Sandbox Code Playgroud)

这部分是一致的,但你如何到达那里可能会有所不同。在基于 的系统上systemd,使用journalctl

journalctl /usr/bin/sshd
Run Code Online (Sandbox Code Playgroud)

列出sshd可执行文件中的所有日志消息。您可以针对 root 登录名或其他条件进行搜索,并使用--since--until(请参阅 参考资料man journalctl)按日期对其进行限制。

或者,从历史上看,消息将(通常)登录到/var/log. 通常sshd消息进入/var/log/auth.log,但确切的文件可能会有很大差异。无论是哪一种:

grep sshd /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

将为您提供与journalctl版本大致相同的输出。


G-M*_*ca' 7

命令

who /var/log/wtmp
Run Code Online (Sandbox Code Playgroud)

应该显示类似显示的信息who,但要回到过去。


pqn*_*net 7

如果您想审计以 root 身份登录的人,则不应允许人们ssh通过直接以 root 身份登录(使用 root 密码或 中的证书/root/.ssh/authorized_keys)来使用。相反,每个人使用一个帐户,让他们使用sudo以获得 root 权限。通过这种方式,您将在适当的日志中找到消息(日志文件的位置取决于您拥有的发行版,您甚至可以配置日志守护程序将消息发送到另一台机器)user john ran the command 'sudo rm -rf /'。好吧,也许您不会在日志中轻松找到该命令。

  • @Patrick 首先,问题以“有几个人对特定 VM 具有 root 访问权限”开始,因此建议正确的方法不是审核 IP 而是审核用户是有道理的。其次,你提出的问题是无关的:如果一个人应该在 LDAP 不工作的紧急情况下访问一台机器,她应该有他自己的本地帐户,如果她应该在这种紧急情况下进行管理工作,本地帐户应该有`sudo` 权力。从来没有真正的理由在两个人之间共享一个帐户,但如果需要,一个人可以拥有两个帐户。 (4认同)
  • 首先,这不能回答问题。其次,你应该总是有办法拯救系统。当您使用 LDAP 身份验证并且您的 LDAP 服务器死机时会发生什么?你将如何登录到框中? (2认同)