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
|
# Datenbank: nur fuer Pods mit dem Label db-client=true erreichbar
|
||||||
# (App inkl. Migration, Worker, Admin-Anlage). Beruehrt weder Traefik noch
|
# (App inkl. Migration, Worker, Admin-Anlage).
|
||||||
# cert-manager.
|
|
||||||
#
|
|
||||||
# Bewusst KEINE Policy vor der App (wie bei Wabenhain/ApiCore): laeuft
|
|
||||||
# Traefik im Host-Netzwerk, wuerde sie die Website aussperren.
|
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
metadata:
|
metadata:
|
||||||
@@ -21,3 +17,33 @@ spec:
|
|||||||
db-client: "true"
|
db-client: "true"
|
||||||
ports:
|
ports:
|
||||||
- port: 5432
|
- 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