Criptografia de disco no Debian

4

Eu tenho um servidor Debian Lenny executando um aplicativo de produção. Recentemente, um consultor nos pede que ativemos a criptografia de disco para segurança de dados. Ele acredita que a criptografia de disco completo exigirá que limpemos os discos e reinicie a configuração do servidor, de modo que criptografar o armazenamento dos arquivos MySQL e raiz da Web seria suficiente.

Então, estou pensando em criar uma nova partição e mover a raiz do site do apache para lá, junto com os arquivos de dados do MySQL e criptografá-los com algum pacote / ferramenta.

Agora, minhas perguntas são simples:

  1. O meu plano está correto ou existe uma solução melhor?
  2. Qual pacote / ferramenta devo procurar neste cenário?
  3. Como posso mover a pasta de dados do MySQL para a nova partição se essa é a abordagem a seguir?

Aprecie seu tempo e ajuda, obrigado antecipadamente!

Atenciosamente,

Emran

    
por Mohammad Emran Hasan 15.10.2010 / 20:16

4 respostas

5
A primeira coisa a lembrar é que o consultor não é aquele que carrega o fardo aqui em termos de desempenho e incomodar. As reinicializações não assistidas não serão mais possíveis e, para evitar comprometimentos de segurança, deve haver muito poucos usuários com a senha de criptografia que permita a reinicialização. As recomendações gerais para criptografia costumam ser deslocadas.

A criptografia de dados protege contra um cenário de ataque específico , e provavelmente não é a vulnerabilidade mais provável. A criptografia de dados protege você contra um invasor que sai fisicamente com suas unidades de dados. Se você estiver preocupado com esse cenário, considere melhores proteções físicas - travar painéis na parte frontal do rack, por exemplo.

A Criptografia de dados geralmente não oferece muita proteção contra um invasor que comprometa seu aplicativo da Web pela rede. É mais provável que um invasor tenha pelo menos os mesmos privilégios do seu aplicativo da Web, que incluem ler e gravar no banco de dados, mesmo se ele estiver criptografado no disco.

Não se esqueça de explicar o impacto no desempenho que isso causará ao seu banco de dados MySQL. Ler e gravar nos discos criptografados será significativamente mais lento . Se você já estiver enfrentando problemas de desempenho, isso provavelmente quebrará as coisas de forma horrível.

MadHatter e JanC deram-lhe bons conselhos. Como JanC disse, é possível fazer isso sem limpar a máquina, mas para seus propósitos não parece necessário.

Uma outra coisa que você precisa lembrar é de criptografar sua partição swap. Para fazer isso, você precisará desabilitar o swap, reinicializar para fazê-lo desaparecer, excluir com segurança a partição de troca, criptografá-la, reativar a troca e, em seguida, reiniciar a máquina. Não tenho certeza de como configurá-lo no Debian, mas você precisará inserir a senha logo no início do processo de inicialização.

Se você não conseguir criptografar a partição swap (e seu diretório / tmp e quaisquer outros locais nos quais seus aplicativos possam gravar), partes de seus dados confidenciais serão gravadas sem criptografia no disco.

    
por 15.10.2010 / 21:52
3

Eu acho que seu plano está amplamente correto; A criptografia de uma partição fornecerá a você um armazenamento criptografado e seguro sem a necessidade de reinstalar a máquina inteira.

Observe que esta máquina não será mais útil se inicializada de forma autônoma. Ele será inicializado, pois a partição raiz não será criptografada, mas não poderá iniciar o mysql; você tem que inserir manualmente a senha de criptografia a cada reinicialização. Você pode certamente fazer o script, mas a senha de criptografia é armazenada na máquina e isso realmente anula o objetivo do exercício. Então, certifique-se de que deseja fazer isso antes de fazê-lo.

Eu escrevi uma nota técnica bastante detalhada sobre como eu fiz isso, que você pode ler em link se você estiver interessado. O trabalho foi feito no fedora, mas não é específico do fedora.

Depois de configurar a partição criptografada, basta usar "cp" ou "mv" para colocar os arquivos nela e, em geral, vinculá-los a partir de sua localização antiga (/ var / lib / mysql ou qualquer outro local) .

    
por 15.10.2010 / 20:43
3

A criptografia de disco completo é melhor feita com cryptsetup & LUKS A maneira mais fácil de configurar isso é quando você faz uma nova instalação; existe uma opção no instalador que cuidará de tudo para você.

Se isso não for uma opção, você terá que fazer isso manualmente. Existem vários tutoriais que podem ser encontrados na Web, por ex. aqui .

Alternativamente, você também pode fazer criptografia baseada em arquivos usando eCryptFS (se isso é bom o suficiente depende do que você tenta proteger contra ).

    
por 15.10.2010 / 21:19
2

Eu começaria perguntando ao seu consultor o que a criptografia de disco deve proteger. Tudo o que vai fazer é (se você configurá-lo para exigir uma senha para descriptografar) é impedir que as pessoas acessem os dados se eles roubarem o sistema. Ele não protegerá os dados enquanto o sistema estiver em execução - se você precisar fazer isso, essa é a abordagem errada.

Se você criptografar, será necessário criptografar 3 itens:

  1. Os discos / partições de dados
  2. A partição de troca
  3. A partição / tmp (e outro armazenamento temporário de arquivos que o servidor da web pode usar)

Este guia debian pode ajudá-lo a começar. Para ser um pouco preguiçoso, eu provavelmente sugiro ter uma pequena partição criptografada, você precisa de uma senha para desbloquear que contém as chaves para desbloquear todas as outras partições. Será mais fácil do que digitar várias senhas na inicialização.

Por fim, verifique suas cargas atuais de CPU e de E / S. Se você já estiver com muita carga, provavelmente não terá a capacidade extra necessária. Talvez seja necessário mudar a sua plataforma de hardware ou atualizá-la.

    
por 15.10.2010 / 23:54