Implement Kubernetes NetworkPolicies for security isolation. Default-deny for matrix namespace with selective allow rules. Test for no service breakage. Est. Time: 1 day
Implement Kubernetes NetworkPolicies for security isolation. Default-deny for matrix namespace with selective allow rules. Test for no service breakage. Est. Time: 1 day
sorb
added this to the aXion1337 Roadmap project 2026-05-14 21:47:53 +00:00
Default-Deny Ingress NetworkPolicies umgesetzt für matrix und authentik Namespaces (Egress bewusst unangetastet — Federation/ACME/SMTP/DNS bleiben frei).
Empirisch verifiziert, dass K3s's eingebauter NetworkPolicy-Controller tatsächlich durchsetzt (nicht nur akzeptiert)
Rollout phasenweise: authentik zuerst als Pilot, dann matrix
Alle öffentlichen Endpunkte + Cert-Renewal-Pfad (ACME HTTP01-Solver) + Monitoring-Scraping abgedeckt
coturn (hostNetwork) bewusst ausgenommen — NetworkPolicy greift dort nicht, ist über die Hetzner-Firewall abgesichert
Zwei Live-Incidents beim Rollout, beide binnen Minuten behoben:
authentik-server: Regel erlaubte Service-Port 80/443 statt des tatsächlichen Container-Ports 9000/9443 → 502 auf auth.axion1337.chat
matrix-authentication-service: Regel erlaubte Synapse nur Port 8081, aber /oauth2/introspect läuft über Port 8080 → alle authentifizierten Requests (inkl. /sync) scheiterten mit 503
Beide Ursachen: NetworkPolicy filtert auf dem tatsächlichen Pod-Port, nicht dem Service-Port — künftige Policies in diesem Repo nutzen deshalb wo möglich benannte Ports statt Nummern.
Nebenbefund (unabhängig): matrixRTC-Authorisation-Service hatte ein 20Mi-Memory-Limit und wurde nach ~74 Tagen Uptime OOM-gekillt — auf 64Mi/128Mi angehoben.
Vollständig verifiziert: alle öffentlichen Endpunkte, echter Login, echter Video-Call, Cert-Status, Metriken. Details: Wiki 00-TASKS.md.
Default-Deny Ingress NetworkPolicies umgesetzt für `matrix` und `authentik` Namespaces (Egress bewusst unangetastet — Federation/ACME/SMTP/DNS bleiben frei).
- Empirisch verifiziert, dass K3s's eingebauter NetworkPolicy-Controller tatsächlich durchsetzt (nicht nur akzeptiert)
- Rollout phasenweise: authentik zuerst als Pilot, dann matrix
- Alle öffentlichen Endpunkte + Cert-Renewal-Pfad (ACME HTTP01-Solver) + Monitoring-Scraping abgedeckt
- `coturn` (hostNetwork) bewusst ausgenommen — NetworkPolicy greift dort nicht, ist über die Hetzner-Firewall abgesichert
**Zwei Live-Incidents beim Rollout, beide binnen Minuten behoben:**
1. `authentik-server`: Regel erlaubte Service-Port 80/443 statt des tatsächlichen Container-Ports 9000/9443 → 502 auf auth.axion1337.chat
2. `matrix-authentication-service`: Regel erlaubte Synapse nur Port 8081, aber `/oauth2/introspect` läuft über Port 8080 → alle authentifizierten Requests (inkl. `/sync`) scheiterten mit 503
Beide Ursachen: NetworkPolicy filtert auf dem tatsächlichen Pod-Port, nicht dem Service-Port — künftige Policies in diesem Repo nutzen deshalb wo möglich benannte Ports statt Nummern.
Nebenbefund (unabhängig): `matrixRTC`-Authorisation-Service hatte ein 20Mi-Memory-Limit und wurde nach ~74 Tagen Uptime OOM-gekillt — auf 64Mi/128Mi angehoben.
Vollständig verifiziert: alle öffentlichen Endpunkte, echter Login, echter Video-Call, Cert-Status, Metriken. Details: Wiki [00-TASKS.md](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/wiki/00-TASKS).
Migriert nach git.lab: axion1337.chat/axion1337.chat-gitops#10 (nur im Lab bzw. via VPN erreichbar — das Lab ist seit 2026-08-01 die Quelle der Wahrheit, siehe gitops#48). Weiterarbeit dort; dieses Gitea-Issue bleibt als Verweis stehen.
**Migriert nach git.lab**: [axion1337.chat/axion1337.chat-gitops#10](https://git.lab/axion1337.chat/axion1337.chat-gitops/-/issues/10) (nur im Lab bzw. via VPN erreichbar — das Lab ist seit 2026-08-01 die Quelle der Wahrheit, siehe gitops#48). Weiterarbeit dort; dieses Gitea-Issue bleibt als Verweis stehen.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Implement Kubernetes NetworkPolicies for security isolation. Default-deny for matrix namespace with selective allow rules. Test for no service breakage. Est. Time: 1 day
Default-Deny Ingress NetworkPolicies umgesetzt für
matrixundauthentikNamespaces (Egress bewusst unangetastet — Federation/ACME/SMTP/DNS bleiben frei).coturn(hostNetwork) bewusst ausgenommen — NetworkPolicy greift dort nicht, ist über die Hetzner-Firewall abgesichertZwei Live-Incidents beim Rollout, beide binnen Minuten behoben:
authentik-server: Regel erlaubte Service-Port 80/443 statt des tatsächlichen Container-Ports 9000/9443 → 502 auf auth.axion1337.chatmatrix-authentication-service: Regel erlaubte Synapse nur Port 8081, aber/oauth2/introspectläuft über Port 8080 → alle authentifizierten Requests (inkl./sync) scheiterten mit 503Beide Ursachen: NetworkPolicy filtert auf dem tatsächlichen Pod-Port, nicht dem Service-Port — künftige Policies in diesem Repo nutzen deshalb wo möglich benannte Ports statt Nummern.
Nebenbefund (unabhängig):
matrixRTC-Authorisation-Service hatte ein 20Mi-Memory-Limit und wurde nach ~74 Tagen Uptime OOM-gekillt — auf 64Mi/128Mi angehoben.Vollständig verifiziert: alle öffentlichen Endpunkte, echter Login, echter Video-Call, Cert-Status, Metriken. Details: Wiki 00-TASKS.md.
Migriert nach git.lab: axion1337.chat/axion1337.chat-gitops#10 (nur im Lab bzw. via VPN erreichbar — das Lab ist seit 2026-08-01 die Quelle der Wahrheit, siehe gitops#48). Weiterarbeit dort; dieses Gitea-Issue bleibt als Verweis stehen.