> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aviatrix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# East-West Suricata IPS and TLS MITM Inspection Architecture

> A reference architecture for inspecting east-west traffic between Aviatrix spoke gateways with Suricata IPS and TLS MITM decryption, and the symmetric routing dependency this design requires.

This architecture describes how Suricata-based Intrusion Prevention System (IPS)
and TLS man-in-the-middle (MITM) decryption inspect east-west traffic. East-west
traffic is traffic between workloads attached to different spoke gateways, as
distinct from north-south traffic leaving the network. It explains why east-west inspection
depends on symmetric routing between a spoke's gateway pair, and how traffic
flows through the inspection point once that dependency is satisfied.

<Note>
  East-west Suricata IPS and TLS MITM inspection is in
  Preview in Controller 10.1. The symmetric routing this design depends on
  (see{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing Architecture</a>
  ) is generally available (GA) in Controller 10.1. Only the east-west L7
  inspection layer described on this page is Preview.
</Note>

## Overview

East-west traffic between spoke gateways has no NAT step, unlike egress traffic,
where NAT naturally pins a flow's return path to the gateway that handled the
outbound leg. Stateful inspection (Suricata IPS and TLS MITM decryption)
requires both directions of a flow to reach the same gateway instance. Without
a mechanism that pins forward and return traffic to a shared gateway pair,
nothing guarantees that a request and its response are ever inspected
together. This architecture explains that dependency and the traffic path
through the inspection point once symmetric routing supplies it. Use this
architecture when you are planning IPS or TLS MITM coverage for traffic
between spokes (inter-VPC/VNet, not internet-bound). You need to understand
what has to be true of your routing topology before that coverage is
reliable.

Prior to this architecture, DCF's own documented constraints stated the limitation
this page addresses: rules using Layer 7 (WebGroups, and by extension IPS and TLS
MITM) did not support asymmetric traffic. East-west traffic, which has no NAT
step to force symmetry, was therefore limited to Layer 4 rules. See{" "}
<a href={"/docs/enterprise/" + "10.1" + "/reference/dcf/dcf-configuring#dcf-constraints"}>DCF Constraints</a>{" "}
and the Deep Packet Inspection row group (Suricata IDS (Egress only), Suricata
IPS (Egress Only)) in{" "}
<a href={"/docs/enterprise/" + "10.1" + "/reference/dcf/dcf-capabilities"}>Distributed Cloud Firewall Supported Capabilities</a>
. Symmetric routing is what lifts that limitation for east-west traffic between
spokes that have it enabled. The rest of this page explains how.

## Architecture Diagram

<Frame>
  <img src="https://mintcdn.com/aviatrix-14b37c43/Cv6uug5wRtgMFTqU/images/concepts-architectures/architecture/security/east-west-ips-symmetric-routing.png?fit=max&auto=format&n=Cv6uug5wRtgMFTqU&q=85&s=fac09531395bdbf45c09c89ab80609b8" alt="East-west traffic flow between two spokes through Transit, where the same spoke gateway pair carries both the request and the response so Suricata IPS and TLS MITM inspection sees the complete flow." width="2000" height="675" data-path="images/concepts-architectures/architecture/security/east-west-ips-symmetric-routing.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/aviatrix-14b37c43/Cv6uug5wRtgMFTqU/images/concepts-architectures/architecture/security/east-west-ips-no-symmetric-routing.png?fit=max&auto=format&n=Cv6uug5wRtgMFTqU&q=85&s=017295281cc094d29fe27a751b21303b" alt="East-west traffic flow without symmetric routing, where the request and the response reach different members of a spoke gateway's HA pair, so neither gateway instance sees a complete bidirectional flow to inspect." width="2000" height="780" data-path="images/concepts-architectures/architecture/security/east-west-ips-no-symmetric-routing.png" />
</Frame>

<Info>
  Contrast with north-south: an egress or ingress flow is naturally pinned to
  one gateway by NAT, so the diagram above does not apply there. See{" "}

  <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
    Intrusion Prevention System (IPS)
  </a>

  {" "}

  for the north-south configuration pattern, which this architecture does not repeat.
</Info>

## Scope and Prerequisites

East-west IPS/MITM inspection has a structural prerequisite: it only functions
where the routing design that provides gateway-pair symmetry is in place and
applicable.

* **Symmetric routing must be enabled on both spokes in the flow.** A flow
  between Workload A and Workload B is only reliably inspected if the spoke
  fronting Workload A and the spoke fronting Workload B both have symmetric
  routing enabled. AZ Affinity is a separate, optional setting covered by the
  same architecture below. It is not required for east-west inspection. See
  {" "}
  <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing Architecture</a>
  .
* **Symmetric routing is supported for AWS only in Controller 10.1.** The routing
  mechanism this architecture depends on is supported for AWS only in this
  release. Azure, OCI, and GCP are not currently covered.
* **East-west inspection is not supported with FireNet-attached spokes.**
* **DCF must already be enabled**, with an IPS Profile and, if TLS visibility is
  required, TLS Decryption configured, exactly as for north-south traffic.
  See{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
    Intrusion Prevention System (IPS)
  </a>
  .

## Design Principles

* **Symmetric routing is a prerequisite, not a feature of IPS/MITM itself.**
  Suricata IPS and TLS MITM decryption are stateful: they track a connection
  across both directions to evaluate signatures and to complete the
  decrypt/re-encrypt cycle. East-west inspection does not add new logic to the
  inspection engine; it depends entirely on the surrounding routing design
  pinning both directions of a flow to the same gateway pair. See{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing Architecture</a>
  .
* **Inspection runs on the spoke gateway, not the transit.** East-west L7
  inspection features apply at the spoke gateway that a workload's subnet
  routes through. As a result, the routing property that matters is which
  spoke gateway instance a flow's forward and return legs resolve to, not
  which transit gateway instance carries the traffic in between. IPS
  specifically cannot run on a transit gateway at all in Controller 10.1; it
  is restricted to spoke gateways by design.
* **The inspection engine is direction-agnostic.** DCF, Suricata IPS, and TLS
  MITM decryption do not have a separate east-west code path or a separate
  policy model. The same IPS Profile and the same TLS Decryption/Intrusion
  Analysis policy fields that apply to north-south traffic apply to east-west
  traffic; what differs is only whether the surrounding routing guarantees the
  engine sees a complete flow.
* **The design is cloud-provider independent, but this release has a
  cloud-specific dependency.** The east-west inspection architecture itself
  does not assume a specific cloud service provider (CSP). In Controller 10.1,
  however, its only routing dependency (symmetric routing) is supported for
  AWS only. See{" "} [Scope and Prerequisites](#scope-and-prerequisites).
* **This architecture adds no new enablement surface.** It does not introduce
  a CoPilot workflow of its own. See{" "}
  [Enabling East-West Inspection](#enabling-east-west-inspection).

## Components

| Component                                                                                                                                                        | Role in this design                                                                                                                                                                                                                                                                                                    |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/components/dcf/dcf-overview"}>Distributed Cloud Firewall (DCF)</a>                              | Policy engine that determines which traffic (north-south or east-west) is selected for IPS and TLS MITM inspection.                                                                                                                                                                                                    |
| <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>Suricata IPS and TLS MITM decryption</a>                                                     | The inspection engine itself: Suricata signature matching plus the decrypt-inspect-re-encrypt TLS Decryption mechanism. Identical capability for north-south and east-west traffic; only the routing context around it differs.                                                                                        |
| <a href={"/docs/enterprise/" + "10.1" + "/reference/ui/cloud-fabric/gateways#spoke-gateways"}>Spoke Gateway</a>                                                  | The gateway instance where east-west L7 inspection is applied, and the entity that symmetric routing pins a flow's forward and return legs to.                                                                                                                                                                         |
| <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/components/connectivity/activemesh-about"}>ActiveMesh</a>                                       | The fabric that carries traffic between spoke and transit gateway instances. Without symmetric routing, ActiveMesh's next-hop selection can resolve a flow's forward and return legs to different gateway instances.                                                                                                   |
| <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing</a> | The routing architecture that covers both settings; its Symmetric Routing component pins a spoke's forward and return traffic to a single gateway pair, which is the property east-west IPS/MITM inspection depends on. AZ Affinity, the other setting this architecture covers, is optional for east-west inspection. |

## Traffic Flows

### East-West Flow (Inspected)

<Steps>
  <Step title="Workload A sends a request">
    A workload attached to one spoke VPC/VNet sends traffic to a workload
    attached to a different spoke VPC/VNet. There is no NAT step on this path:
    the flow retains its original source and destination addresses as it
    enters the fabric.
  </Step>

  <Step title="The outbound leg reaches Spoke Gateway 1">
    Symmetric routing directs the outbound leg of the flow to a specific gateway
    instance in Workload A's spoke gateway pair (see{" "}
    <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing Architecture</a>{" "}
    for how that pinning is established).
  </Step>

  <Step title="DCF policy evaluates the flow">
    DCF policy on Spoke Gateway 1 determines whether the flow is selected for
    IPS inspection, TLS MITM decryption, or both, exactly as it would for a
    north-south flow. See{" "}

    <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
      Intrusion Prevention System (IPS)
    </a>

    {" "}

    for the policy fields involved.
  </Step>

  <Step title="Traffic crosses the fabric to Spoke Gateway 2">
    The flow continues over ActiveMesh to the gateway pair fronting Workload B's
    spoke.
  </Step>

  <Step title="Workload B receives the request and responds">
    On each side, the return leg of the flow must traverse the same gateway
    that handled the outbound leg: Spoke Gateway 2 on Workload B's side, Spoke
    Gateway 1 on Workload A's side. Only then does the connection state tracked
    by IPS and TLS MITM decryption remain valid across both directions.
  </Step>
</Steps>

### North-South Flow (Contrast)

A north-south flow (egress to the internet, or ingress from it) is naturally
pinned to a single gateway by the NAT step that egress and ingress traffic
already require. As a result, the same-gateway-pair dependency described
above does not need a separate mechanism on that path. North-south IPS and TLS MITM
configuration is already documented in{" "}

<a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
  Intrusion Prevention System (IPS)
</a>

{" "}

and is out of scope for this architecture.

<Note>
  A conceptually related but architecturally distinct problem (establishing
  routing symmetry for stateful inspection without relying on NAT) also appears
  in Aviatrix's Transparent Inspection for AWS Transit Gateway design
  (bump-in-the-wire insertion into an existing TGW network). That design makes
  the same general point as this architecture: symmetry for stateful L7
  inspection has to be a property the routing configuration establishes up
  front, not something the inspection engine reconstructs per packet. That
  source material is specific to TGW insertion. Its source-IP-preservation
  mechanics and its route-table-level implementation do not apply to this
  east-west overlay design, and are not repeated here. It is cited only for the
  shared architectural principle.
</Note>

### East-West Flow Without Symmetric Routing (Fail-Safe Behavior)

If a DCF policy rule includes an IPS or TLS MITM action and targets east-west
traffic, but the spoke gateway pair handling that traffic does not have
symmetric routing enabled, the policy engine does not attempt partial or
best-effort inspection. Instead:

* The IPS or TLS MITM action on that rule is automatically converted to a
  Deny action for the affected east-west traffic.
* A notification tagged `DCF-l7-non-symmetric-routing` is raised in CoPilot,
  so the change is visible rather than failing with no signal at all.

No API error is returned and no step blocks rule creation in the UI. The
notification is the only signal, so watch for it if you are rolling out
symmetric routing and east-west L7 policy together. This fail-safe means the
traffic is blocked rather than passed through uninspected, and it also means
enabling symmetric routing later can change previously-Denied east-west
traffic to actively inspected traffic without any change to the DCF policy
itself.

## Failover Behavior

Symmetric routing preserves the same-gateway-pair guarantee across a spoke
gateway failover. If one instance in a spoke's gateway pair fails, its
subnets are reassigned to the surviving instance, and both directions of new
flows continue to resolve to that surviving gateway. What does not survive
failover is inspection state: Suricata sessions and TLS MITM decryption state
are tracked per gateway instance and are not replicated between members of a
gateway pair. When a failover occurs:

* New connections are inspected correctly on the surviving gateway.
* Connections that were already established and being inspected before the
  failover are reset; the client and server must re-establish them.

This is the same limitation any stateful inline inspection device has across
a failover. It is not specific to east-west traffic. However, east-west
inspection depends on symmetric routing, and therefore on gateway-pair
health, in a way that north-south inspection, pinned by NAT to a single
gateway, does not.

## Variants and Trade-offs

| Variant                                             | When to use it                                                                                                                                               | Trade-off                                                                                                                                                                                             |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **IDS (alert-only) for east-west**                  | You want visibility into east-west threats before committing to enforcement, or you are validating an IPS Profile's signature coverage against real traffic. | Matching traffic is logged but not dropped, so an active threat between spokes is not blocked.                                                                                                        |
| **IPS (drop) for east-west**                        | You have validated your IPS Profile against representative east-west traffic and are ready to enforce.                                                       | A false-positive signature match drops legitimate inter-spoke traffic; tune the Drop Level and SID exceptions before enabling broadly.                                                                |
| **TLS MITM decryption enabled**                     | You need visibility into encrypted east-west traffic.                                                                                                        | Adds a decrypt/re-encrypt step per flow, requires a trusted decryption CA distributed to workloads, and, per DCF's existing Ensure TLS behavior, can affect non-TLS traffic matched by the same rule. |
| **TLS MITM decryption disabled, Suricata IPS only** | You do not need visibility into encrypted payloads, or you want to avoid the decrypt/re-encrypt overhead and CA-distribution requirement TLS MITM adds.      | Signature matching is limited to what is visible outside the TLS payload; encrypted threats inside inspected flows are not detected.                                                                  |

## Sizing and Scale Considerations

* East-west inspection adds the same per-flow inspection cost (signature
  matching, and decrypt/re-encrypt if TLS MITM is enabled) that north-south
  inspection already adds on a spoke gateway. This architecture does not
  introduce a second inspection engine or a separate resource pool.
* Symmetric routing is scoped per spoke group. Each spoke's gateway pair
  independently carries the inspection load for flows terminating in that spoke;
  there is no shared or centralized east-west inspection point across spokes.
* No performance impact numbers (added latency, throughput ceiling per gateway
  size) are published for this design.

## Security Considerations

* What this design protects: stateful Suricata IPS signature matching and
  TLS MITM decryption visibility for traffic between workloads in different
  spokes, to the same degree of coverage already available for north-south
  traffic, provided the symmetric-routing prerequisite above is met.
* What this design does not protect: traffic between workloads attached to
  the *same* spoke gateway pair is not affected by the symmetric-routing
  dependency described here (both directions already resolve to the same
  gateway), but is still subject to whatever DCF policy applies to it. This
  architecture does not change that. On spokes that do not have symmetric
  routing enabled, IPS and TLS MITM actions on east-west rules are converted
  to Deny rather than left to run without the same-gateway guarantee. See{" "}
  [East-West Flow Without Symmetric Routing (Fail-Safe Behavior)](#east-west-flow-without-symmetric-routing-fail-safe-behavior).
* Inspection state does not survive gateway failover. See{" "}
  [Failover Behavior](#failover-behavior).
* Out of scope for this architecture: IPS rule management (custom Suricata
  rule feeds, SID exceptions) and threat intelligence feed integration are
  separate capabilities, already covered in{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
    Intrusion Prevention System (IPS)
  </a>
  {" "}
  and not re-explained here.
* Decrypted-traffic handling: TLS MITM decryption relies on the same
  Decryption CA Certificate and trust-bundle mechanism already documented for
  DCF generally. See{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/dcf-settings#decryption-ca-certificate"}>About Distributed Cloud Firewall Settings</a>
  . This architecture does not introduce a separate certificate or trust model
  for east-west traffic.

## Enabling East-West Inspection

There is no separate, east-west-specific enablement workflow in CoPilot. An
inspected spoke gateway is an ordinary DCF-enabled gateway; what determines
whether east-west inspection is effective is the routing topology, not a
distinct configuration surface. In practice, enabling east-west IPS/MITM
inspection means:

* Turning on Symmetric Routing on the relevant spoke gateway pair on both
  sides of the flow you want inspected. AZ Affinity is optional for
  east-west inspection. See{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing Architecture</a>{" "}
  for the design Symmetric Routing implements and its current scope (AWS only,
  not supported with FireNet, in Controller 10.1).
* Configuring Distributed Cloud Firewall IPS and TLS MITM decryption policy
  exactly as already documented for north-south traffic in{" "}
  <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
    Intrusion Prevention System (IPS)
  </a>
  . No east-west-specific IPS Profile, policy field, or configuration step
  exists: the same profile and policy apply regardless of traffic direction.

Once both are in place, east-west traffic between the affected spokes is
inspected using the same DCF policy, the same IPS Profiles, and the same TLS
Decryption mechanism already in effect for that policy. No additional step is
required.

## Related Resources

* <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/ips"}>
    Intrusion Prevention System (IPS)
  </a>
  : the configuration guide for the underlying IPS and TLS MITM (TLS
  Decryption) mechanism, including CoPilot and Terraform procedures. Applies
  unchanged to east-west traffic once the routing prerequisite is met.
* <a href={"/docs/enterprise/" + "10.1" + "/reference/dcf/dcf-configuring#dcf-constraints"}>DCF Constraints</a>
  : states the pre-symmetric-routing limitation this architecture lifts for
  east-west traffic (Layer 7 rules do not support asymmetric traffic).
* <a href={"/docs/enterprise/" + "10.1" + "/reference/dcf/dcf-capabilities"}>Distributed Cloud Firewall Supported Capabilities</a>
  : the release-by-release capability matrix. Suricata IDS/IPS are listed as
  Egress only through Controller 9.0.
* <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/architecture/connectivity/az-affinity-symmetric-routing"}>AZ Affinity and Symmetric Routing Architecture</a>
  : the routing architecture this design depends on.
* <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/components/dcf/dcf-overview"}>Secure Networking and Distributed Cloud Firewall</a>
  : the policy engine that selects traffic for inspection.
* <a href={"/docs/enterprise/" + "10.1" + "/concepts-architectures/components/connectivity/activemesh-about"}>About ActiveMesh</a>
  : the fabric whose next-hop selection symmetric routing constrains.
* <a href={"/docs/enterprise/" + "10.1" + "/guides/security/dcf/dcf-settings"}>About Distributed Cloud Firewall Settings</a>
  : Decryption CA Certificate management for TLS MITM decryption.
