Fronteiras de controle e validação de segurança
O pacote Área 51 separa fronteira on-premises (infraestrutura local) de configuração OIDC (protocolo) e executa validações repetíveis antes de promover ambientes críticos.
Desacoplamento de variáveis de ambiente
flowchart TB
subgraph FR["Fronteira — AREA51_FRONTIER_*"]
F1["Perfil lab / homolog / prod"]
F2["Host e porta do IdP"]
F3["Host, porta e URL pública da app"]
end
subgraph OIDC["Cliente OIDC — OIDC_*"]
O1["Realm e client_id"]
O2["redirect_uri e scopes"]
O3["Segredos via secret manager"]
end
subgraph OUT["Saída validada"]
V["Configuração pronta
para homologação"]
end
FR --> OIDC
OIDC --> V
Controlos de segurança no fluxo
flowchart LR
A["Authorization request"] --> B{"PKCE S256?"}
B -->|Sim| C{"state válido?"}
B -->|Não| X["Rejeitar baseline"]
C -->|Sim| D["Troca de code"]
C -->|Não| X
D --> E{"JWT assinatura
exp e audiência?"}
E -->|Sim| F["Sessão / API protegida"]
E -->|Não| X
Pipeline de validação da baseline
sequenceDiagram
autonumber
participant EQ as Equipa licenciada
participant BL as Validação baseline
participant KC as Keycloak lab
EQ->>BL: Fase dev — testes automatizados
Note over BL: Scripts OIDC e protocolo OAuth 2.1
EQ->>BL: Fase config — Google e Entra
Note over BL: Parâmetros PKCE e redirect_uri
EQ->>BL: Fase env — fronteira + OIDC
Note over BL: Esquema on-premises desacoplado
opt IdP activo
EQ->>BL: Fase operational
BL->>KC: validate_oidc_flow
Note over KC: Discovery, code, tokens
end
BL->>EQ: Evidência para auditoria interna
Controlos incluídos na baseline
| Controle | Ameaça tratada | Como validar |
|---|---|---|
| PKCE (S256) | Interceptação do authorization code | Testes dev + fluxo operacional |
Parâmetro state |
CSRF em redirects | Validação na troca de tokens |
| Assinatura JWT | Token adulterado | Testes integrados e API protegida |
| Expiração de token | Replay prolongado | Parâmetros documentados nos guias |
| Cookie HTTP-only (exemplo) | Exposição via script no browser | App de referência Flask |
| HTTPS em produção | Redirect em claro | Perfil prod exige redirect HTTPS |
Transparência: a baseline cobre lab e homologação assistida.
Produção exige hardening, políticas internas e, frequentemente, Suporte Área 51 contratado.