Was macht dieser Server?


13

Ich habe eine Reihe von virtuellen Linux-Servern von einer früheren IT-Abteilung übrig. Sie haben Namen wie "Magie" oder "Zeug". Ich bin mir nicht ganz sicher, was sie tun ... oder ob ich sie brauche ...

Wie würden Sie Jungs und Mädels den Zweck dieser Maschinen herausfinden? (außer sie auszuschalten und zu sehen, was kaputt geht)


2
Haben Sie Anmeldeinformationen, um sich bei diesen Computern anzumelden?
Skyhawk

Ich habe die Berechtigungsnachweise, um mit den Maschinen das zu tun, was ich brauche
blsub6

9
Ein völlig wertloser Kommentar, aber der Titel dieser Frage würde eine hervorragende Spielshow ergeben.
Matt Simmons

Antworten:


20

Ein paar Orte, um zu beginnen:

  • Listening Services ( netstat) - Dies sollte Ihnen im Allgemeinen eine anständige Vorstellung davon geben, was mit dem System passiert.
  • /root/.bash_history (oder die anderer Benutzer, wenn sie nicht root verwendet haben) - was auch immer auf der Konsole vor sich geht, hängt im Idealfall mit dem Zweck des Systems zusammen.
  • /var/log - werfen Sie einen Blick auf die Standardprotokolle und suchen Sie nach Anwendungen.
  • Installierte Pakete - Dies ist spezifisch für die Linux-Distribution, die sie ausführen. Wenn die Protokolle jedoch vorhanden sind, schauen Sie sie sich an. /var/log/dpkg.log, /var/log/yum.logUsw.

2
Andere Dinge zu sehen sind Cron-Jobs (sowohl System- /etc/crontabals auch /etc/cron.*Pro-Benutzer-Jobs)
DerfK

1
und was ist mit einem ps uaxwoder top, um zu sehen, was los ist? :)
KARASZI István

12

Kaum wissenschaftlich, ich weiß, aber wenn Sie die Erlaubnis Ihres Managements erhalten, würde ich in Betracht ziehen, die VMs anzuhalten - Sie werden herausfinden, ob sie wichtig sind, schneller als Sie denken, wenn sie angehalten bleiben, ohne dass sich jemand beschwert ... na das sagt Sie etwas anderes.

Im Ernst, Sie könnten eine Karriere hinter sich bringen, ohne dass jeder wirklich weiß, was er tut. Das Anhalten mag seltsam / drakonisch erscheinen, aber da es keine Dokumentation gibt, können Sie die Idee sicher an das Management verkaufen, um zunächst einmal zu sehen, wie es sowieso läuft.


4
+1 - Die einzige Möglichkeit, herauszufinden, welche Dienste ausgeführt werden, besteht darin, sie zu deaktivieren. Mein letzter Auftrag hatte einen Windows NT4 "Druckserver", der Jahre nachdem er hätte sterben sollen, in Betrieb war. An dem Tag, an dem es ausgeschaltet wurde, brach eine ganze Reihe von Dingen zusammen, von denen niemand wusste, dass sie auf dieser Kiste liefen.
Voretaq7

1
Halten Sie sie an und warten Sie. Und nachdem zwei Monate vergangen sind und sich ein zufälliger Benutzer beschwert, dass eine Freigabe, eine Verknüpfung oder etwas anderes nicht funktioniert (aber es hat funktioniert!), Schalten Sie sie ein.
Adamo

5
@adamo ... für einen Moment, um die Daten / Funktionen auf eine erkannte unterstützte Maschine / VM zu migrieren. Schalten Sie sie dann aus, wenn Sie sie wieder deaktivieren.
Chopper3

7

Ich war überrascht zu sehen, dass die erste vorgeschlagene Antwort nicht war ps -ef, also füge ich sie hinzu: Wenn Sie wissen möchten, was ein System tut jetzt , die Prozessliste lesen, besondere Aufmerksamkeit zu widmen , was Wurzel bis zu, und ob es Prozesse gibt, die auffällig benannten Benutzern gehören (mysql, named, etc).

Ich würde dann meine Prozessliste mit vergleichen lsof Ausführung als Root vergleichen, um festzustellen, welche Prozesse im Netzwerk empfangsbereit sind und welche geöffnete Dateien enthalten. In der Regel erhalten Sie so ein ziemlich gutes Bild der lang andauernden Prozesse auf der Box, bei denen es sich üblicherweise um die Hauptfunktion handelt.

