Separar as etapas da observabilidade
O programa da aula anterior cria também ficheiros de auditoria JSON isolados. Examina as projeções e o rawAudit em evidence.json. Uma regra pode corresponder, o callback pode recebê-la e a seleção de auditoria pode ainda impedir a escrita. Se não existir registo local, o coletor não o pode entregar. Esta sequência ajuda APS a localizar a perda antes de alterar componentes. Cada caso usa um ficheiro novo, fecha o servidor e o writer antes de ler o resultado e remove a pasta temporária no fim.
Reproduzir a seleção da versão
Com RelevantOnly e filtro ^5, o controlo 200 sem regra não produz registo e o 503 da aplicação produz um. No Coraza 3.8.0 executado, a regra pass,log,auditlog que corresponde com 200 também fica excluída pelo filtro. A descrição online consultada apresenta uma exceção diferente; o código versionado e a execução sustentam o resultado aqui ensinado. Conserva essa divergência no relatório. Não transformes a observação numa afirmação sobre todas as versões, nem mudes um resultado esperado apenas para o fazer coincidir com a documentação.
Distinguir mensagem e transação
No caso log,noauditlog com resposta 503, existe uma transação selecionada pelo estado, mas não aparece a mensagem dessa regra no JSON. O callback continua a observar a correspondência. Assim, omitir uma mensagem da auditoria não equivale a vetar toda a transação nem a desligar outros canais de diagnóstico. Para investigar, regista versão, modo, filtro, ação da regra e saída efetiva. A amostra não implementa um coletor remoto ou uma política de retenção: essas etapas precisam de validação própria no percurso de produção escolhido.
Procurar dados para além do corpo
Com On e ABCFHZ, a amostra guarda o corpo sintético e o Authorization inventado. Com AHZ, o campo request.body continua a existir como string vazia e os cabeçalhos ficam sem conteúdo. Contudo, a mensagem da regra ainda contém DR-NOTE-ALPHA através de logdata. O helper considera corpo recolhido apenas quando o seu valor não está vazio; a existência da chave não basta. Procura marcadores também em mensagens e callbacks. A remoção de B e C não demonstra anonimato, ausência de identificadores ou ausência de cópias noutros sistemas.
Equilibrar dados e diagnóstico
O perfil AZ do fixture guarda uma transação sem o marcador nem mensagens de regras. Isso reduz os dados observados, mas pode retirar contexto necessário ao suporte. Não uses um ficheiro vazio como objetivo isolado. Numa mudança fictícia para uma aplicação de fundos, acorda os campos necessários, quem os consulta, retenção e recuperação da configuração anterior. Reproduz com valores inventados e inspeciona a amostra antes de a partilhar. Se houver investigação com dados reais, segue o processo autorizado da organização; este exercício não define políticas internas do banco.
Conduzir a passagem para RUN em inglês
Usa a ficha proposta abaixo numa simulação entre gestor, APS, segurança e rede. Pede que cada responsável explique onde procura um pedido 200 com correspondência, uma recusa antes da aplicação e um 503 produzido pelo handler. Em seguida, confirma que consegue distinguir filtro de seleção de falha de escrita ou entrega. Regista os campos retidos e os controlos ainda por executar no gateway e coletor. O exercício prepara uma conversa profissional, mas não prova que ocorreu um workshop, revisão humana especializada ou aceitação em produção.
DR proposed WAF origin and audit handover
Status: teaching worksheet, not an executed human workshop.
No human workshop has been performed.
Scope: fictional service; synthetic data only.
Observed locally: Coraza 3.8.0, Go 1.27.1, HTTPS loopback.
Not covered: production gateway, trusted-proxy rewriting, remote collector,
full CRS, attack detection efficacy, production PKI or production acceptance.
1. Draw the request paths and identify each peer and header writer.
2. Record who may reach the origin directly and how that path is handled.
3. Rehearse absent, empty, literal and multi-hop origin inputs.
4. Correlate rule match, application call, response and local audit record.
5. Compare On / RelevantOnly, effective status filter and rule audit actions.
6. Search synthetic markers across body, headers, messages and callbacks.
7. Agree necessary diagnostic fields, access owners and retention policy.
8. Rehearse actual gateway and collector behavior with authorized test data.
9. Record rollback conditions and who can restore the previous configuration.
Suggested meeting prompts:
"Which address is the connection peer, and which is a claim?"
"Who is allowed to supply the value used by this policy?"
"Did this event match, get selected, get written and reach the collector?"
"What evidence do we lose when these fields are removed?"
"Which acceptance controls remain unexecuted?"
Evidence columns:
case | version | path | peer | declared origin | selected origin |
rule/mode | HTTP outcome | application calls | audit records |
retained fields | expected result | actual result | owner | follow-up
Acceptance requires evidence on the selected deployment path.
Local quantitative coverage does not establish independent specialist review.
Uma mudança fictícia remove o corpo dedicado do JSON, mas o marcador permanece na mensagem. A aceitação deve procurar dados em todas as saídas relevantes.
Armadilhas comuns
Confundir ausência de log com ausência de deteção; afirmar que noauditlog impede qualquer transação; declarar anonimato apenas por retirar B e C.
Tópicos relacionados: Arquitetura e cobertura do WAF · Taxa, origem e clientes · Logs, mudanças e passagem para RUN
Inspeciona os registos reais da versão ensaiada. A seleção decide se há transação; as partes e mensagens decidem que dados ficam disponíveis para diagnóstico.
Referência: Coraza transaction and audit source · DR WAF 2026-09; selected AWS WAF and OWASP CRS operational concepts