Após meses de negligência, chamas por email e batalhas de gerenciamento, nosso administrador de sistema atual foi acionado e entregue "as credenciais do servidor" para mim. Essas credenciais consistem em uma senha root e nada mais: sem procedimentos, sem documentação, sem dicas, nada.
Minha pergunta é: supondo que ele tenha deixado as armadilhas para trás, como eu normalmente tomo conta dos servidores com o menor tempo de inatividade possível?
Aqui estão os detalhes:
- um servidor de produção localizado em um farm de servidores no porão; ubuntu server 9.x provavelmente, com patches grsec (boatos que ouvi da última vez que pedi ao administrador)
- um servidor interno que contém toda a documentação interna, repositório de arquivos, wikis, etc. Novamente, servidor ubuntu, com alguns anos de idade.
Suponha que os dois servidores estejam corrigidos e atualizados, portanto, prefiro não tentar invadir meu caminho, a menos que haja uma boa razão (isto é, que possa ser explicada à gerência superior).
O servidor de produção possui alguns sites hospedados (padrão apache-php-mysql), um servidor LDAP, um conjunto / servidor de e-mail ZIMBRA e, tanto quanto eu posso dizer, algumas estações de trabalho de vmware em execução. Não faço ideia do que está acontecendo lá. Provavelmente um é o mestre LDAP, mas esse é um palpite.
O servidor interno possui um wiki / cms interno, um escravo LDAP que replica as credenciais do servidor de produção, mais algumas estações de trabalho vmware e backups em execução.
Eu poderia simplesmente ir ao administrador do farm de servidores, apontar para o servidor, dizer a eles ' sudo
desligue o servidor, por favor', fazer login no modo de usuário único e seguir o meu caminho. O mesmo para o servidor interno. Ainda assim, isso significaria tempo de inatividade, transtorno da gerência, o velho administrador de sistemas me revirando dizendo 'vê? você não pode fazer o meu trabalho 'e outros incômodos, e o mais importante é que eu teria que perder potencialmente algumas semanas de tempo não remunerado.
No outro extremo do espectro, eu poderia fazer login como root e inch através do servidor para tentar entender o que está acontecendo. Com todos os riscos de provocar surpresas deixados para trás.
Estou procurando uma solução no meio: tente manter tudo funcionando como está, enquanto entenda o que está acontecendo e como, e o mais importante, evitando acionar qualquer armadilha deixada para trás .
Quais são as suas sugestões?
Até agora, pensei em 'praticar' com o servidor interno, desconectar a rede, reiniciar com um CD ao vivo, despejar o sistema de arquivos raiz em uma unidade USB e carregá-lo em uma máquina virtual isolada e desconectada para entender a maneira antiga do sysadmin de pensando (a-la 'conheça seu inimigo'). Poderia fazer o mesmo feito com o servidor de produção, mas um despejo completo faria alguém perceber. Talvez eu possa simplesmente fazer login como root, verificar o crontab, verificar o .profile quanto a quaisquer comandos iniciados, despejar o lastlog e o que vier à mente.
E é por isso que estou aqui. Qualquer dica, por menor que seja, seria muito apreciada.
O tempo também é um problema: pode haver gatilhos acontecendo em algumas horas ou em algumas semanas. Parece um daqueles filmes ruins de Hollywood, não é?
fonte
Respostas:
Como já foi dito, isso parece uma situação muito frouxa.
(Começando no final)
Claro que você não pode simplesmente derrubar os servidores e deixar o instalador fazer a mágica.
Processo Geral
rm -rf $service
(soa duro, mas o que quero dizer é encerrar o serviço)O que você ganhou?
Estive lá feito isso, não é nada divertido :(
Por que você precisa assiná- lo pela gerência ?
Ah, e apresente o plano geral a eles antes de começar , com algumas estimativas sobre o que acontecerá no pior e no melhor caso.
Ele vai custar muito tempo, independentemente de reafectação, se você não tem documentação. Não há necessidade de pensar em backdoors, IMHO, se você não tiver documentação, uma migração contínua é a única maneira de alcançar um estado sadio que agregue valor à empresa.
fonte
Você tem motivos para acreditar que o administrador anterior deixou algo ruim para trás ou apenas assiste a muitos filmes?
Não estou pedindo para ser ridículo, estou tentando ter uma idéia de que tipo de ameaça você acha que existe e qual é a probabilidade dela. Se você acha que as chances são realmente muito altas de que algum tipo de problema sério possa realmente existir, sugiro tratá-lo como se fosse uma invasão de rede bem-sucedida .
De qualquer forma, seus chefes não querem a interrupção do tempo de inatividade enquanto você lida com isso - qual é a atitude deles em relação ao tempo de inatividade planejado para arrumar os sistemas versus o tempo de inatividade não planejado se houver uma falha no sistema (seja uma falha real ou uma administrador desonesto) e se a atitude deles for realista versus sua avaliação da probabilidade de você realmente ter um problema aqui.
Tudo o que você faz, considere o seguinte:
Tire uma imagem dos sistemas agora mesmo . Antes de fazer qualquer outra coisa. Na verdade, pegue duas e coloque uma de lado e não a toque novamente até saber o que está acontecendo com o seu sistema; este é o seu registro de como estava o sistema quando você o assumiu.
Restaure o "segundo" conjunto de imagens para algumas máquinas virtuais e use-as para verificar o que está acontecendo. Se você estiver preocupado com o fato de as coisas serem acionadas após uma determinada data, defina a data um ano ou mais na máquina virtual.
fonte
Primeiro de tudo, se você vai investir tempo extra nisso, aconselho que você seja realmente pago por isso. Parece que você aceitou horas extras não remuneradas como fato, a julgar pelas suas palavras - não deve ser assim, na minha opinião, e especialmente quando você está em perigo devido à culpa de outra pessoa (seja gerenciamento, o administrador de sistema antigo ou provavelmente uma combinação de ambos).
Desative os servidores e inicie no modo de usuário único (init = / bin / sh ou 1 no grub) para verificar os comandos que são executados no login do root. O tempo de inatividade é necessário aqui, deixe claro para a gerência que não há escolha, mas algum tempo de inatividade, se eles querem ter certeza de que conseguirão manter seus dados.
Depois, examine todos os cronjobs, mesmo que pareçam legítimos. Também faça backups completos o mais rápido possível - mesmo que isso signifique tempo de inatividade. Você pode transformar seus backups completos em VMs em execução, se desejar.
Então, se você conseguir colocar em mãos novos servidores ou VMs capazes, eu migraria os serviços para ambientes novos e limpos, um por um. Você pode fazer isso em várias etapas, para minimizar o tempo de inatividade percebido. Você obterá um profundo conhecimento necessário dos serviços, enquanto restaura sua confiança nos sistemas básicos.
Enquanto isso, você pode verificar rootkits usando ferramentas como chkrootkit . Execute o nessus nos servidores para procurar falhas de segurança que o administrador antigo possa usar.
Edit: Acho que não lidei com a parte "graciosa" da sua pergunta o melhor que pude. A primeira etapa (entrar no modo de usuário único para verificar traps de logon) provavelmente pode ser ignorada - o antigo administrador de sistemas, fornecendo a senha root e configurando o logon para fazer um,
rm -rf /
seria praticamente o mesmo que excluir todos os arquivos, então provavelmente não faz sentido fazer isso. Conforme a parte do backup: tente usar umarsync
solução baseada para que você possa fazer a maior parte do backup inicial online e minimizar o tempo de inatividade.fonte
Investirei tempo aprendendo quais aplicativos são executados nesses servidores. Depois de saber o que é o que a qualquer momento, você pode instalar um novo servidor. Caso você ache que pode haver algum backdoor, será uma boa ideia Iniciar o modo único ou ter algum firewall entre os servidores e a rede externa.
fonte
Você está ficando paranóico com segurança. Não há necessidade de ficar paranóico. (b'cos você fala sobre armadilhas). Percorra a lista de softwares instalados. Veja o que o serviço está executando (netstat, ps, etc), consulte tarefas cron. Desabilite a conta de usuário administrador anterior do sistema sem excluir a conta (facilmente, apontando o shell para nologin). Veja através dos arquivos de log. Eu acho que com essas etapas e pelo seu conhecimento das necessidades da empresa, das quais você pode adivinhar o uso dos servidores, acho que você deve conseguir mantê-las sem grandes mudanças.
fonte