从一次失败的恶意 SSH 尝试中我们可以了解到有关“用户”的哪些信息?
- 已输入用户名 (
/var/log/secure
) - 输入密码(如果已配置,即使用 PAM 模块)
- 源 IP 地址 (
/var/log/secure
)
还有其他方法可以提取其他内容吗?无论是隐藏在日志文件中的信息、随机技巧还是来自第三方工具等。
答案1
嗯,您还没有提到的一项是他们在输入密码之前尝试过的私钥的指纹。使用openssh
,如果您设置LogLevel VERBOSE
,/etc/sshd_config
您可以在日志文件中获取它们。您可以根据用户在其配置文件中授权的公钥集合检查它们,以查看它们是否已被泄露。如果攻击者掌握了用户的私钥并正在寻找登录名,那么知道密钥已被泄露可以防止入侵。诚然,这种情况很少见:拥有私钥的人可能也找到了登录名……
答案2
进一步了解LogLevel DEBUG
,您还可以找到格式为
Client protocol version %d.%d; client software version %.100s
它还将打印密钥交换期间可用的密钥交换、密码、MAC 和压缩方法。
答案3
如果登录尝试非常频繁或全天候发生,那么您可能会怀疑登录是由机器人执行的。
您可能能够根据用户登录的时间或服务器上的其他活动推断出用户的习惯,即登录总是在来自同一 IP 地址的 Apache 命中、POP3 请求或 git pull 之后 N 秒进行。