Pergunta

Tenho uma pergunta sobre a criptografia de discos.

Eu tenho 2 servidores: 1 é o Apache para Web/Frontend e ele fala com o servidor 2, que é o MySQL. Eles são todos apenas para intranet; Sem acesso externo. Eu estava procurando usar PGP ou GNUPG para criptografar os discos. Não estou claro, porém, sobre exatamente como isso funcionaria.

Onde as chaves seriam armazenadas? No cliente? No Apache? Se houver uma chave no Apache para acessar o MySQL, precisa haver uma chave para cada usuário? Nesse caso, se a Key 1 for usada para alterar alguns dados, esses dados serão inacessíveis para um usuário usando a Key 2? E a chave do Apache, isso seria acessível apenas aos usuários com chaves locais?

A criptografia é feita em tempo real? Isso degrada o desempenho?

Qual seria a melhor abordagem para criptografar os dados nesses servidores, mas os terá acessíveis aos usuários?

Obrigado!

Foi útil?

Solução

Na configuração que você descreve, pode haver muitos lugares e maneiras pelas quais os dados podem ser criptografados. Se você deseja criptografar todos os dados transferidos entre servidores, a configuração de uma rede privada virtual (VPN) entre eles seria o truque. Se você deseja criptografar os dados reais no disco, pode usar um sistema de arquivos criptográfico como o CFS no Linux. Se você é um pouco mais paranóico, também pode querer criptografar o espaço de troca.

Provavelmente não é eficiente criptografar todos os dados o tempo todo, considerando que as operações de criptografia podem ser bastante pesadas na CPU. Acho que criptografar tudo não é necessário e você só deseja criptografar alguns dos seus dados que são sensíveis. Eu acho que a maneira mais direta de fazer isso seria usar a senha do usuário e um aleatório sal (gerado uma vez para cada usuário) como uma chave e use um Algoritmo de chave simétrica Como Aes.

Seu aplicativo da Web deve armazenar e recuperar os dados no banco de dados de forma criptografada e tomar cuidado para não manter os dados não criptografados na memória por mais tempo do que estritamente necessário. Para (tentar) garantir que permaneça em segredo quando você o envia para o cliente depois disso, você deve usar TLS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top