Library Header Image Library Header Image

When the Firewall Gets Blamed: The Hidden Policy Drift in Migrations


Posted on by Ramesh Subramani

Key Takeaways:
  • Session-end reasons guide troubleshooting; an allow rule match does not prove application success.
  • Reverse initiated connections need independent justification; stateful return traffic does not.
  • Make a policy delta review part of migration sign-off to detect new access created by shared objects, policy dependencies, and exceptions.

Enterprise application migrations often expose a familiar problem: nobody knows exactly how a legacy application communicates. Some applications have run for years without updated network diagrams or documented port requirements. When migration testing fails, the firewall team is asked to open more ports or allow bidirectional communication before anyone establishes whether the firewall is blocking traffic.

The immediate request may be unnecessary. The more consequential risk is what remains permitted after cutover. A migration can pass every application test while leaving behind access that nobody intended to approve.

What the Firewall Logs Actually Show

During migration testing, an application server connects to a SQL database listener on Transmission Control Protocol (TCP) /1433. The firewall permits the traffic, but the application team reports errors and requests the same port in the reverse direction.

Before changing policy, the firewall engineer checks the matching rule, session counters, and termination reason. The TCP flags below are defined in IETF RFC 9293, the TCP standard. These outcomes offer clues rather than diagnoses:

  • TCP FIN (finish): A flag signaling that the sender has finished sending data. An orderly closure does not establish that a database transaction succeeded.
  • TCP RST (reset): A flag that abruptly terminates a connection. Examine the reset source and timing before assigning cause.
  • Aged-out: The firewall removed an inactive session; the connection may have been idle or incomplete.

Deny logs may reveal other attempted connections, although not every drop is logged. A packet capture can verify the handshake or reset source. Sharing timestamps, addresses, ports, and session identifiers helps application and database teams investigate the same flow without treating another firewall rule as the default remedy.

Why a Reverse Rule Often Solves Nothing

For a conventional SQL connection, the application initiates the TCP session and the database responds on that established connection. A stateful firewall permits the return traffic. A separate rule allowing the database to initiate TCP/1433 toward the application does not repair the original exchange. The same distinction applies to HTTP and HTTPS.

When a request says “open both ways,” first identify which system initiates each connection and which service listens at the destination. Callbacks, replication, and monitoring may justify reverse-initiated flows, but each requires a documented purpose and narrowly scoped access.

The Bigger Risk: Effective Policy Drift

Consider an application permitted to reach three database servers through a shared destination group. Another migration adds two database addresses to that group. The new application works, and its change is approved. Yet the original application can now reach five destinations. Nobody edited its rule; the object changed underneath it.

This is effective policy drift: permissions change through dependencies even when the original rule remains untouched. Rule order, inherited policies, zones, network address translation (NAT), which rewrites addresses in transit, and other applicable conditions can affect the resulting reachability. Reviewing the edited object alone will not reveal the full impact.

A change ticket may accurately describe the new application while overlooking access granted to older applications. A policy delta review addresses that blind spot: compare effective source to destination paths before and after the change, identify newly permitted paths, and require explicit justification for any expansion outside the approved migration scope.

Temporary exceptions create a similar problem. An emergency broad rule may restore service during cutover, but without a named owner and expiry it can become permanent exposure. A successful firewall commit is not evidence of least privilege.

A Better Migration Acceptance Test

Before migration, record source, destination, protocol, destination port, connection initiator, and business justification. Treat legacy rules and observed flows as discovery inputs, not automatic approval. Include infrequent dependencies such as batch jobs and disaster recovery.

During testing, validate required flows and selected paths that must remain blocked, especially across production, nonproduction, and database segments. For sign-off, retain three pieces of evidence: the approved access matrix, the policy delta comparison showing newly reachable paths, and documented exceptions with owners and expiry dates. After cutover, repeat the comparison when shared objects or relevant inherited policies change. Document who reviewed the new paths and whether each was accepted, rejected, or scheduled for removal.

This approach supports the least-privilege principles in NIST SP 800-207. In RSAC’s Zero Trust at Scale blog, Naveen Birru stated that “Zero Trust shifts the foundational paradigm of enterprise security from implicit trust to continuous verification.” The test is not simply whether the application works. It is whether the required paths work without silently expanding unrelated access.

Contributors
Ramesh Subramani

Cybersecurity Manager, Estee Lauder Companies

Blogs posted to the RSAConference.com website are intended for educational purposes only and do not replace independent professional judgment. Statements of fact and opinions expressed are those of the blog author individually and, unless expressly stated to the contrary, are not the opinion or position of RSAC™ Conference, or any other co-sponsors. RSAC Conference does not endorse or approve, and assumes no responsibility for, the content, accuracy or completeness of the information presented in this blog.


Share With Your Community

Related Blogs