Istio Security#
Istio provides three security capabilities that are difficult to implement without a service mesh: automatic mutual TLS between services, fine-grained authorization policies, and egress traffic control. These features work at the infrastructure layer, meaning applications do not need any code changes.
Automatic mTLS with PeerAuthentication#
Istio’s sidecar proxies can automatically encrypt all pod-to-pod traffic with mutual TLS. The key resource is PeerAuthentication. There are three modes:
- PERMISSIVE – Accepts both plaintext and mTLS traffic. This is the default and exists for migration. Do not leave it in production.
- STRICT – Requires mTLS for all traffic. Plaintext connections are rejected.
- DISABLE – Turns off mTLS entirely.
Enable strict mTLS across the entire mesh: