mTLS (mutual TLS) — encryption and authentication of all traffic between services.
Enabling mTLS:
1apiVersion: security.istio.io/v1beta12kind: PeerAuthentication3metadata:4 name: default5 namespace: istio-system6spec:7 mtls:8 mode: STRICT
Modes: DISABLE, PERMISSIVE, STRICT.
AuthorizationPolicy:
1apiVersion: security.istio.io/v1beta12kind: AuthorizationPolicy3metadata:4 name: allow-frontend-to-backend5 namespace: production6spec:7 selector:8 matchLabels:9 app: backend10 action: ALLOW11 rules:12 - from:13 - source:14 principals: ["cluster.local/ns/production/sa/frontend"]15 to:16 - operation:17 methods: ["GET", "POST"]18 paths: ["/api/*"]
Verification: istioctl authn tls-check myapp.production.svc.cluster.local
Advantages: Zero-trust networking without code changes, automatic certificate rotation.