Model Context Protocol & Agentic ArchitecturePlaybook3 min readUpdated September 2026

Tuning a WAF Without Blocking Real Customers

Tune a web application firewall by starting in monitor mode, triaging what its rules would have blocked, and moving to blocking one rule at a time. Enabling blocking on day one usually causes an incident within the first week, when a legitimate customer or partner integration with an unusual but valid request gets blocked and support hears first.

This runbook works through rolling out WAF rules the way that actually holds up: starting in monitor mode, triaging what the rules would have blocked, and moving to enforcement one rule at a time instead of all at once.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Why Turning On Blocking Mode Immediately Goes Wrong

A default WAF ruleset is tuned against generic attack patterns across many applications, not your specific application's actual legitimate traffic. Rules built to catch SQL injection or cross-site scripting patterns can also match legitimate content your application handles normally, code samples in a support ticket field, certain international characters, a legitimately long query parameter, depending on how the rule is written.

Blocking mode from day one means every one of those false positives becomes a broken customer request in production, discovered when someone complains rather than when you're reviewing logs on your own schedule. Monitor mode first turns the same discovery process into something you control.

Running in Monitor Mode Long Enough to Trust It

Monitor mode logs what the WAF would have blocked without actually blocking it, which only helps if you run it long enough to see your real traffic variety, not just a few quiet days. Run it through at least one full business cycle, including your highest-traffic period, since a rule that looks fine against a quiet stretch can behave very differently against a traffic spike with a different mix of request types.

Watch specifically for rules firing against your own legitimate integrations: partner APIs, internal admin tools, any automated system that sends requests shaped differently from typical browser traffic. These are exactly the traffic patterns most likely to trip a generic rule and least likely to be represented in whatever traffic the ruleset was originally tuned against.

Triaging False Positives by Rule, Not by Request

When monitor mode surfaces false positives, resist fixing them one request at a time. Group them by which specific rule fired, then decide per rule: is this rule catching real attacks with an acceptable false positive rate, is it too broad for your specific application and needs a scoped exception, or is it not relevant to your application's actual attack surface at all and safe to disable.

A rule with a high false positive rate against your real traffic and a low real-world hit rate against actual attacks is a candidate to disable or significantly narrow, not a rule to patch around with individual exceptions for every request it happens to block. Individual exceptions accumulate into an unmaintainable list faster than most teams expect.

Moving Individual Rules to Blocking Mode

Once a specific rule has run clean in monitor mode for a meaningful stretch with no false positives against real traffic, move that rule to blocking individually rather than flipping the whole ruleset at once. This keeps the blast radius of any remaining surprise contained to one rule instead of your entire WAF configuration.

Keep monitoring the rules you've already moved to blocking, not just the ones still in monitor mode. Your application's own traffic patterns change over time, a new feature, a new partner integration, and a rule that was clean a while ago can start generating false positives against traffic that didn't exist when you first tuned it.

What to Review After Every Incident

Whether the incident is a real attack that got through or a false positive that blocked a real customer, review these:

  • Which specific rule fired or should have fired, and whether its current mode, monitoring or blocking, was the right call for that traffic pattern.
  • Whether the traffic that triggered the incident represents a pattern you should have anticipated during the original monitor mode period, which tells you whether your monitor mode window was actually long enough.
  • Whether an exposure or threat intelligence platform like Tenable or CrowdStrike surfaced this attack pattern as active elsewhere before it hit you, which would suggest tightening the rule proactively next time.
  • Whether the fix needs to happen at the WAF layer at all, or whether it points at a genuine vulnerability in the application that the WAF is only partially compensating for.

Treat every incident as a tuning input, not just an event to close out. A WAF configuration that never gets revisited after the initial rollout drifts out of sync with your actual application and traffic over time.

Executive Capability Standard

What Good Looks Like

A good WAF rollout means every blocking rule ran clean in monitor mode against a full cycle of your real traffic first, and gets revisited after every incident, not set once and left alone.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Run your WAF in monitor mode for at least one full business cycle and review which rules would have fired against your real traffic before enabling any blocking.
2. Do Manually:Manually triage the false positives monitor mode surfaces, grouped by rule, and decide per rule whether to keep it, scope it, or disable it.
3. Delegate:Have whoever owns application security own the rule tuning process and the schedule for moving individual rules from monitor to blocking mode.
4. Automate:Automate alerting when a previously clean, blocking-mode rule starts generating false positives, so drift gets caught without waiting for a customer complaint.
5. Buy:Use a managed WAF or exposure and threat intelligence platform like Tenable or CrowdStrike if you need visibility into attack patterns being seen elsewhere before they reach your specific application.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Frequently Asked Questions

How long should we run a WAF in monitor mode before enabling blocking?

Long enough to include at least one full business cycle and your highest-traffic period, not just a few quiet days. A rule that looks clean against low, uniform traffic can behave differently once it sees your real traffic variety, including partner integrations and any automated systems.

Should we fix false positives one request at a time?

No. Group false positives by which rule fired and decide per rule whether it's too broad, needs a scoped exception, or isn't relevant to your application at all. Patching individual requests one at a time creates an exception list that becomes unmaintainable faster than most teams expect.

Do we need to keep tuning the WAF after the initial rollout?

Yes. Your application's traffic changes over time as you add features and partner integrations, and a rule that was clean when you first tuned it can start generating false positives against traffic that didn't exist yet. Review rule performance after every incident, not just during the initial rollout.

About the numbers

This guide doesn't quote a sourced benchmark. Figures in it are estimates or general guidance, so check them against your own numbers.

Related Guides