违反我的机器

可能重复:
我的服务器被黑了应急

突然之间,ssh声称我的服务器上的密钥已更改。

即使freenx也不接受我的关系,因为改变了关键。

无论如何,没有什么重要的。

但是,如何确认是否被破坏?

谢谢

应该指出的是,还有其他一些可能导致这个关键变化的良性的事情。

例如,大多数SSH客户端通过主机名和指纹build立caching。 在我的工作中,我遇到了很多问题,因为它涉及到很多机器在同一个IP上(但在不同的networking上),因此我的ssh客户端只存储IP和指纹,而忽略了它在不同的networking上的事实一个不同的机器(嘿,它怎么知道?)。 如果您重新安装了系统(密钥通常是在安装过程中生成的),或者您使用的是主机名来引用您已经注册的其他机器,则会得到相同的警告。

当钥匙改变了,机器是一样的,你应该回想一下,如果有什么理由来做这个改变的话。 你最近是否在修改sshd? 如果sshd被重新安装/重新编译,一些发行版会生成新的密钥。

如果上述情况都不是这样,那么可能的情况是有人正在进行中间人攻击。 简单地说,一台假装成你的服务器的机器,以便它可以在你login时获得你的login信息。为了避免这种情况发生,有人必须欺骗你的机器地址/主机名,或者控制其中一个数据传输点(路由器,网桥等)在你和你的机器之间。

如果你进入机器(通过适当的命令行切换到你的ssh客户端,或者从/home/username/.ssh/known_hosts删除关键字),那么我对入侵检测的初始检查是:

  • find/ etc / -mtime -3(发现/ etc /在过去3天内更改过的所有文件。调整数字以确保它与每当问题开始时重叠)
  • 检查/ var / log(安全,消息等)中的相应日志,
  • 检查是否有其他人login到您的系统
  • 使用上面列出的find命令来search您的web根目录中不应该存在的更改(在php脚本中安装后门是获取未授权访问的常用方法)

如果你有机器的物理访问权限,我会得到它的键盘/显示器,并重新启动到单用户模式。 这样做可以确保您和您只有在执行这些检查时才在系统上。

确认入侵后,第一步是清理系统。 由于没有什么重要的东西,所以最好的办法是做一个完整的重新安装,因为很难清理一个在相当长时间内一直处于某人控制下的系统。 (他们有足够的时间来安装很多后门,以确保他们保持未经授权的访问)。

第二步是先追踪系统如何被破坏,以确保系统不会再次发生。

我假设你正在使用Linux,如果是的话,第一步是使用rkhunter检查是否有任何文件更改或感染。