Differences

This shows you the differences between two versions of the page.

Link to this comparison view

criando_novo_cliente_windows_no_bacula_server_com_criptografia_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Criando Novo Cliente Windows no Servidor Bacula com Criptografia ======
  
 +
 +Aqui vamos verificar como efetuamos a criação de um novo cliente Windows ​
 +
 +Vamos criar o arquivo de configuração para gerar as chaves para o cliente
 +<sxh apache>
 +vim /​etc/​bacula/​keys/​server.cnf ​
 +[req]
 +default_bits = 1024
 +encrypt_key = yes
 +distinguished_name = req_dn
 +x509_extensions = cert_type
 +prompt = no
 +
 +[req_dn]
 +C=BR
 +ST=Parana
 +L=Curitiba
 +O=GPB
 +OU=IT
 +CN=win2012.douglasqsantos.com.br
 +emailAddress=douglas.q.santos@gmail.com
 +
 +[cert_type]
 +nsCertType = server
 +
 +[v3_ca]
 +subjectKeyIdentifier=hash
 +authorityKeyIdentifier=keyid:​always,​issuer:​always
 +basicConstraints=CA:​true
 +</​sxh>​
 +
 +Agora vamos criar um diretório para armazenar as chaves dos clientes e outro para as configurações
 +<sxh bash>
 +mkdir -p /​etc/​bacula/​keys/​clients/​win2012/​confs/​keys
 +</​sxh>​
 +
 +Agora vamos acessar o diretório que vai armazenar as chaves e vamos gerar a chave principal do cliente.
 +<sxh bash>
 +cd /​etc/​bacula/​keys/​clients/​win2012/​confs/​keys
 +openssl genrsa -out win2012-fd.key 2048
 +</​sxh>​
 +
 +Agora vamos assinar a chave do cliente
 +<sxh bash>
 +openssl req -new -x509 -out win2012-fd.cert -key win2012-fd.key -config /​etc/​bacula/​keys/​server.cnf -extensions v3_ca
 +</​sxh>​
 +
 +Agora vamos inserir as duas chaves em um arquivo
 +<sxh bash>
 +cat win2012-fd.key win2012-fd.cert > win2012-fd.pem
 +</​sxh>​
 +
 +Agora vamos copiar a chave master.cert para a nosso cliente
 +<sxh bash>
 +cp -Rfa /​etc/​bacula/​keys/​master.cert .
 +</​sxh>​
 +
 +Agora vamos a configuração do cliente ​
 +<sxh bash>
 +vim /​etc/​bacula/​keys/​clients/​win2012/​confs/​bacula-fd.conf ​
 +# LIST DIRECTORS WHO ARE PERMITTED TO CONTACT THIS FILE DAEMON
 +Director {
 +    Name = bacula-dir
 +    Password = "​hNqN7izeRCRLTcsXUUcoAdaaRpVcg2mnvy1"​
 +}
 +
 +# RESTRICTED DIRECTOR, USED BY TRAY-MONITOR TO GET THE
 +#   ​STATUS OF THE FILE DAEMON
 +Director {
 +    Name = bacula-mon
 +    Password = "​jgNDYGHmez8tsFUyIPdRSfEu9K7yrNIgms9"​
 +    Monitor = yes
 +}
 +
 +# "​GLOBAL"​ FILE DAEMON CONFIGURATION SPECIFICATIONS
 +FileDaemon {
 +    Name = win2012-fd
 +    FDport = 9102
 +    WorkingDirectory = "​C:​\\Program Files\\Bacula\\working" ​             # Diretorio de Trabalho
 +    Pid Directory = "​C:​\\Program Files\\Bacula\\working" ​                # Diretorio de PID
 +    Maximum Concurrent Jobs = 10                                         # Numero Maximo de Jobs em execucao
 +    FDAddress = 0.0.0.0
 +    PKI Signatures = Yes                                                 # Habilita a assinatura dos dados
 +    PKI Encryption = Yes                                                 # Habilita a criptografia dos dados
 +    PKI Keypair = "​C:​\\Program Files\\Bacula\\keys\\win2012-fd.pem" ​    # Arquivo que contem a chave publica e privada
 +    PKI Master Key = "​C:​\\Program Files\\Bacula\\keys\\master.cert" ​     # Arquivo com a chave publica do servidor
 +}
 +
 +# SEND ALL MESSAGES EXCEPT SKIPPED FILES BACK TO DIRECTOR
 +Messages {
 +    Name = Standard
 +    director = bacula-dir = all, !skipped, !restored
 +}
 +</​sxh>​
 +
 +Agora vamos criar o cliente para o servidor bacula
 +<sxh bash>
 +vim /​etc/​bacula/​clients-jobs/​win2012-jobs.conf ​
 +#​Configuration to Jobs on win2012
 +Job {
 +    Name = "​Win2012-Backup" ​                          # Nome do Job para Backup do Cliente
 +    JobDefs = "​Default-Windows" ​                            # JObDefs Definido
 +    Client = win2012-fd ​                               # Cliente fd
 +    Storage = Win2012-Storage
 +    Pool = Win2012-Pool
 +    FileSet = "​WebServer-Windows"​
 +    Schedule = "​Weekly-Cycle-Windows"​
 +}
 +
 +Client {
 +    Name = win2012-fd ​                                       # Cliente fd
 +    Address = 172.17.0.93
 +    Password = "​hNqN7izeRCRLTcsXUUcoAdaaRpVcg2mnvy1" ​    # Senha do Director do Bacula que foi configurado no cliente na primeira sessão Director
 +    Maximum Concurrent Jobs = 10 #Habilita o cliente a executar mais de um job por vez
 +    @/​etc/​bacula/​clients-jobs/​weekly-client ​ # Arquivo onde contem informacoes sobre o cliente.
 +}
 +</​sxh>​
 +
 +Agora vamos criar a configuração do device para o nosso cliente
 +<sxh bash>
 +vim /​etc/​bacula/​devices/​win2012-device.conf ​
 +#​Configuration to Device on win2012
 +Device {
 +    Name = Win2012-Device ​              # Nome do Device
 +    Media Type = File                       # Tipo de Midia (DVD, CD, HD, FITA)
 +    Archive Device = /​srv/​backup/​win2012 ​ # Diretorio onde serao salvos os volumes de backup
 +    LabelMedia = yes;                       # Midias de Etiquetamento do Bacula
 +    Random Access = Yes;                    #
 +    AutomaticMount = yes;                   # Montar Automaticamente
 +    RemovableMedia = no;                    # Midia Removivel
 +    AlwaysOpen = no;                        # Manter Sempre Aberto
 +}
 +</​sxh>​
 +
 +Agora vamos configurar o pool para o cliente
 +<sxh bash>
 +vim /​etc/​bacula/​pools/​win2012-pool.conf ​
 +#​Configuration for Pool client01
 +Pool {
 +    Name = Win2012-Pool ​            # o Job de Backup por padrao aponta para o '​File'​
 +    Pool Type = Backup ​               # O Tipo do Pool = Backup, Restore, Etc.
 +    Recycle = yes                       # Bacula can automatically recycle Volumes
 +    AutoPrune = yes                     # Prune expired volumes
 +    Volume Retention = 8 days          # Retencao de Volume = 1 Mes
 +    Volume Use Duration = 7 days      # Duracao de um volume aberto
 +    Maximum Volume Bytes = 20 Gb        # Tamanho maximo de um volume
 +    Maximum Volumes ​     = 10           # Volume Bytes X Volumes <= Dispositivo de backup
 +    LabelFormat ​         = "​volume-win2012-" ​    # Nome Default do Volume
 +}
 +</​sxh>​
 +
 +Agora vamos criar o storage para o cliente
 +<sxh bash>
 +vim /​etc/​bacula/​storages/​win2012-storage.conf ​
 +#​Configuration for storage client01
 +Storage {
 +    Name = Win2012-Storage
 +    Address = 172.17.0.90 ​                           # Pode ser usado Nome ou IP
 +    SDPort = 9103                                      # Porta de Comunicação do Storage
 +    Password = "​aLobW0dx5UrSru5JPDxdKCx5e9QPCN6hQU5" ​                      # Senha Storage Bacula
 +    Device = Win2012-Device ​                       # Device de Storage
 +    Media Type = File                                  # Tipo de Midia (Fita, DVD, HD)
 +    Maximum Concurrent Jobs = 10                       # Num. Maximo de Jobs executados nessa Storage.
 +}
 +</​sxh>​
 +
 +Vamos criar o bconsole para o nosso cliente
 +<sxh bash>
 +vim /​etc/​bacula/​keys/​clients/​win2012/​confs/​bconsole.conf ​
 +#​CONFIGURATION FOR BCONSOLE
 +Director {
 +    Name = bacula-dir
 +    DIRport = 9101
 +    address = 172.17.0.90
 +    Password = "​XHJhBJpspiuCWMzmQTI6ucifzHoVe9UQ0hy"​
 +}
 +</​sxh>​
 +
 +Vamos criar um arquivo de registro que tem que ser importado no cliente Windows.
 +<sxh bash>
 +vim /​etc/​bacula/​keys/​clients/​win2012/​bacula.reg
 +Windows Registry Editor Version 5.00
 +
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine]
 +
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine\SystemStateBackup]
 +"​ALlowSSBToAny"​=dword:​00000001
 +
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows]
 +"​NoInteractiveServices"​=dword:​00000000
 +</​sxh>​
 +
 +Agora vamos criar um bat para criar a regra de firewall e habilitar os serviços que precisamos e importar o registro do Windows.
 +<sxh bash>
 +vim /​etc/​bacula/​keys/​clients/​win2012/​depois-da-instalacao.bat
 +
 +echo "​Copiando arquivos do Bacula"​
 +move /Y "​C:​\Program Files\Bacula\bacula-fd.conf"​ "​C:​\Program Files\Bacula\bacula-fd.conf.bkp"​
 +move /Y "​C:​\Program Files\Bacula\bconsole.conf"​ "​C:​\Program Files\Bacula\bconsole.conf.bkp"​
 +xcopy confs\* "​C:​\Program Files\Bacula\"​ /s /y
 +
 +echo "​Importando registro para o Bacula"​
 +regedit.exe /s bacula.reg
 +
 +echo "​Criando regra de liberação de acesso ao para o Bacula-FD"​
 +netsh advfirewall firewall add rule name="​Bacula-FD"​ dir=in action=allow protocol=TCP localport=9102
 +
 +echo "​Habilitando o Serviço de detecção de serviços interativos"​
 +sc config UI0Detect start= auto
 +
 +echo "​Inicializando o Servico de deteccao de sevicos interativos"​
 +net start "​UI0Detect"​
 +
 +echo "​Iniciando o servico do Bacula"​
 +net start "​Bacula-fd"​
 +</​sxh>​
 +
 +Agora vamos converter o nosso bat e o registro para o formato Microsoft
 +<sxh bash>
 +unix2dos /​etc/​bacula/​keys/​clients/​win2012/​bacula.reg
 +unix2dos /​etc/​bacula/​keys/​clients/​win2012/​depois-da-instalacao.bat
 +</​sxh>​
 +
 +Agora vamos criar o diretório para armazenar os backups do cliente
 +<sxh bash>
 +mkdir /​srv/​backup/​win2012/​
 +</​sxh>​
 +
 +Agora vamos ajustar as permissões
 +<sxh bash>
 +chown -R bacula:tape /​srv/​backup/​win2012/​
 +chown -R bacula:​bacula /etc/bacula
 +</​sxh>​
 +
 +Agora vamos criar um pacote tar da configuração do nosso cliente
 +
 +Vamos acessar o diretório do cliente
 +<sxh bash>
 +cd /​etc/​bacula/​keys/​clients/​win2012
 +</​sxh>​
 +
 +Vamos obter o executavél para a instalação do cliente Bacula no Windows 64 
 +<sxh bash>
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​bacula/​bacula-win64-5.2.10.exe
 +</​sxh>​
 +
 +ou
 +
 +Vamos obter o executavél para a instalação do cliente Bacula no Windows 32
 +<sxh bash>
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​bacula/​bacula-win32-5.2.10.exe
 +</​sxh>​
 +
 +
 +Agora vamos gerar o pacote
 +<sxh bash>
 +zip -r  win2012.zip *
 +</​sxh>​
 +
 +Agora vamos recarregar a configuração do bacula
 +<sxh bash>
 +/​etc/​init.d/​bacula-dir force-reload
 +/​etc/​init.d/​bacula-sd force-reload
 +</​sxh>​
 +
 +Agora é só fazer a instalação do cliente bacula bacula-win*-5.2.10.exe e rodar o depois-da-instalacao.bat
 +
 +====== Referências ======
 +  - http://​bacula.org/​
 +  - http://​blog.bacula.org/​documentation/​