Limpe com segurança um servidor Linux inteiro consigo mesmo

22

Eu tenho acesso ssh remoto e acesso root. Eu não tenho acesso físico. Não estou procurando soluções que envolvam a inicialização em nada, quero fazer isso com o que está sendo executado no momento.

OS é SL6. Existe uma maneira de carregar tudo o que é necessário na RAM e usar dd ou similar para limpar com segurança todo o disco? Obviamente, isso resultará em uma caixa que não funcionará no final, meu resultado pretendido.

Parece que isso deveria ser possível.

Mais duas adições interessantes:

  1. Ser capaz de executar ssh, executar a tela, executar o comando dd e desanexar. Efetue login uma semana depois, quando terminar. :)

  2. De alguma forma, tem uma barra de progresso?

Atualização : agora eu vou com a opção chroot. Atualmente fazendo:

mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && cd /dev/shm/ramdisk && chroot .

O que funciona (!), Mas eu ainda preciso de / dev / zero e / dev / sda. Alguma idéia aí?

Atualização 2012-07-20:

mkdir /dev/shm/ramdisk/ && cd /dev/shm/ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && mkdir /dev/shm/ramdisk/dev && cd /dev/shm/ramdisk/dev && cp -a /dev/zero . && cp -a /dev/sda . && cd .. && chroot . dd if=/dev/zero of=/dev/sda bs=1M

O que parece estar fazendo algo, mas eu gostaria de ter algum tipo de indicador de progresso, se possível, além de uma maneira de desanexar e estabelecer uma nova conexão ssh posteriormente.

calças de gato
fonte
3
Experimente;) Eventualmente, primeiro em uma VM.
Frederik Nielsen
2
Quando você diz que a inicialização não é uma opção, você está dizendo que tocar no console / inserir mídia não é uma opção ou que a máquina não pode ser reinicializada? Porque você pode adicionar uma imagem ao vivo no seu disco. Quando o sistema reinicia, ele inicializa a imagem do livecd, carrega na memória e inicia um servidor SSH.
Zoredache
Na verdade, não tenho acesso físico. De qualquer forma, estou ciente da solução do live cd, por isso estou interessado em aprender outra solução, especificamente com as condições apresentadas neste problema. Obrigado!!
cat pants
Pura especulação: Gostaria de saber se chrootentrar em um disco RAM pode ajudar com isso. Segunda especulação: particione uma parte da unidade, reescreva o grub e reinicie.
Hyppy 17/07/2012
Existe apenas uma opção segura , se a confidencialidade dos dados for realmente uma preocupação: você deve destruir o disco. As opções normais são: 1) desmagnetizador, 2) lixadeira de disco, 3) martelo de esferas. Se você pode reiniciar, existe uma opção para executar algumas ferramentas de limpeza de disco no nível do Departamento de Defesa, mas você eliminou as reinicializações como opção.
9118 Mike Pennington

Respostas:

12

Crie uma imagem em um ramdisk contendo as ferramentas necessárias para remover o sistema do sistema e, pivot_rootem seguida , execute a ferramenta, pronto. Girando fora de um sistema completo não é trivial mas isso pode ser feito se você sabe o que está fazendo.

mulher
fonte
1
Essa é uma ideia legal. Então, a pergunta torna-se: qual é o mínimo necessário para eu jogar em um disco ram para poder fazer isso? Deixe-me tentar descobrir isso sozinho, então eu irei comentar aqui ou postar um novo tópico se não conseguir descobrir. Obrigado!
cat pants
9

eu fiz isso algumas vezes executando

dd if=/dev/zero of=/dev/sda

sem preparações adicionais. funcionou. o sistema estava funcionando bem por dias após a conclusão do dd [respondendo a pings, encaminhando pacotes].

pQd
fonte
1
Uma única passagem com / dev / zero não seria muito segura, dependendo da segurança do OP.
Aaron Copley
1
Apenas tentei isso, e o resultado foi um pânico no kernel. No entanto, tenho mais dez máquinas, mas posso tentar fazer isso. O que devo tentar a seguir?
cat pants
2
Você possui partições específicas com dados confidenciais? Você pode tentar jatear com areia antes de fazer qualquer coisa que possa derrubar a caixa.
Cjc 17/07/2012
2
Fiquei com a impressão de que precisar de mais de um passe é um equívoco comum. anti-forensics.com/disk-wiping-one-pass-is-enough Acredito que exista um desafio para recuperar dados após uma única passagem com / dev / zero, e até agora ninguém foi capaz de fazê-lo.
cat pants
4
@catpants: Bloqueie os arquivos necessários na memória com o vmtouch e execute o que você precisar.
Womble
0

Sugestão: use a limpeza em vez de dd - ele suporta a limpeza segura com várias passagens.

Outra sugestão: interrompa o maior número de serviços e exclua o maior número possível de pacotes. Exclua todos os dados que você não precisa e todos os seus arquivos e dados antigos. Preencha o máximo possível do espaço livre resultante com um único arquivo e execute a limpeza nesse arquivo. Não exclua esse arquivo. Isso resolverá limpar a maior parte do disco antes de tornar o sistema inutilizável.

A idéia do chroot ramdisk seria necessária para evitar dramas ao voltar para a caixa, mas você provavelmente desejará interromper o sistema o máximo possível antes de fazer a limpeza final, porque o log e outros daemons que gravam no disco pode significar que dados reais são gravados para liberar blocos de dados enquanto a limpeza ocorre, antes que a estrutura do sistema de arquivos esteja totalmente corrompida.

Paul Gear
fonte