Linux SSH 审计失败的 root 登录

Linux SSH 审计失败的 root 登录

假设有两台服务器(服务器 A 和服务器 B)。我看到 root ssh 从服务器 A 登录到服务器 B 的尝试失败。两台服务器的 root ssh 登录都已被禁用。

我想找出服务器 A 中的所有命令历史记录,即找出在服务器 A 中运行 ssh 的所有用户。

或者

在 B 服务器中添加审计,以便日志消息将显示来自服务器 A 的操作系统 ID,该服务器试图从 A 以 root 身份执行 ssh。

示例:用户 1 在服务器 A 中,尝试使用 root 身份通过 ssh 连接到服务器 b,但登录尝试失败。服务器 B 日志应显示 root 身份通过 ssh 连接失败,该操作由用户 user1 从服务器 A 发起。

注意:除管理员外,没有人可以登录服务器 A。服务器 A 中也没有 crontabs 条目。我怀疑安装在服务器 A 中的供应商包可能正在通过 root 身份通过 ssh 连接到服务器 B,因为两者都是集群的一部分。

答案1

我想找出服务器 A 中的所有命令历史记录,即找出在服务器 A 中运行 ssh 的所有用户

就像 Gilles 所说的那样话题, 您可以使用 :

getent passwd | cut -d : -f 6 | sed 's:$:/.bash_history:' | xargs -d '\n' grep -s -H -e "ssh" 

在 B 服务器中添加审计,以便日志消息显示尝试使用 A 的 root 身份执行 ssh 的服务器 A 的操作系统 ID

显示操作系统 ID 的目的是什么?它是什么?

答案2

除非你预先使用 auditd 配置了审计功能(记录对以下任一命令的调用)特别是 ssh 客户端或者所有可执行文件/命令)您不太可能已经拥有任何形式的包含该特定服务器上所有过去事件的综合日志。

您的管理员可能错误地提交了sudo ssh server-B,然后应该在中记录该操作(取决于您的分布)/var/log/[authlog | secure]

您可以检查~/.bash_history用户的文件,但该文件仅会记录交互式登录会话中的用户操作,而当用户覆盖命令历史记录集合或 ssh 会话由脚本启动时,则不会记录任何内容。

相关内容