我这里遇到了一种情况。
我们需要控制 2 台服务器。目前我们已知的信息如下:
- 两者都运行 Linux,至少有一个运行 Red Hat
- 它们被用作文件服务器、mysql 服务器,可能还有一个 sip 服务器
- 他们正在运行 apache 和 phpMyAdmin 3.4.1
- 据说他们每 30 分钟镜像一次数据
- 前任管理员说过,他们不可能被闯入,并且系统仍然正常运行。
- 我们没有这些系统上的 root 密码或任何账户
前任管理员已被解雇,必须被视为恶人。他可以进行远程访问。
其中一台服务器已经无法正常工作,老管理员说,如果关闭其中一台服务器,整个系统就会崩溃。
我们不知道他到底有多优秀。
我们目前的计划: - 无论如何都要关闭服务器并制作完整映像。 - 在网络周围放置额外的防火墙 - 重新启动一台服务器 - 配置防火墙,以便只允许 SIP 流量通过
因此我们希望获得一个可以正常工作的系统,旧管理员无法进行远程连接。
然后尝试进入另一台服务器以获取配置,并真正获得控制权。
您还有其他想法吗?您发现弱点了吗?
欢迎任何想法。
英戈
- - 更新 - -
在系统周围设置防火墙或创建系统映像都是不被接受的。
他们试图强迫我们在不采取任何进一步预防措施的情况下尝试破解密码,所以最后我们放弃了。
可接受的答案就是我们会做的事。
答案1
我会这样做:
- 首先,我认为系统已被入侵。这意味着除非经过仔细检查,否则我不会信任数据、配置等。
- 我会准备一张实时 CD 和一个空硬盘(可以是不受损害的网络存储)
- 我会重置系统(不是系统重启,而是重置按钮),然后制作磁盘映像。此映像应设为只读,或者您应该创建它的备份。该映像可用于取证和数据恢复。
- 我将使用一个干净的可信虚拟机,在其中安装分区,并使用防病毒软件扫描用于文件共享的所有卷。
- 即使您有备份,您也不应该相信数据。
- 在新的干净服务器上安装服务,然后在检查数据时移动数据
答案2
由于您要关闭服务器,请使用实时 CD/USB 密钥启动其中一个服务器,然后挂载根文件系统并将chroot
其放入其中。
然后更改 root 密码并检查是否有其他用户在场并也更改他们的密码。
然后您可以重新启动它,连接到网络并对另一台服务器执行相同的步骤。
答案3
无需按照@Mr Shunz 的建议使用 Live CD 启动,因为系统正在运行。只需重新启动服务器,在启动管理器中选择编辑启动参数并1
在末尾添加。系统将在运行级别 1 中启动,没有网络,并且 root 用户已经登录。最终禁用系统管理程序在启动时自动启动,这样 puppet 或 chef 等程序最终不会在系统上强制使用特定用户或密码。更改 root 密码,重新启动,然后使用 root 用户调查系统上的内容。
答案4
这个答案取决于使用 Grub 和重新启动服务器,但由于它们是 Redhat 服务器,因此 Grub 几乎可以保证,并且它是无需启动到其他介质即可重新获得访问权限的可靠方法。如下所示:
启动重启。当引导加载程序屏幕弹出时,连续按下 Esc 键以停止自动引导至默认内核。
使用箭头键,突出显示要启动的内核,然后按“e”编辑该行。
将以下内容附加到内核行:“init=/bin/bash”
按“Enter”键接受更改。
确保您编辑的行突出显示,然后按“b”键启动到编辑的内核行。
这将在操作系统的其余部分加载之前以 root 身份启动到 shell;文件系统将以只读方式安装。
现在,您可以使用“passwd root”更改 root 的密码。如果您发现在此状态下需要写入文件,则可以执行“mount -o remount,rw /”将文件系统重新挂载为读/写。
如果您已将文件系统重新挂载为读/写,请使用“mount -o remount,ro /”将其重新挂载为只读。使用shutdown -H停止系统,然后物理重启服务器。