我注意到我的家庭服务器上有许多我没有碰到的目录,修改时间已经改变,尽pipe这些目录中没有包含这些文件的时间变化。
我运行一个IDS(fcheck),它没有报告目录修改时间的date。 这并不奇怪,因为有问题的目录在我的主目录(我的IDS不扫描)。 我已经grepped通过auth.log并没有发现任何未经授权的访问date有问题,并检查/ etc中的大多数configuration似乎是相同的。 我应该如何继续下一步,以确定是否实际上我的机器已经被入侵?
检查你的日志是第一件事。 这应该让你知道,如果有人通过任何打开的门进入你的系统( 例如, sshd,你看到login时间不符合你login的时间?)
检查/等是一个好主意,但这只会告诉你是否有人试图修改你的configuration,而不是有人真正渗透你的系统只是为了好玩。
另外,您是否已经为您的平台应用了所有当前的安全补丁? 如果不是,立即做。
如果你确定你的系统已经被侵入,那么你必须弄清楚他们使用了什么向量。 你说这是一个家庭服务器:这是否意味着有人已经破解了你的无线networking密码,并从局域网(这通常是一个值得信赖的networking)的攻击,或有人从WAN端通过你的路由器?
PS我忘了包含一个脚本(你故意运行)可能已经触及了/〜的文件,因为某些完全合法的原因。 在担心遭到黑客攻击之前,这也是值得关注的。
昨天晚上我参加了一个关于基本计算机取证的非常精彩的演讲。 这是他的幻灯片的链接。 http://greenfly.org/talks/security/forensics.html他以一个Superslueth的演示结束了这将需要你拉你的系统上的插头,引导救援光盘,不会自动安装硬盘驱动器,然后安装只读,制作您感兴趣的硬盘或分区的映像,然后在单独的机器上将其加载到SUperslueth中。 这是相当数量的工作,但是在运行和挂载读写时使用机器将会破坏大量的数据。
关于拔插头,他build议,因为停止机器可能会导致大量的清理,这将使实际上看到文件或MAC的变化更难。
修改时间不是一个可靠的信息来源,因为它可以经常更改(特别是在主目录中)。 这是手册说的:
st_mtim Time when file data was last modified. Changed by the truncate(2), utimes(2), and write(2) system calls. For di- rectories, changed by any system call that alters which files are in the directory, such as the unlink(2), rename(2), mkdir(2), and symlink(2) system calls. st_ctime Time when file status was last changed (inode data modifica- tion). Changed by the chmod(2), chown(2), link(2), rename(2), unlink(2), utimes(2), and write(2) system calls.
所以,如果你运行备份,错误地做了一个chmod *或类似的事情,那么更改/修改时间可能已经改变了。
现在,关于入侵的话题,事后检查只有在您采取安全措施之前,才会起作用。 如果您没有将日志安全地存储在中央存储库中,则在目标机器上查找它们是没有用的(任何攻击者都会删除/修改它们)。 我的build议:
不要相信在可疑主机上运行的任何工具。 如果你login并开始戳文件,你可以污染证据,让入侵者猜测你发现了他/她。 尝试通过在外部运行stream量捕获来密切监视主机的networkingstream量。 寻找任何嫌疑或不寻常的连接。 如果你没有发现任何东西,在短暂的停机时间内全面了解硬盘。 不要经过正常的关机过程,硬重置它。 在分析磁盘映像的同时,您可以保持系统运行并持续监视其networkingstream量。