Monitorar Integridade de Arquivos com Checksums
Nesta etapa, você aprenderá a monitorar a integridade de arquivos. Um backup protege contra perda de dados, mas não informa se um arquivo foi sutilmente corrompido ou alterado maliciosamente. Um checksum (ou hash) é uma impressão digital digital única de um arquivo. Se até mesmo um bit no arquivo mudar, o checksum mudará completamente. Isso o torna uma excelente ferramenta para verificar a integridade de arquivos.
Usaremos o comando md5sum, que calcula um checksum MD5. Embora o SHA-256 (sha256sum) seja mais seguro criptograficamente, o md5sum é simples e suficiente para esta demonstração.
Primeiro, vamos gerar checksums para nossos arquivos críticos e salvá-los em um arquivo de referência.
md5sum ~/project/critical_data/* > ~/project/checksums.md5
Agora, visualize o conteúdo do arquivo checksums.md5 que você acabou de criar:
cat ~/project/checksums.md5
A saída mostrará um checksum único para cada arquivo. Seus valores de checksum serão idênticos a estes:
d7118547a95c5470575962481c2e358c /home/labex/project/critical_data/config.txt
b643407358b9de495715f13432577d33 /home/labex/project/critical_data/user_data.csv
Agora, vamos simular uma modificação não autorizada em um dos arquivos. Adicionaremos um comentário ao arquivo config.txt.
echo "## This is a change" >> ~/project/critical_data/config.txt
O arquivo foi alterado. Para um observador que apenas olha a lista de arquivos, nada parece errado. Mas podemos usar nosso arquivo de checksums para verificar se há alterações. A opção -c instrui o md5sum a verificar os arquivos em relação a uma lista.
md5sum -c ~/project/checksums.md5
O comando verificará cada arquivo listado em checksums.md5 em relação ao seu estado atual no disco. A saída mostrará claramente que config.txt foi modificado:
/home/labex/project/critical_data/config.txt: FAILED
/home/labex/project/critical_data/user_data.csv: OK
md5sum: WARNING: 1 computed checksum did NOT match
Este status "FAILED" (FALHA) alerta imediatamente que o arquivo não está mais em seu estado original e confiável. Esta é uma técnica poderosa para detectar corrupção de dados ou violações de segurança.