Herdar servidor existente


9

Acabei de herdar 6 servidores Web do servidor anterior que foi demitido, não sou um administrador de sistemas, sou mais um DevOps.

Alguém poderia me indicar algum tipo de lista de verificação padrão que se seguiria ao herdar servidores existentes? O que eu preciso saber é:

  1. Qual software está nos servidores
  2. Quais são as medidas padrão que devo fazer para verificar se são seguras?
  3. o que está se conectando a eles e o que eles estão conectados também?
  4. O que mais eu deveria saber?

Qualquer conselho é bem-vindo, eu esperava que houvesse um tipo padrão de lista de verificação que se seguisse como começo, mas não consegui encontrar nada.

Todos os servidores são Ubuntu (várias versões)


3
Você não é um DevOps. DevOps não é um título, é uma cultura.
gWaldo

Qual seria um termo melhor para um "Desenvolvedor forçado a fazer um trabalho de administrador de sistemas sem a experiência de um administrador de sistema, mas com um bom entendimento de todos os conceitos envolvidos e experiência prática suficiente para 'sobreviver'"
user3408844

Concordou com DevOps li no Wikipedia que eu vejo eu usei-o incorretamente, mas parece ter se tornado gíria na vida diária de desenvolvedores que têm de se tornar syadmins semi
user3408844

O termo para o que você descreve é ​​"Desenvolvedor" ou "Desenvolvedor forçado a assumir algumas funções de Sistemas / Operações".
precisa

Uau! - muito esforço colocado nesse
#

Respostas:


24
  1. Para determinar qual software foi instalado, você pode revisar /var/log/dpkg.log No entanto, esse pode não ser um registro completo. Pode haver binários e códigos que foram compilados manualmente ou copiados diretamente para o sistema pré-compilado. Você pode comparar uma instalação padrão da mesma versão e tipo do Ubuntu com o (s) servidor (es) e procurar quais arquivos são diferentes, mas isso pode ser tedioso. Uma solução de monitoramento de arquivos seria ideal (tripewire, inotifywatch etc.) http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html

  2. Você precisa verificar TUDO no servidor. Todas as contas de usuário em / etc / passwd , todas as contas de usuário de aplicativos (como usuários no Apache / PHP, contas de banco de dados etc.) devem ser contabilizadas e você deve alterar todas as senhas. Você deve verificar quais serviços são iniciados na inicialização, qual é o nível de execução padrão e o que começa com ele e com outros níveis de execução. Eu usaria um scanner de vulnerabilidades e uma ferramenta de configuração de linha de base para auditar o estado atual. O Center for Internet Security oferece uma ferramenta gratuita de avaliação de configuração, mas pode ser limitada. Eles têm ferramentas mais avançadas para organizações membros ($). http://benchmarks.cisecurity.org/ O OpenVAS é um scanner FOSS, não muito diferente do Nessus, que pode ter recursos semelhantes. Há muito mais coisas a serem verificadas, mas essa resposta já está ficando um pouco longa ... (Revisão de código para aplicativos da web e páginas da web é um bom exemplo).

  3. Você pode ver o estado das portas disponíveis para conexões com os servidores com vários sinalizadores para netstat . http://www.thegeekstuff.com/2010/03/netstat-command-examples/ Para identificar quem está se conectando ao servidor, você precisará recorrer às atividades mais sexy da Internet Security, revisando os logs do sistema. As informações podem estar em qualquer um dos vários logs, dependendo de quais aplicativos e servidores estão no sistema. Você também pode ter alguma sorte com os logs de rede externos, se existirem.

  4. Você tem muito acompanhamento a fazer. Você indicou que o administrador anterior foi demitido ; se você suspeitar da intenção maliciosa dessa pessoa (ou seja, ela pode ter deixado backdoors, armadilhas, bombas lógicas etc.), é quase certo que você esteja melhor reconstruindo os servidores a partir de mídia limpa e reimplementando os webapps neles. Se esse administrador anterior tivesse acesso e controle completos a esses sistemas e não fosse submetido a auditorias e vigilância vigilantes, você provavelmente deveria assumir que existem backdoors.

