F5 BIG-IP Log Correlation: Mapping External Exposure to Internal Systems

F5 BIG-IP Log Correlation: Mapping External Exposure to Internal Systems

Turning Raw Network Logs into Trusted Security Visibility

Modern infrastructure makes traffic attribution deceptively difficult.

When an external user connects to a public IP address, that destination is often not a real server. It is a load balancer Virtual IP (VIP). Behind that VIP may be multiple internal systems, pools, and dynamic routing decisions.

This project was built to answer a simple but operationally critical question:

When traffic hits a public IP and port, which internal systems actually receive it?


The Problem

Traditional firewall logs typically show:

  • Source IP
  • Destination IP
  • Destination port
  • Action (allow/deny)

However, in environments using F5 BIG-IP LTM, the destination IP is often:

  • A VIP
  • Backed by a pool
  • Containing multiple internal members
  • Dynamically forwarding traffic

Without correlation, security teams risk attributing exposure incorrectly.

Load balancers break naive attribution.


Project Objective

Build a repeatable pipeline that:

  1. Normalizes firewall logs
  2. Parses F5 BIG-IP virtual server configuration
  3. Correlates VIPs to internal pool members
  4. Incorporates connection evidence
  5. Produces confidence-scored exposure reporting

The goal was not just parsing logs — it was building trust in the data.


Architecture Overview

Data Sources

  • Firewall logs (external allow/deny events)
  • F5 BIG-IP tmsh virtual server configuration
  • F5 BIG-IP connection/syslog events

Core Flow

  1. Ingest raw data
  2. Normalize into canonical schema
  3. Generate join keys (IP + port)
  4. Correlate external destination → VIP
  5. Resolve VIP → pool → internal members
  6. Raise confidence if live connection evidence exists
  7. Export structured report (CSV / JSON)

Step 1: Normalization

Each data source was normalized into a canonical structure:

```text timestamp_utc source_ip destination_ip destination_port protocol action

Updated: