fix(security): NetworkPolicy vor der App wieder aktiv (Traefik in kube-system)
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 1m53s
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 1m53s
Traefik laeuft im Cluster in kube-system ohne Host-Netzwerk (geprueft). Die App ist damit nur noch fuer Traefik-Pods aus kube-system erreichbar (Namespace + Label), was die Umgehung der Login-/2FA-Rate-Limits per gefaelschtem X-Real-Ip aus anderen Pods verhindert. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
67cdddc33f
commit
66247cfbf9
1 file changed
+32
-6
@@ -1,9 +1,5 @@
|
||||
# Die Datenbank ist nur fuer Pods mit dem Label db-client=true erreichbar
|
||||
# (App inkl. Migration, Worker, Admin-Anlage). Beruehrt weder Traefik noch
|
||||
# cert-manager.
|
||||
#
|
||||
# Bewusst KEINE Policy vor der App (wie bei Wabenhain/ApiCore): laeuft
|
||||
# Traefik im Host-Netzwerk, wuerde sie die Website aussperren.
|
||||
# Datenbank: nur fuer Pods mit dem Label db-client=true erreichbar
|
||||
# (App inkl. Migration, Worker, Admin-Anlage).
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
@@ -21,3 +17,33 @@ spec:
|
||||
db-client: "true"
|
||||
ports:
|
||||
- port: 5432
|
||||
---
|
||||
# Website: nur ueber Traefik erreichbar. Traefik laeuft in diesem Cluster
|
||||
# (RKE2) in kube-system und NICHT im Host-Netzwerk — geprueft mit:
|
||||
# kubectl get pods -A -l 'app.kubernetes.io/name in (traefik,rke2-traefik)' \
|
||||
# -o custom-columns=NS:.metadata.namespace,HOSTNET:.spec.hostNetwork
|
||||
# Namespace UND Label muessen passen; das Label allein koennte jeder setzen.
|
||||
# Der Zertifikats-Solver von cert-manager ist ein eigener Pod und davon nicht
|
||||
# betroffen.
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: artista-modelcamp-app
|
||||
namespace: artista
|
||||
spec:
|
||||
podSelector:
|
||||
matchLabels:
|
||||
app: artista-modelcamp-app
|
||||
policyTypes: ["Ingress"]
|
||||
ingress:
|
||||
- from:
|
||||
- namespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: kube-system
|
||||
podSelector:
|
||||
matchExpressions:
|
||||
- key: app.kubernetes.io/name
|
||||
operator: In
|
||||
values: [traefik, rke2-traefik]
|
||||
ports:
|
||||
- port: 3000
|
||||
Reference in new issue
Block a user