Ir para o conteúdo principal

Segurança dos arquivos de bakup através do Hash de Segurança (Checksum)

Validação de Hash de Segurança do Alterdata Backup

Objetivo da funcionalidade:

O objetivo deste teste é validar a implementação do hash de segurança (modelo MD5) no Alterdata Backup. O hash (checksum) é registrado no banco do Alterdata Backup, na tabela Audit_backup, coluna Checksum, e serve para garantir a integridade dos arquivos de backup. Qualquer alteração no banco de dados ou no momento do backup resultará em um hash diferente, assegurando que o arquivo utilizado para restauração não foi violado.

Metodologia de Testes:

Os testes precisam ser conduzidos em  todos os  SGBDs que usamos (Postgres, SQL Server e SQLite) e consistem em:

  1. Validação da Geração e Registro do Hash: Verificar se o Alterdata Backup gera e registra corretamente o hash do arquivo de backup na tabela Audit_backup.
  2. Conferência do Hash: Comparar o hash registrado no banco de dados com o hash calculado independentemente usando o comando certutil -hashfile "[local_do_arquivo]" MD5 no prompt de comando do Windows.
  3. Validação da Unicidade do Hash: Gerar backups da mesma base usando outras ferramentas (PGAdmin4, Alterdata Manager e SQLiteStudio) e comparar os hashes resultantes para confirmar que são diferentes do hash gerado pelo Alterdata Backup.

Resultados Detalhados:

  • Postgres (Base: NOVABASEJAMEXIDA):
    • Hash gerado pelo Alterdata Backup: 61e70f2d661e70fee54adcca2509a26e
    • Hash calculado via certutil61e70f2d661e70fee54adcca2509a26e (correspondente)
    • Hash gerado via PGAdmin4: 894fcb56a125247999a054e387cd4954 (diferente)

  • SQL Server (Base: TesteVictor):
    • Hash gerado pelo Alterdata Backup: c85041963865d7a9415f833b8542d39d
    • Hash calculado via certutilc85041963865d7a9415f833b8542d39d (correspondente)
    • Hash gerado via Alterdata Manager: d11a1822a8704190690ff3d0b171cde5 (diferente)

  • SQLite (Base: 177944-Alterdata-Backup):
    • Hash gerado pelo Alterdata Backup: 793857ed091203d95d6764569b4e13c3
    • Hash calculado via certutil793857ed091203d95d6764569b4e13c3 (correspondente)
    • Hash gerado via SQLiteStudio 3.4.4: 541aa9d22562eb0750513dee64f5cd72 (diferente)

Observação Geral:

Foi observado que mesmo ao gerar múltiplos backups consecutivos da mesma base no Alterdata Backup, sem alterações nos dados, os hashes resultantes são diferentes. Isso provavelmente ocorre devido à inclusão da informação de data/hora no arquivo de backup, que altera o conteúdo do arquivo e, consequentemente, o hash.