Criptografar banco de dados postgresql

3

Estou lendo a documentação do banco de dados postgresql, mas não encontrei nada sobre a criptografia dos arquivos de banco de dados para impedir que alguém veja os dados sem a senha do banco de dados. Existe alguma maneira de tornar o postgresql seguro se alguém, por exemplo, obter acesso físico ao servidor?

Eu sei que o Linux pode criptografar a partição como dito na documentação, mas não é isso que estou procurando.

    
por Luciano Andress Martini 29.08.2016 / 22:01

1 resposta

4

Para proteger seus dados contra o acesso físico ao servidor, você precisa mover a criptografia / descriptografia pelo menos parcialmente para fora do servidor. Se o seu servidor puder inicializar e montar suas partições criptografadas sem ajuda externa, ele estará vulnerável.

Se você se preocupa apenas com remoção física, envolvendo uma reinicialização do servidor, a criptografia de disco pode ser suficiente, se a chave de criptografia estiver armazenada no servidor; por exemplo, usando criptografia de rede (um servidor de desbloqueio de chave em algum outro lugar da rede, por exemplo Tang e Clevis ), ou como grochmal sugerido, uma chave digitada manualmente na inicialização (mas em Neste último caso, seu servidor não inicializará sem supervisão, o que pode ser um inconveniente significativo).

Se você se preocupa com o acesso físico em geral, deve executar a criptografia e a descriptografia usando as informações armazenadas nos clientes, por exemplo, usando pgcrypto , ou até mesmo executar criptografia e descriptografia somente nos clientes, codificados em seu aplicativo cliente. Nesses casos, embora os dados criptografados não possam mais ser usados em consultas, a menos que você implemente criptografia homomórfica . Existem algumas sutilezas envolvidas, por exemplo, com representação de dados ( NULL valores em particular), então você provavelmente deve falar com um especialista em segurança (sem reinventar a roda ...).

    
por 29.08.2016 / 23:51