Criptografia dos dados Gravados no Storage

 

O Bacula permite criptografia na gravação dos dados no storage, a partir da sa[ida do cliente (file daemon). Na restauração, assinaturas de arquivos são validadas e qualquer inconformidade [e reportada. Em em nenhum momento, o Director ou Storage Daemon tem acesso aos dados criptografados.

* Esta implementação não criptografa meta-informações do arquivo.

Encriptação e validação são implementadas utilizados chaves privadas RSA, casadas com certificados p[ublicos x509 auto assinados. Este esquema [e conhecido como PKI ou infra-estrutura de chave púublica.

Cada File-daemon deverá ter sua própria chave pública/privada. Em adição a esse par, qualquer número de chaves mestres pode ser especificada — essas chaves podem ser utilizadas para descriptografar qualquer backup em caso de perda da chave do File Daemon. Apenas o certificado da chave pública será visível para o file daemon A chave mestre privada nunca deve ser armazenada no cliente.

As chaves mestre devem ser guardadas em segurança, preferencialmente num confre corta-fogo. Também não deve ser guardada na mesma máquina do Storage Daemon ou Director, se houver preocupação com atividade maliciosa nestas máquinas.

Menos críticas que as chaves mestras, as chaves do File Daemon Keys também são candidatas a serem backupeadas de maneira off-site.

NOTA!!! Se as chaves de criptografia forem perdidas, os backups serão irrecuperáveis.

O algorítimo básico utilizado para cada sessão de backup, é:

1. O file daemon gera uma chave de sessão.
2. The FD criptografa utilizando PKE para todos os recipientes (o file daemon e qualquer chave mestre).
3. O FD usa a chave de sessão para fazer a criptografia simétrica dos dados.

Implementando o suporte a criptografia

./configure –with-openssl …

Detalhes Técnicos da Criptografia

Esta implementaçào utiliza AES-CBC de 128 bits, com sessão simétrica criptografada RSA. A chave RSA é suprida pelo usuário. Se vocë estiver executando o OpenSSL 0.9.8r, a assinatura do arquivo utiliza SHA-256 — do contráario, SHA-1 é utilizado.

A informação escrita no volume suporta criptografia simétrica e assimétrica.

Criptografia simétrica:

– 128, 192, and 256-bit AES-CBC
– Blowfish-CBC

Criptografia Assimétrica (usada para criptografar as chafes de sessão):

– RSA

Algorítimos:

– MD5
– SHA1
– SHA256
– SHA512

Geração das chaves Públicas/Privadas:

Crie um par de chaves mestras com:

cd /etc/bacula &&
openssl genrsa -out master.key 2048 && 
openssl req -new -key master.key -x509 -out master.cert && 
cat master.key master.cert >master.pem

Crie um par de chaves para cada um dos File Daemons:

openssl req -new -x509 -nodes -out fd-example.pem -keyout fd-example.pem

Neste caso, tipicamente a extenção .cert se refere a um certificado de codificação X509 que contém apenas uma chave pública.

Exemplo de Configuração:

bacula-fd.conf

FileDaemon {
Name = example-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/bacula/working
Pid Directory = /var/run
Maximum Concurrent Jobs = 20

PKI Signatures = Yes # Enable Data Signing
PKI Encryption = Yes # Enable Data Encryption
PKI Keypair = /etc/bacula/fd-example.pem # Public and Private Keys
PKI Master Key = /etc/bacula/master.cert # ONLY the Public Key
# PKI Keypair = /etc/bacula/master.pem ## só utilizar se perder a chave original
}

 Descriptografando com a chave mestra:

* Primeiro, a chave mestra privada e a pública devem ser concatenatas num s[o arquivo. Ex.: cat master.key master.cert >master.keypair

* Configure a opção PKI Keypair no respectivo bacula-fd.conf:

PKI Keypair = /etc/bacula/master.pem

* Comece o restore. A chave mestra será utilizada para descriptografar os dados.

Disponível em: pt-brPortuguês

Deixe uma resposta