Quando um servidor é enraizado ( por exemplo, uma situação como essa ), uma das primeiras coisas que você pode decidir fazer é a contenção . Alguns especialistas em segurança recomendam não entrar na correção imediatamente e manter o servidor on-line até que o forense seja concluído. Esses conselhos são geralmente para o APT . É diferente se você tiver violações ocasionais de crianças pequenas do Script , portanto, você pode corrigir (consertar as coisas) com antecedência. Uma das etapas da correção é a contenção do servidor. Citando a resposta de Robert Moir - "desconecte a vítima de seus assaltantes".
Um servidor pode ser contido puxando o cabo de rede ou o cabo de alimentação .
Qual método é melhor?
Levando em consideração a necessidade de:
- Protegendo as vítimas de mais danos
- Executando análises forenses bem-sucedidas
- (Possivelmente) Protegendo dados valiosos no servidor
Editar: 5 suposições
Assumindo:
- Você detectou cedo: 24 horas.
- Você deseja se recuperar mais cedo: 3 dias de 1 administrador de sistemas no trabalho (forense e recuperação).
- O servidor não é uma máquina virtual ou um contêiner capaz de tirar uma captura instantânea capturando o conteúdo da memória dos servidores.
- Você decide não tentar processar.
- Você suspeita que o invasor pode estar usando algum tipo de software (possivelmente sofisticado) e esse software ainda está sendo executado no servidor.
Respostas:
Se você está enfrentando um APT, sua melhor opção é configurar um honeypot e investigar minuciosamente todo o tráfego que entra e sai dele, além de monitorar o servidor.
A medida de passar pela memória é tão cara em termos de tempo e esforço que geralmente não vale a pena, a menos que você tente todos os outros métodos e, se você determinar que vale a pena, geralmente é melhor configurar um honeypot que permita que você despeje facilmente a memória e o estado do sistema para outra máquina em tempo real, para que você possa fazer análises com menos ameaças de serem detectadas enquanto a máquina estiver em funcionamento.
Eu tive uma situação em que o invasor mantinha tudo na memória na medida em que, exceto pelos logs, a máquina parecia exatamente com sua imagem uma vez desligada e ligada novamente. Eles então voltariam a usá-lo novamente, porque a vulnerabilidade ainda estava lá - eles não precisavam deixar nenhum backdoor para si. Uma avaliação de memória poderia ter ajudado aqui, mas assistir o tráfego foi suficiente neste caso para identificar a vulnerabilidade rapidamente.
Portanto:
O único motivo para evitar puxar o poder e fazer a avaliação offline do disco é se você estiver enfrentando o problema de fazer uma análise completa da ameaça da ameaça enquanto ela estiver no lugar e em operação. Se você chegou ao ponto em que isso é necessário, não há razão para puxar qualquer um dos plugues.
Se você não estiver fazendo uma análise de memória, puxar o plugue de energia é sua melhor aposta - puxar a Ethernet (ou usar um comando de desligamento) só avisará o software do invasor com antecedência - o que importa ocasionalmente.
Então:
Puxe os dois, a menos que você esteja fazendo uma análise de memória; nesse caso, não puxe também.
fonte
A análise forense da RAM (por exemplo, / dev / shm) pode ser útil.
Mas eu prefiro desconectar o cabo de alimentação (mas tente fazer o login e o rsync / proc logo antes).
Os motivos para optar pelo cabo de alimentação são:
Kyle Rankin deu uma boa introdução à discussão forense - lá ele recomenda puxar o cabo de alimentação.
fonte
Desconecte a rede. O invasor não pode obter informações adicionais se não houver conexão de rede. É muito difícil (leia-se: impossível) realizar análises forenses sem energia.
fonte
Hoje em dia, ele pode ser uma máquina virtual para que qualquer um dos métodos seja fácil e possa ser feito remotamente. (Máquinas virtuais também dão origem à possibilidade de usar instantâneos)
Eu sugiro desconectar da rede como um primeiro passo automático, porque isso lhe dá tempo para refletir sobre qual deve ser o próximo passo, se o próximo passo é arrancar o cabo de alimentação ou outra coisa. Se você conhece seus "procedimentos de resposta de segurança" corporativos, não permitirá que você gaste tempo pesquisando detalhadamente a máquina, em seguida, preservar o conteúdo da RAM pode não ser tão importante.
Eu sugiro que fazer "separar a vítima de seus assaltantes" seja mais importante do que como, então as duas abordagens são válidas. Eu não teria problemas em puxar o cabo de força, vamos colocar dessa maneira.
fonte
Esta não é uma situação de ou / ou. Você geralmente deseja fazer as duas coisas - deseja executar determinados testes forenses (despejo de processos em execução, soquetes de escuta, arquivos em / tmp etc.) em um sistema que foi removido da rede e, em seguida, executar o diagnóstico restante de um cofre ambiente (ou seja, um CD ao vivo). Existem situações em que nenhuma das abordagens é a correta, e você precisa pensar e entender quais podem ser sua organização.
fonte
Antes de fazer qualquer coisa, descubra se precisa preservar evidências para uma eventual acusação. O manuseio de evidências é um assunto muito complicado e não é para os fracamente treinados. Depois de responder, a pessoa forense treinada em computação pode levá-lo a partir daí.
fonte
Não há necessidade de desligar o servidor. Você pode simplesmente desativar a conectividade do gateway / roteador de borda. Uma regra de firewall será suficiente para descartar qualquer outro pacote enviado / recebido.
fonte
A resposta depende muito do que você quer dizer com "enraizado". Obter a liderança da rede geralmente é uma boa ideia, principalmente se você acredita que este foi um invasor humano ativo que procura informações confidenciais.
Puxar o poder é muito mais difícil de responder. Se você achar que há um código malicioso em execução que pode cobrir suas trilhas, faça-o. No entanto, se você sentir que ainda há evidências de uma invasão na memória, deixe-a em execução.
No geral, depende se você está lidando com código malicioso, equipe insatisfeita ou alguém com um objetivo específico em mente.
Se errar por precaução, puxe a força. Você perderá uma pequena quantidade de evidências em potencial, mas poderá impedir a remoção maciça de outras evidências por código automatizado.
- Então, novamente, se você sente que a máquina foi comprometida e sabe que não possui dados confidenciais, está muito confiante na segurança da sua rede em outro lugar e entende as consequências de fazê-lo. veja se você consegue rastrear ou entender o ataque e partir daí. Normalmente, isso não é uma boa ideia.
fonte
Minha resposta foi antes da edição, com as 5 suposições.
Minha suposição era que, se seu servidor foi enraizado, você está lidando com um invasor sofisticado e direcionado e não tem como saber quando e de onde o ataque ocorreu. (Como a máquina estava enraizada, obviamente você não pode confiar em nada do
que está dizendo . No entanto, você pode ter algumas informações fora da caixa, por exemplo, IDS ...) Presumi também que você tem interesse em lidar com o invasor e não apenas em acenar como uma mosca incômoda. Se o invasor assumido for um garoto de script, isso seria diferente. Também assumi que, como o invasor é direcionado e sofisticado, é provável que eles tenham um software personalizado em execução na sua máquina, que possa responder às suas ações nele ...
Nem.
Confira /security//q/181/33 , de qualquer maneira é uma má idéia.
É como dar alguns bandaids ao cavaleiro negro ... muito pouco, muito tarde, isso não vai ajudar muito.
Para todos aqueles que acham que essa resposta está muito longe ou simplesmente não são "preocupados com a segurança" - você precisa perceber que já é tarde demais .
Não é mais o seu servidor, mesmo que você o desconecte completamente. Mesmo se você desligar, execute todos os seus AVs e o que quer que seja - você não é mais o proprietário, eles são.
Essa é a definição de "enraizada".
Agora, supondo que eles sejam os donos e possam ocultar sua propriedade de você, você precisa considerar - o que a desconectará?
A única coisa que conseguirá - já que continuará enraizada de qualquer maneira - é deixar seu adversário saber que você está interessado neles. O que simplesmente coloca seus guardas e os faz começar a limpar depois de si mesmos (se ainda não o fizeram), o que acabará com qualquer esperança de forense.
Você ainda não está protegendo esse servidor ou seus dados. Há quanto tempo ele está enraizado? Como você saberia?
O que é melhor fazer:
fonte
Depois de revisar suas suposições, faça as duas coisas. Use uma mídia baseada em CD / DVD para despejar o estado atual. Principalmente, você poderá determinar como foi comprometido. Você também pode tentar recuperar dados do usuário que não estão nas imagens de backup. Yo
Em seguida, reconstrua o sistema a partir da mídia de backup mais recente que não esteja contaminada. Verifique isso com somas de verificação, se possível. Como alternativa, reinstale o software da mídia de instalação e reconfigure. A reconfiguração deve ser automática se você estiver usando o Puppet ou o cfEngine para configurar seu servidor.
Recarregue os dados do usuário e verifique os componentes do kit raiz. Verifique se você não possui programas setuid ou setgid nos diretórios de dados.
Determine e feche o método de acesso usado para infectar o sistema. Reative o estágio do servidor, permitindo tempo para verificar se os aplicativos estão em execução conforme o esperado. Monitore cuidadosamente novas tentativas de infecção.
Isso tudo pressupõe que a infecção esteja no nível da raiz. As infecções na Web podem ser feitas alterando o código executado pelo servidor da Web. Permitir que o servidor da Web tenha acesso de gravação ao seu código pode facilitar isso. Você ainda pode tratar este caso como se a conta raiz estivesse comprometida.
Se a raiz de um sistema foi comprometida em um sistema, você pode ter mais sistemas comprometidos. Considere cuidadosamente quais sistemas podem ser acessados sem uma senha do sistema infectado.
fonte