我的机器上的漏洞

use*_*812 2 ssh keys intrusion-detection

可能重复:
我的服务器被黑了 紧急情况

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

由于更改了密钥,甚至 freenx 也不再接受我的连接。

反正没有什么重要的。

但是我如何验证它是否被破坏?

谢谢

Jar*_*und 6

需要注意的是,还有其他一些良性的东西会导致这个key的变化。

例如,大多数 SSH 客户端会在主机名和指纹上构建缓存。我在工作中经常遇到这个问题,因为它涉及同一 IP(但在不同网络上)上的许多机器,因此我的 ssh 客户端只存储 IP 和指纹,而忽略了它在不同网络上的事实,因此一台不同的机器(嘿,它怎么知道?)。如果您重新安装了系统(密钥通常在安装过程中生成),或者如果主机名用于指代您已进入的另一台机器,您将收到相同的警告。

当密钥发生变化并且机器相同时,您应该回想是否有任何原因导致这种变化。你最近在修改 sshd 吗?如果重新安装/重新编译 sshd,某些发行版会生成新密钥。

如果上述情况都不是,那么可能的情况是有人在进行中间人攻击。简而言之,一台伪装成您的服务器的机器,以便在您尝试登录时获取您的登录信息。要实现这一点,有人必须欺骗您的机器地址/主机名,或者控制其中一个您和您的机器之间的数据传输点(路由器、网桥等)。

如果您进入机器(通过适当的命令行切换到您的 ssh 客户端,或通过从 /home/username/.ssh/known_hosts 中删除违规密钥),那么我对入侵检测的初始检查将是:

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

如果您可以物理访问机器,我会打开它的键盘/显示器,然后重新启动到单用户模式。这可确保在执行这些检查时只有您在系统上。

确认入侵后,第一步是清理系统。由于没有什么重要的东西,最好的方法是完全重新安装,因为很难清除一个在别人控制下很长一段时间的系统。(他们有很多次安装大量后门以确保他们保持未经授权的访问)。

第二步是追踪系统最初是如何被入侵的,以确保它不会再次发生。