feat(plataforma): saida para o SMTP na 587, so para quem manda e-mail
O deny-cross-tenant libera 443 para a internet e nada mais. O Keycloak batia em Network is unreachable na 587, e o erro que chegava ao provisionamento era Failed to send execute actions email — que manda procurar no SMTP, nao na rede.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# =============================================================================
|
||||
# Saida para o SMTP — porta 587, e so para quem manda e-mail.
|
||||
#
|
||||
# POR QUE ISTO FALTAVA
|
||||
#
|
||||
# O `deny-cross-tenant` deste namespace libera egress para: pods daqui, a faixa
|
||||
# de Services (10.43.0.0/16), DNS, e **443 para a internet**. Nada mais. O
|
||||
# Keycloak, que e quem manda o e-mail de boas-vindas, batia em
|
||||
# `Network is unreachable` ao tentar 587 — e o erro que chegava ao
|
||||
# provisionamento era "Failed to send execute actions email", que manda procurar
|
||||
# no SMTP e nao na rede.
|
||||
#
|
||||
# Medido em 2026-09-24, no primeiro provisionamento que chegou a etapa do
|
||||
# e-mail.
|
||||
#
|
||||
# POR QUE NAO ABRIR A 587 PARA O NAMESPACE INTEIRO
|
||||
#
|
||||
# Aqui dentro moram o Postgres, o PgBouncer, o Gitea-cliente e o servico de
|
||||
# captacao. Saida para porta de e-mail e caminho de exfiltracao: um processo
|
||||
# comprometido que nao manda e-mail nao tem por que alcancar um servidor de
|
||||
# e-mail. So os dois que mandam.
|
||||
#
|
||||
# As politicas se SOMAM: esta nao afrouxa o `deny-cross-tenant`, acrescenta uma
|
||||
# permissao a ele.
|
||||
# =============================================================================
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: egress-smtp
|
||||
namespace: plataforma-prod
|
||||
spec:
|
||||
podSelector:
|
||||
matchExpressions:
|
||||
- key: app
|
||||
operator: In
|
||||
values: ["keycloak", "servico-captacao"]
|
||||
policyTypes: [Egress]
|
||||
egress:
|
||||
- ports:
|
||||
- { protocol: TCP, port: 587 }
|
||||
to:
|
||||
# A internet, e nao a rede interna: o provedor de e-mail e de fora.
|
||||
- ipBlock:
|
||||
cidr: 0.0.0.0/0
|
||||
except: ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
|
||||
Reference in New Issue
Block a user