O que esse servidor está fazendo?

13

Eu tenho vários servidores virtuais Linux sobrando de um departamento de TI anterior. Eles têm nomes como 'mágica' ou 'coisas'. Não sei bem o que eles estão fazendo ... ou se preciso deles ...

Como vocês, rapazes e moças, descobririam o propósito dessas máquinas? (além de desligá-los e ver o que quebra)

blsub6
fonte
2
Você tem credenciais para fazer login nessas máquinas?
Skyhawk # 03
Eu tenho as credenciais para fazer o que eu preciso para o máquinas
blsub6
9
Comentário totalmente inútil, mas o título dessa pergunta seria um excelente game show.
Matt Simmons

Respostas:

20

Alguns lugares para começar:

  • serviços de escuta ( netstat) - geralmente, isso deve lhe dar uma idéia decente do que está acontecendo com o sistema.
  • /root/.bash_history (ou de outros usuários, se eles não usassem root) - o que estiver acontecendo no console será, idealmente, relacionado ao objetivo do sistema.
  • /var/log - dê uma olhada nos logs padrão e procure qualquer coisa relacionada ao aplicativo.
  • Pacotes instalados - isso é específico para a distribuição do Linux que eles estão executando, mas se os logs estiverem lá, dê uma olhada. /var/log/dpkg.log, /var/log/yum.logetc.
Shane Madden
fonte
2
Outras coisas a olhar são tarefas agendadas (ambos sistema /etc/crontabe /etc/cron.*e postos de trabalho por usuário)
DerfK
1
e quanto a , ps uaxwou top, para ver o que está acontecendo? :)
KARASZI István
12

Dificilmente eu sei, mas se você obtiver permissão do seu gerenciamento, consideraria pausar as VMs - você descobrirá se elas são importantes mais rapidamente do que você imagina, se fica pausado com ninguém reclamando ... bem, isso diz você outra coisa.

Sério, você poderia passar uma carreira tentando entendê-los sem saber tudo o que eles fazem. Pausá-las pode parecer esquisito / draconiano, mas, na ausência de documentação, tenho certeza de que você poderia vender a idéia para a gerência, como uma experiência única para ver como as coisas funcionam.

Chopper3
fonte
4
+1 - A única maneira de descobrir quais serviços algo está executando é desativá-lo. Meu último trabalho teve um "servidor de impressão" do Windows NT4 que foi desativado anos depois de ter morrido. No dia em que foi desligado, um monte de coisas quebrou que ninguém sabia que estava funcionando naquela caixa.
precisa saber é o seguinte
1
Pause-os e aguarde. Depois de dois meses, e algum usuário aleatório reclama que um compartilhamento, um atalho ou outra coisa não está funcionando (mas funcionou!) Ativá-los.
Adamo
5
@adamo ... momentaneamente para migrar os dados / funcionalidade para uma máquina / VM suportada reconhecida e, em seguida, desligue-a novamente.
Chopper3
7

Fiquei surpreso ao ver que a primeira resposta sugerida não foi ps -ef, então vou adicioná-la: se você quiser saber o que um sistema está fazendo no momento , leia a lista de processos, prestando atenção especial ao que a raiz está fazendo e se existem processos pertencentes a usuários de nome conspícuo (mysql, named, etc).

Eu compararia minha lista de processos com a lsofexecução como raiz para ver quais processos estão ouvindo na rede e quais estão mantendo arquivos abertos. Normalmente, isso fornece uma imagem muito boa dos processos de execução longa na caixa, que geralmente são sua principal função.

Exceções notáveis ​​incluem correio - consulte o syslog local e mailqpara obter detalhes sobre o que está sendo processado pelo sendmail - e serviços de execução sob demanda do tipo /etc/xinetd.confinted , para os quais é uma boa aposta, pelo menos para os Linux mais recentes baseados em Redhat.

Espero que ajude; informe-nos se você encontrar algo em particular que possamos ajudar a identificar!

Jeff Albert
fonte
+1 para lsof. lsof -ipode ser seu melhor amigo nessas situações.
27711 Brian
1

Eu começaria vendo quais serviços estão sendo executados ... Em seguida, tente corresponder aqueles ao que eles estão hospedando. NÃO, em circunstância alguma, desligue o que você não tem idéia de que ele está fazendo, pois você pode interromper o que quer que esteja em execução e se sua missão for crítica (se esse for o caminho que você deseja seguir, faça uma pausa) ... Você também deve verificar para veja se existe algum tipo de documentação.

Jacob
fonte
1

Oh querida, isso é divertido.

Você tem alguma idéia para que eles são usados? Você pode reduzi-lo a "estes foram usados ​​para serviços de rede" ou poderia realmente ser alguma coisa?

Eu diria que é necessária uma captura de pacotes em cada servidor, juntamente com uma auditoria de todos os serviços em execução. Localize os arquivos de configuração para cada serviço em execução e verifique quando os arquivos foram atualizados pela última vez - isso fornecerá uma pista sobre se algo foi personalizado e, se houver, há quanto tempo.

Você também pode executar uma verificação de porta em cada servidor para ver quais portas estão abertas e estão respondendo.

Você pode obter dicas consultando serviços de rede conhecidos - EG, DNS, LDAP, etc. Você deve conseguir encontrar uma lista de todos os servidores DNS para uma zona específica, procurando registros NS. Lembre-se de que você pode acabar com uma lista mais longa de registros NS do que os servidores DNS ativos, mas isso lhe dará um ponto de partida.

Nenhum desses métodos é certo, mas se você jogar vários métodos de auditoria em uma determinada caixa, suas chances de encontrar tudo o que vale a pena encontrar são aprimoradas.

Boa sorte!

Jeremy
fonte
+1 na primeira frase, que tenho certeza que é o que todos pensamos ao ler a pergunta. :)
John Gardeniers
0

Uma varredura de porta revelaria qualquer serviço acessível em rede

No servidor localmente: nmap 127.0.0.1

Ou você pode dizer ao nmap para verificar uma certa sub-rede / máscara

sreimer
fonte
2
Ou mesmo apenas netstat.
John Gardeniers 08/03
0

Um outro ângulo é examinar o que está configurado para conectar-se aos servidores. Se foozle.example.com estiver configurado no cliente de email do CEO, provavelmente é o servidor de email. Os clientes FTP provavelmente apontam para um servidor da Web de algum tipo. Etc etc.

Wyatt Barnett
fonte
Enquanto isso funcionaria, o problema é que todas as outras máquinas e, possivelmente, todas as contas de usuário nessas máquinas precisariam ser verificadas, em vez de apenas as máquinas de destino.
John Gardeniers
Na verdade, não - se esses são realmente servidores, a verificação de uma amostra deve informar qual é a maior parte das caixas. Ou pelo menos o geralmente acessado internamente. Parece-me que você também pode examinar as regras de firewall para cobrir os serviços acessíveis externamente.
Wyatt Barnett
0

ps -ef para processos, netstat -a para serviços escutando e tcpdump para ver qual tráfego está indo e voltando são ótimas sugestões. Além disso, como é o Linux, há uma boa chance de haver um firewall em execução - confira as regras de configuração para ele, e você terá uma boa idéia de quais serviços devem ser usados ​​nesse host e em hosts remotos aos quais esse host se conecta. . Por exemplo, iptables --list É claro que firewall existe outra coisa a ser verificada, tente lsmod para procurar por módulos de firewall e confira / var / log

Bob T
fonte