Que fait ce serveur?


13

Il me reste un tas de serveurs virtuels Linux d'un service informatique précédent. Ils ont des noms comme 'magic' ou 'stuff'. Je ne sais pas trop ce qu'ils font ... ou si j'en ai besoin ...

Comment les gars et les filles vous aideriez-vous à découvrir le but de ces machines? (en plus de les désactiver et de voir ce qui se casse)


2
Avez-vous des informations d'identification pour vous connecter à ces machines?
Skyhawk

J'ai les informations d'identification pour faire ce dont j'ai besoin pour les machines
blsub6

9
Commentaire totalement sans valeur, mais le titre de cette question ferait un excellent jeu télévisé.
Matt Simmons

Réponses:


20

Quelques endroits pour commencer:

  • services d'écoute ( netstat) - cela devrait, d'une manière générale, vous donner une idée décente de ce qui se passe avec le système.
  • /root/.bash_history (ou celle des autres utilisateurs, s'ils n'utilisaient pas root) - tout ce qui se passe sur la console sera, idéalement, lié au but du système.
  • /var/log - jetez un œil aux journaux standard et recherchez tout ce qui concerne l'application.
  • Paquets installés - ceci est spécifique à la distribution de Linux qu'ils exécutent, mais si les journaux sont là, jetez un œil. /var/log/dpkg.log, /var/log/yum.logEtc.

2
Les autres choses à considérer sont les tâches cron (à la fois les tâches système /etc/crontabet /etc/cron.*les tâches par utilisateur)
DerfK

1
et qu'en est-il d'un ps uaxwou toppour voir ce qui se passe? :)
KARASZI István

12

Pas vraiment scientifique, je sais, mais si vous obtenez l'autorisation de votre direction, j'envisagerais de suspendre les machines virtuelles - vous découvrirez si elles sont importantes plus rapidement que vous le pensez, si cela reste en pause sans que personne ne se plaigne ... vous autre chose.

Sérieusement, vous pourriez passer une carrière à essayer de les comprendre sans que tout le monde sache vraiment tout ce qu'ils font. Les suspendre peut sembler étrange / draconien, mais en l'absence de documentation, je suis sûr que vous pourriez vendre l'idée à la direction, de manière ponctuelle dans un premier temps pour voir comment cela se passe de toute façon.


4
+1 - La seule façon de savoir quels services quelque chose est en cours d'exécution est de le désactiver. Mon dernier travail avait un "serveur d'impression" Windows NT4 qui était en place des années après sa mort. Le jour où il a été éteint, tout un tas de choses s'est cassé que personne ne savait courir sur cette boîte.
voretaq7

1
Faites une pause et attendez. Et après deux mois et un utilisateur aléatoire se plaint qu'un partage, un raccourci ou quelque chose d'autre ne fonctionne pas (mais cela a fonctionné!) Les allume.
adamo

5
@adamo ... momentanément pour migrer les données / fonctionnalités vers une machine / VM prise en charge reconnue, puis désactivez-la à nouveau.
Chopper3

7

J'ai été surpris de voir que la première réponse suggérée ne l'était pas ps -ef, alors je vais l'ajouter: si vous voulez savoir ce qu'un système fait en ce moment , lisez la liste des processus, en accordant une attention particulière à la racine, et s'il existe des processus appartenant à des utilisateurs nommés ostensiblement (mysql, named, etc.).

Je comparerais ensuite ma liste de processus à l' lsofexécution en tant que root pour voir quels processus écoutent sur le réseau et lesquels contiennent des fichiers ouverts. En règle générale, cela vous donne une assez bonne image des processus de longue durée sur la boîte, qui sont généralement sa fonction principale.

Les exceptions notables incluent le courrier - voir syslog local et mailqpour plus de détails sur ce qui est traité par sendmail - et les services run-on-type de type /etc/xinetd.confinted , pour lesquels c'est un bon pari, au moins pour les Linux les plus récents basés sur Redhat.

