Safeguard
Application Security•

ASVS 5.0 V12.3.3: Encrypt Traffic Between Internal HTTP Services

ASVS 5.0 V12.3.3 (Level 2): internal service to service HTTP calls need TLS or equivalent transport encryption, with no plaintext fallback.

Safeguard Security Team
2 min read

ASVS 5.0 V12.3.3 requires TLS, or another suitable transport encryption, for all HTTP traffic between the internal services that make up your application, and no fallback to plaintext. It is Level 2.

Where V12.3.1 covers all connections broadly, this one targets the east west HTTP calls between your own microservices.

Why it matters

Internal calls carry user identifiers, tokens and business data. A single compromised pod can read every plaintext call on its network segment.

How to implement it

Pick one mechanism and apply it everywhere.

  1. A service mesh with mutual TLS in strict mode, which encrypts pod to pod traffic without changing application code.
  2. TLS in each service, using certificates issued by an internal CA.
  3. Encrypted overlay networking, if it is the documented design and you can show it covers every path.

Istio strict mode example:

apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
  name: default
  namespace: prod
spec:
  mtls:
    mode: STRICT

STRICT rejects plaintext. PERMISSIVE accepts both and is meant for migration only.

How to test it

From a pod outside the mesh (or with the sidecar bypassed), call a service by plain HTTP:

curl -v http://orders.prod.svc.cluster.local:8080/health

It must be refused or reset. Also check mesh policy status for any namespace still in permissive mode.

Common mistakes

  • Leaving the mesh in permissive mode after the migration.
  • Excluding "legacy" ports from the sidecar and forgetting them.
  • Encrypting service calls but not the calls to sidecars, probes or metrics scrapers.

Quick check

Is a private cluster network a replacement for TLS?

No. The requirement is transport encryption between the services themselves.

Sources

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.