Embora o PostgreSQL não ofereça opções de criptografia integradas, você pode configurar a criptografia de dados em repouso usando métodos de criptografia de terceiros. O tutorial de hoje se concentra na utilização do método Transparent Data Encryption (TDE) para habilitar a criptografia no nível do sistema de arquivos.
Como configurar a criptografia de dados em repouso no PostgreSQL
Ao definir a criptografia de dados em repouso no PostgreSQL, o objetivo é tornar os dados ilegíveis no sistema de arquivos, exigindo uma chave de descriptografia. Dessa forma, o acesso não autorizado é eliminado.
Quando o PostgreSQL está sendo executado em seu servidor, você pode configurar a criptografia em nível de sistema de arquivos usando ferramentas de terceiros, como Linux Unified Key Setup (LUKS). Você pode encontrar a solução apropriada para o seu sistema. Aqui, estamos trabalhando com Ubuntu e configuramos a criptografia de dados usando as etapas a seguir.
Etapa 1: Instale a ferramenta de criptografia do sistema de arquivos
Depois de selecionar o método de criptografia, você deve instalar as ferramentas necessárias. Selecionamos o método de criptografia em nível de sistema de arquivos e instalamos o LUKS. Para instalar o LUKS, instale o cryptsetup da seguinte forma:
sudo apt-get instalar configuração de criptografia
Pressione “y” para continuar a instalação e garantir que tudo seja instalado conforme o esperado.
Etapa 2: configurar um contêiner criptografado
Como estamos configurando a criptografia no nível do sistema de arquivos, devemos criar um diretório criptografado em nosso disco que contenha os dados do PostgreSQL. Verifique os dispositivos disponíveis em seu sistema operacional com o seguinte comando:
sudo fdisk -eu
Em seguida, selecione o dispositivo apropriado e execute o seguinte comando. Aqui, usamos o /dev/sdb dispositivo. Você será solicitado a confirmar a ação digitando “SIM” e, em seguida, insira uma senha.
Você então deve criptografá-lo usando LUKS executando o seguinte comando:
Etapa 3: formate o contêiner
Para o container criado, devemos formatá-lo. Usamos a opção “mkfs.ext4” executando o seguinte código:
sudo mkfs.ext4 / desenvolvedor / mapeador / postgres_encrypted
Etapa 4: monte o contêiner
A seguir, vamos montar o contêiner criptografado. Comece criando um diretório no /mnt/ do seguinte modo:
sudo mkdir / mt / postgresDepois que o diretório for criado, monte o contêiner criptografado usando o comando “mount” e especifique o caminho.
sudo montar / desenvolvedor / mapeador / postgres_encrypted / mt / postgres /Etapa 5: mover os dados do PostgreSQL
Até agora, criamos um contêiner criptografado para armazenar nossos dados PostgreSQL, mas ainda não transferimos os dados. Antes de mover os dados, devemos interromper o serviço PostgreSQL.
sudo systemctl parar postgresqlPara mover os dados do PostgreSQL, execute o seguinte comando “copiar” e certifique-se de copiá-los para o diretório que criamos anteriormente:
sudo sincronizar novamente -de / era / biblioteca / postgresql / mt / postgresEm seguida, faça backup dos dados originais do PostgreSQL movendo-os para um local de backup.
sudo mv / era / biblioteca / postgresql / era / biblioteca / postgresql_backup
Em seguida, você precisa criar um link simbólico para o diretório para acesso rápido.
É isso. Conseguimos copiar e mover os dados do PostgreSQL para nosso contêiner criptografado no nível do sistema de arquivos para garantir a segurança dos dados em repouso.
Etapa 6: edite o arquivo de configuração do PostgreSQL
O data_directory no arquivo de configuração reflete a preciosa localização dos dados do PostgreSQL. No entanto, devemos editá-lo para corresponder à localização dos dados do PostgreSQL no contêiner criptografado que criamos. Portanto, abra o arquivo de configuração do PostgreSQL usando um editor de texto. Localize a seção data_directory. Ele aparece conforme mostrado a seguir, antes de editá-lo. O caminho pode ser diferente dependendo da versão do PostgreSQL instalada em seu sistema.
Altere o caminho para direcionar para o contêiner criptografado que criamos na etapa 4. No nosso caso, o novo caminho é o seguinte:
Etapa 7: salvar, sair e reiniciar
Salve e saia do arquivo de configuração do PostgreSQL. Em seguida, inicie ou reinicie o PostgreSQL. Você conseguiu configurar a criptografia de dados em repouso no PostgreSQL.
É isso! Você pode continuar usando o PostgreSQL com segurança e aproveitar a nova criptografia no nível do sistema de arquivos.
Conclusão
Configurar a criptografia de dados em repouso no PostgreSQL envolve determinar qual método de criptografia usar e, em seguida, configurá-lo. Selecionamos a criptografia TDE usando LUKS para configurar uma criptografia em nível de sistema de arquivos. Além disso, detalhamos cada passo a seguir para configurá-lo. É isso! Experimente e siga as etapas fornecidas.