Criptografia dos dados Gravados no Storage
Posted by admin on abril 23rd, 2010
![]()
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, é:
3. O FD usa a chave de sessão para fazer a criptografia simétrica dos dados.
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).
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
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 bacula-dir.conf:
PKI Keypair = master.keypair
* Comece o restore. A chave mestra será utilizada para descriptografar os dados.
Geração das chaves Públicas/Privadas:
Crie um par de chaves mestras com:
openssl genrsa -out master.key 2048
openssl req -new -key master.key -x509 -out master.cert
Crie um par de chaves para cada um dos File Daemons:
openssl genrsa -out fd-example.key 2048
openssl req -new -key fd-example.key -x509 -out fd-example.cert
cat fd-example.key fd-example.cert >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 = 20PKI 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
}
























outubro 15th, 2010 at 12:10
Preciso executar um script em um cliente desde o bacula-dir, é possÃvel fazer isso? é sufienciente ter o script no cliente e configurá-lo no diretor como RunAfter / RunBefore
abrigado
outubro 18th, 2010 at 12:16
Sim.
Basta chamar o RunAfterJob (ou before), na configuração do job do cliente que roda no servudor.
Abraços!