该服务器在做什么?


13

我有一堆以前的IT部门遗留的linux虚拟服务器。他们的名字像“魔术”或“东西”。我不太确定他们在做什么...或者我是否需要他们...

你们和女孩们将如何去发现这些机器的用途?(除了关闭它们,看看有什么坏处)


2
您是否具有登录这些计算机的凭据?
天鹰

我确实拥有执行机器所需的凭据
blsub6 2011年

9
完全没有价值的评论,但此问题的标题将使游戏节目做得很好。
马特·西蒙斯

Answers:


20

有几个地方可以开始:

  • 监听服务(netstat)-一般来说,这应该使您对系统的运行情况有个体面的了解。
  • /root/.bash_history (或者其他用户,如果他们不使用root的话)-理想情况下,控制台上发生的一切都将与系统的目的有关。
  • /var/log -浏览标准日志,并查找任何与应用程序相关的内容。
  • 已安装的软件包-这是特定于它们正在运行的linux发行版的,但是如果有日志,请查看。 /var/log/dpkg.log/var/log/yum.log等等。

2
其他的事情看的cron作业(包括系统/etc/crontab/etc/cron.*与每个用户的工作)
DerfK

1
而a ps uaxwtop,怎么回事呢?:)
卡拉什伊斯特万

12

我知道这不太科学,但是如果您征得了管理层的许可,我会考虑暂停虚拟机-您会发现它们是否比您想像的更快,如果它在没有人抱怨的情况下停顿了……这说明你别的。

认真地说,尽管您可能会花很多时间试图找出它们,但每个人都不真正知道他们所做的一切。暂停它们可能看起来有些古怪/苛刻,但是在没有文档的情况下,我敢肯定您可以将其出售给管理层,作为一开始的一次性查看它如何进行的。


4
+1-找出正在运行的服务的唯一方法是将其关闭。我的上一份工作是一台Windows NT4“打印服务器”,它应该已经死了几年了。关闭的那一天,一大堆东西破裂了,没人知道那个盒子上正在运行。
voretaq7 2011年

1
暂停并等待。两个月后,一些随机用户抱怨共享,快捷方式或其他不起作用(但它起作用了!)将其打开。
adamo 2011年

5
@adamo ...立即将数据/功能迁移到公认的受支持机器/ VM,然后再次关闭。
斩波器

7

我很惊讶地看到建议的第一个答案不是ps -ef,所以我将其添加:如果您想知道系统现在正在做什么,请阅读进程列表,特别注意root的作用,然后是否存在由显名用户(mysql,已命名等)拥有的进程。

然后,我将进程列表与lsof以root身份运行的进程列表进行比较,以查看哪些进程正在网络上侦听,哪些进程正在打开文件。通常,这可以使您很好地了解包装盒上长期运行的过程,这些过程通常是其主要功能。

值得注意的例外包括邮件-请参阅本地syslog以及mailqsendmail处理的内容的详细信息-以及inted类型的按需运行服务,/etc/xinetd.conf至少对于最近的基于Redhat的Linuxes来说,这是一个好选择。

希望能有所帮助;让我们知道您是否遇到特别的问题,我们可以帮助您确定!


为+1 lsoflsof -i在这些情况下可以成为您最好的朋友。
布莱恩(Brian)

1

我将从查看正在运行的服务开始...然后尝试将那些服务与它们托管的服务进行匹配。在任何情况下都不要关闭您不知道它正在做的事情,因为如果它的任务很关键,那么您可能会中断正在运行的事情(如果这是您垂死的路线,请暂停它们)...您还应该检查一下看看是否有任何文档。


1

哦,亲爱的,那很有趣。

您知道它们的用途吗?您可以将其范围缩小到“这些用于网络服务”,还是真的什么都可以?

我想说有必要在每台服务器上捕获数据包,并对所有正在运行的服务进行审核。找到每个正在运行的服务的配置文件,并检查文件的最后更新时间-这将为您提供有关是否已自定义某些内容(如果已自定义)的提示。

您还可以在每台服务器上运行端口扫描,以查看哪些端口已打开并正在响应。

您可以通过查询已知的网络服务(例如EG,DNS,LDAP等)来获得线索。通过挖掘NS记录,您应该能够找到特定区域的所有DNS服务器的列表。请记住,最终获得的NS记录列表可能比实际的活动DNS服务器更长,但这将为您提供一个起点。

这些方法中的任何一种都不能肯定会自行解决,但是,如果您在特定的框上使用多种审核方法,则发现所有值得查找的内容的机会就会增加。

祝好运!


第一个句子+1,我确定这是我们所有人在阅读问题时的想法。:)
John Gardeniers

0

端口扫描将显示任何网络可访问的服务

从本地服务器: nmap 127.0.0.1

或者您可以告诉nmap扫描某个子网/掩码


2
甚至只是netstat。
John Gardeniers

0

另一个角度是查看配置为连接到服务器的设备。如果在CEO的电子邮件客户端中配置了foozle.example.com,则可能是邮件服务器。FTP客户端可能指向某种Web服务器。等等


尽管这行得通,但问题是,必须检查所有其他计算机,甚至可能还要检查这些计算机上的每个用户帐户,而不仅仅是目标计算机。
John Gardeniers

并非如此-如果这些服务器实际上是服务器,则检查样本应该可以告诉您其中有多少盒子。或至少是通常内部访问的。令我惊讶的是,您还可以查看防火墙规则以涵盖外部可访问的服务。
Wyatt Barnett

0

ps -ef用于进程,netstat -a用于服务侦听,以及tcpdump以查看来回流量是很好的建议。此外,由于它是Linux,因此很有可能正在运行防火墙-检查它的规则设置,应该可以为您提供一个很好的线索,说明该主机以及该主机连接到的远程主机应使用哪些服务。例如iptables --list当然,什么防火墙是要检查的另一件事,请尝试使用lsmod查找防火墙模块并检查/ var / log

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.