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 [2019/08/08 15:23] (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/
Print/export
QR Code
QR Code criando_novo_cliente_windows_no_bacula_server_com_criptografia_pt_br (generated for current page)