旧 utmp 条目

旧 utmp 条目

我是一个小型 Debian Lenny 服务器的管理员,我遇到了这个问题:有时,当用户的 SSH 会话关闭时,条目不会从 中删除/var/run/utmp,从而导致出现这样的消息finger

grawity@sine ~$ 手指
finger:/dev//pts/31:没有那个文件或目录
登录名称 Tty 空闲登录时间 办公室 办公室电话
user1 (用户) pts/1 1d 7 月 15 日 19:12 (foo.uk)
user2(另一个用户)pts/33 7 月 13 日 6:25 12:02(bar:S.1)
user2(另一个用户)*pts/34 6:31 7 月 13 日 17:00(bar:S.0)
grawity (me) pts/25 7月 17 11:57 (78-​​56-197-6:S.0)
grawity (me) pts/27 7 月 17 日 11:57 (78-​​56-197-6.static.zebra.lt)
分段故障
grawity@sine ~$ _

...有时甚至会出现一两个段错误。有一次 utmp 甚至有两个条目指向同一个 tty(但属于不同的用户)。

知道为什么会发生这种情况吗?

到目前为止,我设法修复了 utmp(使用一些用于擦除 Unix 日志的实用程序 :> ),但这显然不是一个解决方案,尤其是当它每天都发生时。

编辑:这个问题不是关于记录消失(到目前为止我还没有看到) - 它是关于相反的情况:登录会话关闭时记录不会被删除。

答案1

finger 分段错误确实不是一个好兆头。我至少会粗略地检查一下是否有入侵;至少运行 chkrootkit 和 debsums 等。其次,您是否尝试过通过 rm 或 echo -n > utmp 完全清除 utmp?它可能以某种微妙的方式被破坏了。

最后,您对 /etc/pam.d 中的 PAM 设置做了什么吗?这很容易导致注销不被记录。

答案2

utmp 文件的所有者是否为 root:utmp 且权限为 664?

如果权限没有问题,并且这是公共服务器,并且启用了公共接口上的 ssh 访问,那么这可能是由于入侵造成的。没有攻击者希望您知道他已登录,因此修改 utmp、btmp 和 wtmp 文件是有意义的。如果是这种情况,请更改 root 密码、查找 root-kit/开放端口、设置非常严格的防火墙、禁用使用 SSH 的直接 root 登录、安装拒绝主机等。但这可能只是我多疑。到目前为止,我刚刚分析了一次入侵尝试,我确实观察到攻击者删除/修改了 btmp 和 wtmp 条目。我猜他们对 utmp 条目也做了同样的事情。

答案3

错误条目是否与特定用户或他们的操作有关?这些只是常规的 ssh 登录还是您使用 X11?您能否检查这些“幻影用户”是否仍在运行某些进程?如果您是 root,查看他们的 .bash_history 至少会知道他们在做什么。

出于谨慎,我可能还会运行 fsck。检查 rootkit 等迹象似乎也是个好主意。

相关内容