Isso se baseia em uma suposição pessimista sobre o administrador anterior. Infelizmente, é dessa maneira que o cookie desmorona para a segurança operacional da rede. Há muito mais a considerar, como eu disse ... muito mais do que pode ser abordado aqui. Esses pontos devem fornecer algumas coisas para você começar a fazer, para que possa informar à gerência que está fazendo algum progresso; mas, para ser brutalmente honesto, se você não é um profissional de segurança e tem motivos para suspeitar que essa pessoa agiu com malícia, você provavelmente está enlouquecendo.

É uma resposta impopular para a gerência, porque exige muito esforço (o que significa mais $), mas a resposta geral para a segurança é quando, na dúvida, limpe e reconstrua a partir de fontes limpas . É assim que os sistemas governamentais mais importantes funcionam com malware; se um alerta surgir do AV, o sistema é segregado, limpo e reconstruído. Espero que você fez um backup cuz que os dados são IDO .

Boa sorte, e espero que isso tenha sido útil e não apenas deprimente.


Esta questão também pode ser adequada ao site StackExchange www.AskUbuntu.com
0xSheepdog

2
Excelente resposta.
EEAA

3
Limpar e reconstruir é provavelmente muito mais fácil se você tiver um bom gerenciamento de configuração declarativa. Caso contrário, provavelmente considere trabalhar em direção a esse objetivo.
zigg

2
/var/log/dpkg.logé adequado para revisar o próprio processo de instalação (e procurar erros), mas para obter uma lista dos pacotes instalados, a saída dpkg -lou ainda mais simples dpkg --get-selectionsseria mais fácil de digerir.
Dubu

0

As páginas de manual são suas amigas:

 man <command> 

Confira esses comandos comumente usados ​​e seu uso. Encontre mais ajuda nas páginas de manual de cada um ou, em alguns casos, executando

  <command> --help 

Programas:

  • dpkg -l (lista do software instalado)
  • ps -ef | more (obtenha uma lista dos processos em execução e faça uma pausa para leitura)

Segurança:

  • iptables (quais portas estão abertas e são necessárias)
  • verifique as atualizações com o apt-get (os servidores estão atualizados?)
  • cat / etc / passwd (que tem uma conta na caixa)
  • sshd (verifique se o sshd está em execução e quem pode fazer login)

Conexões:

  • netstat (quais serviços estão escutando e em quais portas)

Boa sorte. É difícil herdar um lote de servidores sem que a pessoa que os executa tenha a oportunidade de treiná-lo. Se o cara foi demitido, é ainda mais preocupante, porque eu presumo que havia um motivo e se eu também presumo que ele estava relacionado ao trabalho, pode haver algumas configurações estranhas no lote.


0
  1. quais aplicativos estão executando: execute um "ps -ef" ou "ps -auxw" para obter a lista de processos. elimine tudo o que não está relacionado ao kernel, procure coisas em execução, faça páginas de manual em cada um para descobrir o que é. Na maioria dos processos em execução, você pode ignorar com segurança porque eles não são aplicativos do usuário

  2. por segurança: faça um "netstat -pan" para ver quais portas estão abertas e feche as que não forem necessárias. Em outras palavras, as únicas portas que devem estar abertas são as que correspondem aos serviços de rede fornecidos por esses servidores. Se o servidor for um servidor web, obviamente ele precisará estar escutando na porta 80/443 / etc. Mas se o servidor estiver escutando na porta 21 e ninguém estiver usando, desative o processo que tem essa porta aberta.

  3. para conexões, novamente "netstat -pan" fornece a resposta. Ele informa quais hosts estão conectados e em quais portas eles estão conectados.

  4. examine os logs em / var / log para ter uma idéia do que o sistema está fazendo e para ver se há algum erro óbvio ou sinal vermelho vindo de diferentes aplicativos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.