J'espère que cela pourra aider; faites-nous savoir si vous rencontrez quelque chose en particulier, nous pouvons vous aider à identifier!


+1 pour lsof. lsof -ipeut être votre meilleur ami dans ces situations.
Brian

1

Je commencerais par voir quels services sont en cours d'exécution ... Ensuite, essayez de les faire correspondre à ce qu'ils hébergent. N'éteignez en aucun cas ce que vous ne savez pas faire car vous pourriez casser ce qu'il exécute si sa mission est critique (si c'est la route que vous mourez d'envie, mettez-les en pause) ... Vous devriez également vérifier pour voir s'il y a une sorte de documentation.


1

Oh chéri, c'est amusant.

Avez-vous une idée de leur utilisation? Pouvez-vous le réduire à "ceux-ci ont été utilisés pour les services réseau", ou pourrait-il vraiment s'agir de quelque chose?

Je dirais qu'une capture de paquets sur chaque serveur est nécessaire, ainsi qu'un audit de tous les services en cours d'exécution. Localisez les fichiers de configuration pour chaque service en cours d'exécution et vérifiez quand les fichiers ont été mis à jour pour la dernière fois - cela vous donnera un indice pour savoir si quelque chose a été personnalisé, et si oui, depuis combien de temps.

Vous pouvez également exécuter une analyse des ports sur chaque serveur pour voir quels ports sont ouverts et répondent.

Vous pouvez obtenir des indices en interrogeant les services réseau connus - EG, DNS, LDAP, etc. Vous devriez pouvoir trouver une liste de tous les serveurs DNS pour une zone particulière en fouillant pour les enregistrements NS. Gardez à l'esprit que vous pouvez vous retrouver avec une liste plus longue d'enregistrements NS qu'il n'y a réellement de serveurs DNS actifs, mais cela vous donnera un point de départ.

Aucune de ces méthodes ne se déclenche à elle seule, mais si vous lancez plusieurs méthodes d'audit dans une case particulière, vos chances de trouver tout ce qui mérite d'être trouvé sont améliorées.

Bonne chance!


+1 pour la première phrase, ce qui, j'en suis sûr, est ce que nous pensons tous en lisant la question. :)
John Gardeniers

0

Une analyse de port révélerait tous les services accessibles au réseau

Depuis le serveur localement: nmap 127.0.0.1

Ou vous pouvez dire à nmap de scanner un certain sous-réseau / masque


2
Ou même simplement netstat.
John Gardeniers

0

Un autre angle consiste à regarder ce qui est configuré pour se connecter aux serveurs. Si foozle.example.com est configuré dans le client de messagerie du PDG, il s'agit probablement du serveur de messagerie. Les clients FTP pointent probablement vers un serveur Web quelconque. Etc.


Bien que cela fonctionne, le problème est que toutes les autres machines et peut-être même tous les comptes d'utilisateurs de ces machines devraient être vérifiés, plutôt que les machines cibles.
John Gardeniers

Pas vraiment - s'il s'agit en fait de serveurs, la vérification d'un échantillon devrait vous indiquer la majeure partie des cases. Ou au moins le communément accessible en interne. Il me semble que vous pouvez également consulter les règles de pare-feu pour couvrir les services accessibles en externe.
Wyatt Barnett

0

ps -ef pour les processus, netstat -a pour l'écoute des services et tcpdump pour voir quel trafic va et vient sont d'excellentes suggestions. De plus, comme il s'agit de Linux, il y a de fortes chances qu'un pare-feu fonctionne - consultez les règles définies pour cela, devrait vous donner une bonne idée des services qui devraient être utilisés sur cet hôte et les hôtes distants auxquels cet hôte se connecte. . par exemple iptables --list Bien sûr, quel pare-feu il y a une autre chose à vérifier, essayez lsmod pour rechercher des modules de pare-feu et consultez / var / log

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.