Cosa sta facendo questo server?


13

Ho un sacco di server virtuali Linux rimasti da un precedente dipartimento IT. Hanno nomi come "magia" o "roba". Non sono sicuro di cosa stiano facendo ... o se ne ho bisogno ...

Come fareste voi ragazzi e ragazze a scoprire lo scopo di queste macchine? (oltre a spegnerli e vedere cosa si rompe)


2
Hai le credenziali per accedere a queste macchine?
Skyhawk,

Ho le credenziali per fare ciò di cui ho bisogno per le macchine
blsub6

9
Commento totalmente inutile, ma il titolo di questa domanda farebbe un eccellente gioco.
Matt Simmons

Risposte:


20

Un paio di posti per iniziare:

  • servizi di ascolto ( netstat) - questo dovrebbe, in generale, darti un'idea decente di cosa sta succedendo con il sistema.
  • /root/.bash_history (o quello di altri utenti, se non hanno utilizzato root) - qualunque cosa stia succedendo sulla console sarà idealmente correlata allo scopo del sistema.
  • /var/log - Dai un'occhiata ai log standard e cerca qualsiasi cosa relativa all'applicazione.
  • Pacchetti installati: questo è specifico per la distribuzione di Linux in esecuzione, ma se i log sono presenti, dai un'occhiata. /var/log/dpkg.log, /var/log/yum.logecc.

2
Altre cose da guardare sono cron jobs (sia del sistema /etc/crontabed /etc/cron.*e posti di lavoro per utente)
DerfK

1
e che dire di un ps uaxwo top, per vedere cosa sta succedendo? :)
KARASZI István

12

Difficilmente scientifico lo so, ma se ottenessi il permesso dalla tua direzione prenderei in considerazione la sospensione delle macchine virtuali - scoprirai se sono importanti più velocemente di quanto pensi, se rimane in pausa senza che nessuno si lamenti ... beh, questo dice tu qualcos'altro.

Scherzi a parte, potresti passare una carriera cercando di capirli senza che tutti sappiano veramente tutto quello che fanno. Metterli in pausa può sembrare strano / draconiano, ma in assenza di documentazione sono sicuro che potresti vendere l'idea al management, inizialmente come una tantum per vedere come va comunque.


4
+1 - L'unico modo per scoprire quali servizi è in esecuzione è disattivarlo. Il mio ultimo lavoro aveva un "server di stampa" di Windows NT4 che era attivo anni dopo che sarebbe dovuto morire. Il giorno in cui fu spento un sacco di cose si ruppe che nessuno sapeva che stava correndo su quella scatola.
voretaq7,

1
Metti in pausa e aspetta. E dopo che sono trascorsi due mesi e alcuni utenti casuali si lamentano del fatto che una condivisione, un collegamento o qualcos'altro non funziona (ma ha funzionato!), Attivali.
adamo,

5
@adamo ... per migrare momentaneamente i dati / funzionalità su una macchina / VM supportata riconosciuta, quindi spegnere nuovamente.
Chopper3

7

Sono stato sorpreso di vedere che la prima risposta suggerita non lo era ps -ef, quindi la aggiungerò: se vuoi sapere cosa sta facendo un sistema in questo momento , leggi l'elenco dei processi, prestando particolare attenzione a cosa sta facendo root, e se ci sono processi di proprietà di utenti con un nome evidente (mysql, named, ecc.).

Confronterei quindi il mio elenco di processi con lsofEsegui come root per vedere quali processi sono in ascolto sulla rete e quali contengono file aperti. In genere questo ti dà una buona immagine dei processi di lunga durata sulla scatola, che sono comunemente la sua funzione principale.

Tra le eccezioni mailqdegne di nota vi sono la posta - consultare il syslog locale e per i dettagli su ciò che viene elaborato da sendmail - e servizi run-on-demand di tipo inted, per i quali /etc/xinetd.confè una buona scommessa, almeno per i più recenti Linux basati su Redhat.

Spero possa aiutare; facci sapere se ti imbatti in qualcosa in particolare che possiamo aiutare a identificare!


+1 per lsof. lsof -ipuò essere il tuo migliore amico in queste situazioni.
Brian

1

Vorrei iniziare vedendo quali servizi sono in esecuzione ... Quindi tentare di abbinare quelli a ciò che ospitano. NON spegnere in alcun caso ciò che non hai idea di fare, in quanto potresti interrompere qualsiasi cosa stia correndo e se la sua missione è critica (se questa è la strada che stai morendo, metti in pausa) ... Dovresti anche controllare vedere se c'è qualche tipo di documentazione.


1

Oh caro, è divertente.

Hai idea di cosa servono? Puoi restringere il campo a "questi sono stati usati per i servizi di rete" o potrebbe davvero essere qualcosa?

Direi che è necessaria un'acquisizione di pacchetti su ciascun server, insieme a un controllo di tutti i servizi in esecuzione. Individua i file di configurazione per ciascun servizio in esecuzione e controlla quando sono stati aggiornati i file per l'ultima volta, ciò ti darà un'idea di se qualcosa è stato personalizzato e, in tal caso, da quanto tempo.

È inoltre possibile eseguire una scansione delle porte su ciascun server per vedere quali porte sono aperte e rispondono.

Puoi ottenere indizi interrogando i servizi di rete conosciuti - EG, DNS, LDAP, ecc. Dovresti essere in grado di trovare un elenco di tutti i server DNS per una particolare zona scavando per i record NS. Tieni presente che potresti finire con un elenco più lungo di record NS di quanti siano effettivamente i server DNS attivi, ma ti darà un punto di partenza.

Nessuno di questi metodi è sicuro da solo, ma se si lanciano più metodi di controllo in una determinata casella, le possibilità di trovare tutto ciò che vale la pena di essere migliorate.

In bocca al lupo!


+1 per la prima frase, che sono sicuro è ciò che tutti pensiamo quando leggiamo la domanda. :)
John Gardeniers l'

0

Una scansione delle porte rivelerebbe qualsiasi servizio accessibile in rete

Dal server localmente: nmap 127.0.0.1

Oppure puoi dire a nmap di scansionare una determinata sottorete / maschera


2
O anche solo netstat.
John Gardeniers,

0

Un altro punto di vista è quello che è configurato per connettersi ai server. Se foozle.example.com è configurato nel client di posta elettronica del CEO, è probabilmente il server di posta. I client FTP probabilmente puntano verso un server web di qualche tipo. Ecc. Ecc.


Mentre ciò funzionerebbe, il problema è che ogni altra macchina e possibilmente anche ogni account utente su quelle macchine dovrebbero essere controllati, piuttosto che solo le macchine target.
John Gardeniers,

Non proprio - se in realtà si tratta di server, il controllo di un campione dovrebbe dirti qual è la maggior parte delle scatole. O almeno l'accesso comunemente interno. Mi sembra che potresti anche guardare le regole del firewall per coprire i servizi accessibili dall'esterno.
Wyatt Barnett,

0

ps -ef per processi, netstat -a per servizi in ascolto e tcpdump per vedere quale traffico procede avanti e indietro sono ottimi suggerimenti. Inoltre, dal momento che è Linux, ci sono buone probabilità che ci sia un firewall in esecuzione - controlla le regole impostate per esso, dovrebbe darti una buona idea di quali servizi dovrebbero essere utilizzati su questo host e host remoti a cui questo host si connette . es. iptables --list Naturalmente, quale firewall c'è un'altra cosa da controllare, prova lsmod a cercare i moduli firewall e controlla / var / log

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.