# Linter de objetos do F5XC

> Cole um objeto origin_pool, http_loadbalancer, ou app_firewall do F5XC e ele sinaliza configurações arriscadas ou surpreendentes, cada uma com uma severidade e uma explicação fundamentada.

- Tool: https://ronutz.com/pt-BR/tools/f5xc-object-linter
- Family: Segurança e WAF

---

## O que faz

Esta ferramenta é um linter para objetos de configuração do F5 Distributed Cloud (XC). Cole um objeto origin_pool, http_loadbalancer, ou app_firewall - da visão JSON do Console ou da API - e ela sinaliza configurações que são arriscadas, surpreendentes, ou prováveis erros, cada uma com uma severidade e uma explicação curta fundamentada na documentação da F5. Roda inteiramente no seu navegador, e não introduz nenhum schema novo: cada regra reusa as estruturas de objeto verificadas para as outras ferramentas desta família.

## O que ela verifica

Para um origin pool, o linter sinaliza TLS para o origin com verificação do servidor pulada (a conexão é criptografada mas o certificado do origin não é validado), SNI desabilitado, texto puro para o origin, um health check ausente, e um único origin server sem redundância. Para um HTTP load balancer, ela sinaliza nenhum WAF anexado, um listener HTTP puro sem HTTPS, HTTPS configurado sem um redirect de HTTP para HTTPS, uma rota que desabilita o WAF, uma rota catch-all colocada antes de outras rotas (que nunca conseguem dar match sob avaliação por primeiro match), e um domínio wildcard misturado com seu apex. Para um WAF, ela sinaliza modo de monitoramento (detecta mas não bloqueia) e threat campaigns desabilitados.

## Severidade e fundamentação

Cada finding carrega uma severidade - alta, aviso, ou info - e a lista é ordenada com a mais séria primeiro. Alta é reservada para uma configuração que enfraquece materialmente a segurança, como pular a verificação do origin. Aviso cobre configurações que geralmente estão erradas, como nenhum WAF ou uma rota sombreada. Info cobre coisas que vale saber mas frequentemente são intencionais, como um único origin. Cada regra cita a fonte da F5 na qual se baseia, então um flag é um ponto de partida para uma decisão em vez de um veredito - algumas dessas configurações são a escolha certa no contexto, e o linter diz por que cada uma importa para que você decida.

## O que ela não é

O linter lê um objeto por vez e raciocina apenas sobre o que está dentro dele. Ele não consegue ver se um WAF referenciado por nome está ele mesmo em modo de monitoramento, ou se um origin pool referenciado por uma rota carrega um peso - esses vivem em outros objetos. É uma primeira passada rápida sobre as próprias configurações de um único objeto, não uma auditoria completa de configuração.

## Standards and references

- [F5 Distributed Cloud: Create Origin Pools (TLS-to-origin, Skip Verification, SNI, health checks)](https://docs.cloud.f5.com/docs-v2/multi-cloud-app-connect/how-to/app-networking/origin-pools) - grounds the origin-pool rules: skip-verification risk, no_tls cleartext, disabled SNI, absent health checks
- [F5 Distributed Cloud: Create HTTP Load Balancer (WAF attachment, HTTP->HTTPS redirect, routes)](https://docs.cloud.f5.com/docs-v2/multi-cloud-app-connect/how-to/load-balance/create-http-load-balancer) - grounds the LB rules: WAF is opt-in, http_redirect, plain-HTTP listener, and per-route WAF disable
- [DevCentral: F5 Distributed Cloud - Listener Logic + first-match routing (route shadowing, wildcard vs apex)](https://community.f5.com/kb/technicalarticles/f5-distributed-cloud---listener-logic/326096) - grounds the catch-all route-shadowing rule (first-match) and the wildcard+apex caution
- [F5 Distributed Cloud: Create Web Application Firewall (Blocking vs Monitoring enforcement, threat campaigns)](https://docs.cloud.f5.com/docs-v2/web-app-and-api-protection/how-to/app-security/application-firewall) - grounds the WAF rule: monitoring mode detects but does not block; disabled threat campaigns

## Related reading

- [Perigos Comuns de Configuração do XC que um Linter Pode Pegar](https://ronutz.com/pt-BR/learn/f5xc-config-hazards.md): Objetos do XC aceitam configurações que são válidas mas operacionalmente erradas. Isto percorre os perigos que um linter de objeto único pode sinalizar: skip-verification, texto puro, SNI desabilitado e health checks ausentes no origin pool; no-WAF, listeners HTTP puros, redirect de HTTP para HTTPS ausente, WAF desabilitado por rota, sombreamento de rota catch-all, e wildcard+apex no load balancer; e um WAF deixado em modo de monitoramento - além de por que a severidade é um priorizador, não um veredito, e os limites de ler um objeto por vez.
