我有一堆以前 IT 部门留下的 Linux 虚拟服务器。它们的名字像“魔法”或“东西”。我不太清楚它们在做什么……或者我是否需要它们……
你们将如何找出这些机器的用途?(除了关掉它们并查看它们是否坏掉)
答案1
可以从以下几个地方开始:
- 监听服务(
netstat
)——一般来说,这应该可以让您清楚地了解系统正在发生的事情。 /root/.bash_history
(或者其他用户,如果他们没有使用 root) - 理想情况下,控制台上发生的任何事情都与系统的目的相关。/var/log
- 浏览标准日志并查找任何与应用程序相关的内容。- 已安装的软件包 - 这是特定于它们正在运行的 Linux 发行版的,但如果日志在那里,请查看。
/var/log/dpkg.log
,,/var/log/yum.log
等等。
答案2
我知道这不太科学,但如果你得到管理层的许可,我会考虑暂停虚拟机——你会比你想象的更快地发现它们是否重要,如果它保持暂停状态而没有人抱怨……那么这说明了其他的事情。
说真的,你可能要花一辈子的时间去弄清楚它们,却根本不了解它们所做的一切。暂停它们可能看起来很奇怪/严厉,但在没有文档的情况下,我相信你可以把这个想法卖给管理层,一开始作为一次性的尝试,看看情况如何。
答案3
我很惊讶地看到建议的第一个答案不是ps -ef
,所以我会添加它:如果你想知道系统正在做什么现在,阅读进程列表,特别注意 root 正在做什么,以及是否有显眼名称的用户拥有的进程(mysql、named 等)。
然后,我会将我的进程列表与lsof
以 root 身份运行的进程列表进行比较,以查看哪些进程正在监听网络,哪些进程正在保存打开的文件。通常,这可以让你很好地了解机器上长时间运行的进程,这通常是它的主要功能。
值得注意的例外包括邮件 - 请参阅本地系统日志和有关mailq
sendmail 处理内容的详细信息 - 以及 inted 类型的按需运行服务,这/etc/xinetd.conf
是一个不错的选择,至少对于大多数最新的基于 Redhat 的 Linux 而言。
希望这会有所帮助;如果您遇到某些特殊情况,请告诉我们,我们可以帮助您识别!
答案4
噢亲爱的,这很有趣。
你知道它们是用来做什么的吗?你能把范围缩小到“它们用于网络服务”吗,或者真的有什么用途吗?
我认为有必要对每台服务器进行数据包捕获,并对所有正在运行的服务进行审核。找到每个正在运行的服务的配置文件,并检查文件的最后更新时间 - 这将为您提供有关某些内容是否已自定义以及如果已自定义多久的线索。
您还可以在每台服务器上运行端口扫描,以查看哪些端口是开放的并且正在响应。
您可以通过查询已知网络服务(例如 DNS、LDAP 等)来获取线索。通过挖掘 NS 记录,您应该能够找到特定区域的所有 DNS 服务器列表。请记住,您最终得到的 NS 记录列表可能比实际活动的 DNS 服务器更长,但它会为您提供一个起点。
这些方法本身都不是万无一失的,但如果你在一个特定的框中使用多种审计方法,那么找到所有值得找到的东西的机会就会增加。
祝你好运!