# Avaliador de camadas de política Check Point

> Acompanhe uma conexão atravessando camadas ordenadas: qual regra casou em cada uma, se um aceite significou permitido ou apenas seguir adiante, e onde um descarte não registrou nada.

- Tool: https://ronutz.com/pt-BR/tools/checkpoint-policy-layer-evaluator
- Family: Segurança e WAF

---

## O que esta ferramenta faz

Cole uma política de controle de acesso da Check Point numa gramática didática enxuta - uma ou mais declarações `layer`, suas regras, e uma linha `test` - e o avaliador percorre a conexão pelas camadas à sua frente. Cada passo nomeia a regra que casou, diz o que esse casamento de fato significou, e sinaliza os descartes que não registram nada. A saída é um rastro, e não um veredito, porque o veredito sozinho não ensina nada: a questão é ver uma conexão ser aceita por uma camada e descartada pela seguinte.

## A frase que ela existe para ensinar

**Camadas ordenadas são um E, e não um OU.** Aceitar numa camada significa que a conexão *segue para a próxima camada*; ela só é permitida quando a última camada ordenada a aceita. Um descarte em qualquer camada encerra a avaliação de imediato, então uma permissão numa camada inicial não salva tráfego que uma camada posterior recusa - a exceção pertence à camada que de outro modo negaria. Esse é o comportamento que quem chega de FortiGate, BIG-IP ou de uma cadeia iptables mais confiavelmente erra, e é a razão de o rastro mostrar "aceita, segue para a próxima camada" em vez de um sinal de visto.

## A gramática

Camadas: `layer Network ordered` ou `layer DMZ inline`. Regras: `1 | permit internal | accept | src=10.0.0.0/8 dst=any svc=443`, com ações `accept`, `drop`, ou `inline:<camada>` para controlar uma subpolítica. Acrescente `nolog` para modelar uma regra com Track em None. O que for omitido significa Any. Uma linha `test src=... dst=... svc=...` fornece a conexão. Linhas iniciadas por `#` são comentários.

## O que mais ela reporta

Além do rastro, o avaliador inspeciona a própria política: ausência de cleanup rule explícita, uma cleanup rule sem registro (o que anula seu único propósito), regras com Track em None, e encobrimento par a par - uma regra que nunca pode disparar porque uma anterior já casa com tudo que ela casaria.

O aviso de descarte silencioso merece menção própria. Quando nada casa, a cleanup rule implícita descarta a conexão e não registra absolutamente nada. Esse é o fato mais caro de uma base de regras Check Point para quem investiga, porque o sintoma é uma conexão que falha sem entrada de log que a explique, e parece falha de rede em vez de decisão de política.

## Limites honestos

**Nomes** de serviço não são resolvidos: `443` é um número de porta, e não `https`. Mapear nomes para portas seria um palpite sobre o banco de objetos de alguém. A análise de encobrimento é **par a par**, então uma regra coberta conjuntamente por várias regras anteriores, mas por nenhuma sozinha, não é sinalizada. Apenas IPv4. A gramática é um subconjunto didático deliberado - regras reais acrescentam VPN, conteúdo, tempo, install-on e negação - mas a semântica de camadas ensinada aqui vale para todas elas de forma idêntica.

## Standards and references

- [Check Point CCSA R82 Exam Prep Guide](https://www.checkpoint.com/downloads/training/CCSA-Exam-Prep-Guide.pdf) - Module 5: the policy layer concept, the traffic inspection flow through layers, and ordered versus inline layers
- [Check Point CCSE R82 Exam Prep Guide](https://www.checkpoint.com/downloads/training/CCSE-Exam-Prep-Guide.pdf) - Advanced policy management, for the layer behaviour the expert material assumes

## Related reading

- [A base de regras da Check Point: ordem, regras implícitas e as regras que todo mundo esquece](https://ronutz.com/pt-BR/learn/checkpoint-security-policy-and-rule-base.md): Uma base de regras Check Point é avaliada de cima para baixo, a primeira correspondência vence, e termina num descarte implícito que não registra nada. Duas regras convencionais existem para corrigir o que isso deixa você sem enxergar, e saber por que elas existem é mais útil que saber seus nomes.
- [Camadas de política na Check Point: ordenadas, inline e compartilhadas](https://ronutz.com/pt-BR/learn/checkpoint-policy-layers-ordered-and-inline.md): Camadas permitem que uma base de regras seja várias. O tráfego precisa ser aceito por toda camada ordenada para passar, uma camada inline é uma subpolítica pendurada numa única regra, e uma camada compartilhada é uma política reutilizada entre pacotes. A semântica do aceite é o que as pessoas erram.
- [NAT na Check Point: automático contra manual, hide contra estático, e o proxy ARP](https://ronutz.com/pt-BR/learn/checkpoint-advanced-policy-and-nat.md): A Check Point consegue gerar regras de NAT a partir das propriedades do próprio objeto, ou deixar você escrevê-las, e os dois se comportam de formas que importam. A falha mais comum de NAT manual não tem nada a ver com a regra: o gateway não está respondendo ARP por um endereço para o qual está traduzindo.