Zu den bemerkenswerten Ausnahmen zählen Mail (siehe lokales Syslog und mailqEinzelheiten zur Verarbeitung durch Sendmail) und Run-on-Demand-Dienste vom Typ Inted/etc/xinetd.conf sich zumindest die neuesten Redhat-basierten Linux-Versionen eignen.

Ich hoffe, das hilft; Lassen Sie uns wissen, wenn Sie auf etwas Bestimmtes stoßen, das wir identifizieren können!


+1 für lsof. lsof -ikann in diesen Situationen dein bester Freund sein.
Brian

1

Ich würde damit beginnen zu sehen, welche Dienste ausgeführt werden ... Dann versuchen Sie, diese mit dem zu vergleichen, was sie hosten. Schalten Sie auf keinen Fall das Gerät aus, von dem Sie keine Ahnung haben, dass es etwas tut, da Sie es beschädigen können, wenn es geschäftskritisch ist (wenn dies der Weg ist, den Sie einschlagen möchten, halten Sie es an) Sehen Sie nach, ob es irgendeine Art von Dokumentation gibt.


1

Oh je, das macht Spaß.

Hast du eine Ahnung, wofür sie verwendet werden? Können Sie es auf "Diese wurden für Netzwerkdienste verwendet" eingrenzen, oder könnte es überhaupt etwas sein?

Ich würde sagen, dass eine Paketerfassung auf jedem Server erforderlich ist, zusammen mit einer Prüfung aller ausgeführten Dienste. Suchen Sie die Konfigurationsdateien für jeden ausgeführten Dienst und überprüfen Sie, wann die Dateien zuletzt aktualisiert wurden. Dadurch erhalten Sie einen Hinweis darauf, ob und wie lange etwas angepasst wurde.

Sie können auch auf jedem Server einen Port-Scan durchführen, um festzustellen, welche Ports offen sind und reagieren.

Sie können Hinweise erhalten, indem Sie bekannte Netzwerkdienste abfragen - EG, DNS, LDAP usw. Sie sollten in der Lage sein, eine Liste aller DNS-Server für eine bestimmte Zone zu finden, indem Sie nach NS-Einträgen suchen. Bedenken Sie, dass Sie möglicherweise eine längere Liste von NS-Einträgen haben, als es tatsächlich aktive DNS-Server gibt, aber dies gibt Ihnen einen Ausgangspunkt.

Keine dieser Methoden ist für sich sicher, aber wenn Sie mehrere Prüfmethoden auf eine bestimmte Box werfen, erhöhen sich Ihre Chancen, alles zu finden, was sich zu finden lohnt.

Viel Glück!


+1 für den ersten Satz. Ich bin mir sicher, dass wir alle beim Lesen der Frage denken. :)
John Gardeniers

0

Ein Port-Scan würde alle über das Netzwerk erreichbaren Dienste aufdecken

Vom Server vor Ort: nmap 127.0.0.1

Oder Sie können nmap anweisen, ein bestimmtes Subnetz / eine bestimmte Maske zu scannen


2
Oder auch nur netstat.
John Gardeniers

0

Ein weiterer Aspekt ist die Konfiguration der Verbindung zu den Servern. Wenn foozle.example.com im E-Mail-Client des CEO konfiguriert ist, handelt es sich wahrscheinlich um den E-Mail-Server. FTP-Clients verweisen wahrscheinlich auf einen Webserver. Usw.


Das Problem ist, dass nicht nur die Zielcomputer überprüft werden müssen, sondern alle anderen Computer und möglicherweise auch alle Benutzerkonten auf diesen Computern.
John Gardeniers

Nicht wirklich - wenn es sich tatsächlich um Server handelt, sollten Sie anhand eines Beispiels feststellen, wie groß der Großteil der Boxen ist. Oder zumindest die, auf die üblicherweise intern zugegriffen wird. Es fällt mir auf, dass Sie sich auch die Firewall-Regeln ansehen können, um die von außen zugänglichen Dienste abzudecken.
Wyatt Barnett

0

ps -ef für Prozesse, netstat -a für das Abhören von Diensten und tcpdump, um zu sehen, welcher Datenverkehr hin und her geht, sind großartige Vorschläge. Da es sich um Linux handelt, besteht außerdem eine gute Chance, dass eine Firewall ausgeführt wird. Sehen Sie sich die dafür eingerichteten Regeln an, um zu erfahren, welche Dienste auf diesem Host und auf Remote-Hosts, mit denen dieser Host eine Verbindung herstellt, voraussichtlich verwendet werden . zB iptables --list Natürlich, welche Firewall es gibt, muss noch überprüft werden. Versuchen Sie lsmod, nach Firewall-Modulen zu suchen, und checken Sie / var / log aus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.