É imprescindível ter um serviço para gravar os logs de aplicação. Nele podemos aplicar devidas regras de sanitização.
- Tomar cuidado ao logar requisições e seus dados. Pode ocorrer de em uma requisição de autenticação, serem logados os dados de acesso do usuário. Isso pode então ser exibido no output do console ou salvo em um arquivo fora do seu controle.
- Cuidar ao logar dados de entrada fornecidos pelo usuário. Nesses dados podem conter alguns sensíveis, como dados de cartão de crédito.
- Tomar cuidado ao logar as queries executadas pelo banco. Elas podem conter informações sensíveis.
- Quando acontece algum erro no banco, isso gera um log. Esse log deve ser analisado para garantir que não estejam sendo expostos dados sensíveis. Em alguns casos até a string de conexão ao banco é exibida nos logs.
- Exceções que informem dados de variáveis podem acabar expondo dados sensíveis, como CPF ou nome do usuário. Também deve ser analisado se alguma variável de ambiente é exposta.
- Deve-se tomar cuidado com onde o arquivo de logs é armazenado.
- Logs geralmente servem apenas para identificar algum comportamento estranho ou falhas na aplicação. Por isso tem utilidade apenas em um determinado período de tempo. É uma boa prática sempre aplicarmos uma política de rotação de logs. Algo como arquivar após 30 dias e exclui-los após 90.