如何记录 SSH 访问尝试并跟踪 SSH 用户最终在我的服务器上执行的操作?

Rad*_*Hex 6 security ssh logging ubuntu-server ubuntu

我的服务器出现了一些安全问题,因为一些 SSH 用户造成了问题。

所以我想:

  • 跟踪用户登录和注销
  • 跟踪这些 SSH 用户的活动,以发现任何恶意活动
  • 防止用户删除日志

Dou*_*ris 10

ssh 守护进程sshd内置并启用了大部分功能。以下是/var/log/secure我机器上的一些示例行(名称和 IP 地址已更改):

Sep  7 08:34:25 myhost sshd[6127]: Failed password for illegal user root from 62.75.999.999 port 52663 ssh2
Sep  7 08:34:26 myhost sshd[7253]: User root not allowed because listed in DenyUsers
Sep  7 08:34:28 myhost sshd[7253]: Failed password for illegal user root from 62.75.999.999 port 53393 ssh2
Sep  7 11:55:18 myhost sshd[11672]: Accepted password for gooduser from 98.999.26.41 port 43104 ssh2
Sep  7 23:01:28 myhost sshd[22438]: Did not receive identification string from 999.56.32.999
Sep  8 06:31:30 myhost sshd[21814]: Accepted password for gooduser from 98.999.26.41 port 5978 ssh2
Run Code Online (Sandbox Code Playgroud)

这个例子显示了一些人以 root 身份 ssh 进入这台机器的几次尝试——两次都被拒绝,因为 root 被禁止。它还显示名为“gooduser”的用户成功登录。

微调什么你看到在哪个文件,在阅读更多的sshd_config手册页-专为LogLevel的和SyslogFacility的选项。

  • OP 指定了 Ubuntu,因此默认情况下,此信息将位于 `/var/log/auth.log` 中 - RHEL、Centos 等默认使用 /var/log/secure。在任何一种情况下,不仅可以归结为 sshd 配置中的“SyslogFacility”配置,还可以归结为 syslog 守护进程的配置——例如,在“/etc/rsyslog.conf”中。也许您可能在本地文件中以不同的方式排列日志文件,或者您可能将日志完全传送到其他地方。 (2认同)