gershwin.pages.dev

Como mascarar CPF em logs de sistema de forma segura e eficiente?

Proteger dados sensíveis em logs é uma prática essencial para garantir a segurança e a conformidade com a LGPD. Mascarar CPFs em arquivos de log evita exposição desnecessária de informações pessoais, mantendo a integridade dos dados para auditoria e análise. Este método utiliza expressões regulares e substituição programática, garantindo precisão e automação.

Pré-requisitos

Passo 1: Criar script Python para mascaramento

O script abaixo lê um arquivo de log, identifica todos os CPFs no formato 000.000.000-00 e os substitui por XXX.XXX.XXX-XX, preservando o restante do conteúdo.

import re

def mascarar_cpf_em_log(arquivo_entrada, arquivo_saida):
    padrao_cpf = r'\b\d{3}\.\d{3}\.\d{3}-\d{2}\b'
    with open(arquivo_entrada, 'r') as f:
        conteudo = f.read()
    conteudo_mascarado = re.sub(padrao_cpf, 'XXX.XXX.XXX-XX', conteudo)
    with open(arquivo_saida, 'w') as f:
        f.write(conteudo_mascarado)

# Exemplo de uso
mascarar_cpf_em_log('log_original.txt', 'log_mascarado.txt')

Passo 2: Executar o script no terminal

Salve o código em um arquivo chamado mascarar_cpf.py e execute-o no terminal, substituindo os nomes dos arquivos conforme necessário.

python mascarar_cpf.py

Passo 3: Automatizar o processo (opcional)

Para automatizar o mascaramento sempre que um novo log for gerado, crie um script shell que chama o Python automaticamente.

#!/bin/bash
ARQUIVO_LOG=$1
ARQUIVO_SAIDA="${ARQUIVO_LOG%.txt}_mascarado.txt"
python mascarar_cpf.py "$ARQUIVO_LOG" "$ARQUIVO_SAIDA"

Exemplo Prático

Conteúdo Original do Log Conteúdo Após Mascaramento
Usuário 12345 acessou em 01/01/2024. CPF: 123.456.789-00 Usuário 12345 acessou em 01/01/2024. CPF: XXX.XXX.XXX-XX
Erro no login: CPF 987.654.321-00 inválido Erro no login: CPF XXX.XXX.XXX-XX inválido

Conclusão

Com este método, você automatiza o mascaramento de CPFs em logs de sistema em segundos, evitando exposição de dados sensíveis e garantindo conformidade com normas de privacidade. A abordagem é escalável e pode ser adaptada para outros formatos de dados pessoais conforme necessário.