TTechclick ⚡ XP 0% All lessons
F5 · BIG-IP ASM · Attack SignaturesInteractive · L1 / L2 / L3

F5 ASM Attack Signatures — Signature Sets, Staging & Enforcement

A fresh SQL-Injection signature set lands on Sneha's production policy at Infosys. For the first week it catches real attacks but blocks none of them — on purpose. That is staging: every new signature watches quietly for the 7-day Enforcement Readiness Period so a mis-firing rule can't take down a real user before you've vetted it. This lesson shows you the negative-security engine of F5 BIG-IP Advanced WAF (formerly ASM) — signature sets, the staging lifecycle, staging→enforced, updates, and the Alarm vs Block flags — the way the 303 exam tests it.

📅 2026-06-02 · ⏱ 11 min · 3 live demos · 4 infographics · 🏷 10-Q assessment + AI Tutor inline

⚡ Quick Answer

Learn F5 BIG-IP Advanced WAF (formerly ASM) attack signatures the AI-era way — signature sets, the 7-day staging lifecycle, Enforcement Readiness, staging→enforced, signature updates, and Alarm vs Block per signature. 303 exam aligned. 11 min.

🎯 By the end you will be able to

Read as:

Pick where you want to start

1

What Signatures Are

The wanted-poster wall: patterns of known attacks, the negative-security model, where they live in a policy.

2

Signature Sets

System-supplied sets (Generic Detection, SQL-Injection, XSS) and assigning a set to a policy.

3

Staging & Enforcement

The 7-day Enforcement Readiness Period, learning suggestions, staging → enforced.

4

Alarm/Block & Updates

Alarm vs Block per signature, signature updates (scheduled/manual), re-staging on update.

🧠 Warm-up — 3 questions, no score

Just notice which ones make you pause. We answer all three inside the lesson.

1. A new signature set is assigned to a busy policy. For the first 7 days, a real SQL-injection attack hits it. What happens?

Answered in Path 3 — Staging & Enforcement. (Spoiler: staging logs, it doesn't block.)

2. You want a policy that carries XSS and SQL-Injection coverage only. What do you attach to it?

Answered in Path 2 — Signature Sets. You assign sets, not single signatures.

3. A signature has Alarm ticked but Block un-ticked. The policy is in Blocking mode. A request matches. Result?

Answered in Path 4 — Alarm/Block & Updates. Alarm logs; Block drops.

Most engineers think…

"I assigned the SQL-Injection signature set, so my app is protected right now."

Wrong — and that wrong instinct burns trust in the WAF on day one. A freshly assigned signature does not block anything for the first 7 days. It is in staging: it watches the live traffic, records every match as a learning suggestion, and lets every request through — even real attacks. That gap is deliberate. It gives you a week to catch a signature that wrongly matches your own application before it starts dropping real customers. This lesson builds the right instinct: stage first, review the suggestions, then enforce.

① What an attack signature is — the wanted-poster wall

Think of a police station's wanted-poster wall. Each poster is one known offender: a face, a name, a description. Every person walking past is compared to every poster. A match raises a flag. An attack signature is exactly that — a rule or pattern that identifies a known attack on a web application. When F5 BIG-IP Advanced WAF (formerly ASM) receives a request or response, it compares the content against the signatures associated with the policy and raises a violation on a match.

This is the negative-security half of a WAF policy: block what is known-bad. (The positive-security half — allow only known-good URLs and parameters — is lesson 4.) The GUI module is still literally labelled Security ▸ Application Security, and many screens and profiles still say "ASM" — that legacy module name lives on inside Advanced WAF.

You never manage thousands of signatures one by one. They are organised into signature sets, and you assign sets to a policy. F5 ships the signatures in a pool and pushes updates roughly every six weeks.

👉 So far: a signature = a wanted poster for a known attack; the negative-security half of a policy. Next, the sets you actually assign.
Figure 1 — A request only reaches your app if it survives the signature wall
An isometric trust-zone diagram. An untrusted client on the internet sends an HTTP request that lands on a BIG-IP Advanced WAF virtual server. Inside the WAF, the request is checked against the assigned attack-signature sets. A clean request is forwarded to the trusted application server pool; a malicious request that matches an enforced signature is blocked and a violation with a support ID is logged. A staged signature only logs the match as a learning suggestion and still forwards the request. Untrusted internet → signature wall → trusted app pool Untrusted / attacker Trusted / inspected Inspection / decision Key insight Client (internet) 203.0.113.7 — untrusted HTTP req BIG-IP Advanced WAF virtual server 10.10.20.5:443 Attack-signature check request vs assigned signature SETS Generic Detection · SQL-Injection · XSS Enforced → BLOCK match Staging → log only (suggestion) clean → forward App pool trusted · 172.16.8.0/24 only clean traffic arrives enforced match → drop Blocked + logged violation + support ID A signature only DROPS a match when it is ENFORCED. In staging the very same match is logged as a learning suggestion and the request still goes through. Positive security (allow only known-good URLs/params) is the OTHER half of the policy — that's lesson 4. GUI module: Security ▸ Application Security (still labelled "ASM" on many screens inside Advanced WAF).
Same match, two outcomes — enforced signatures drop the request, staged signatures only log it. The staging state decides whether the wall actually stops anyone.

Sneha at Infosys faces this

Sneha assigned the SQL Injection Signatures set to a production policy and ran an attack from her test box. The WAF logged the hit but let it straight through. Management asks why the WAF "didn't block the attack".

Likely cause

The set was just assigned, so its signatures are in staging for the Enforcement Readiness Period (default 7 days). Staged signatures log matches but never apply the Block action.

Diagnosis

Open the policy's signature list and the readiness summary.

Security ▸ Application Security ▸ Attack Signatures → check the "Staging" column
Fix

This is expected — let it ride out the period, review the learning suggestions, then Enforce the signatures that only matched real attacks. (Disabling staging to block now is the wrong reflex — see the trap card later.)

Verify

After enforcing and applying the policy, re-run the test. The Event Log now shows the request Blocked with a support ID — not just logged.

▶ Watch a malicious request hit a signature — staged vs enforced

Rahul at TCS fires a ' OR 1=1-- attack at the app. Press Play for the enforced-and-blocked path, then Break it to see what staging does to the very same request.

① REQUEST203.0.113.7 sends login?u=' OR 1=1-- to the virtual server
② SIGNATURE CHECKContent hits the SQL-Injection signature set — pattern matches
③ STATESignature is enforced, Block flag set, policy is Blocking → condition to drop is met
④ ACTIONBlocked — request dropped, violation + support ID written to the Event Log
Press Play to step through the enforced-and-blocked path. Then press Break it.
Quick check · Q1 of 10

A brand-new SQL-Injection signature set was just assigned to a busy production policy. It detects nothing-blocked for the first week, even on real attacks. What is happening?

Correct: b. New and updated signatures go into staging for the Enforcement Readiness Period (default 7 days). In staging the system logs matches as learning suggestions but does not apply the Block action, so real attacks are recorded — not blocked — until you enforce them. By design, not a fault.

Pause & Predict

You don't want to attach thousands of individual signatures to a policy one by one. F5 ships them in a smarter, maintainable unit that you assign to a policy and that auto-updates. What is that unit called? Type your guess.

Answer: A signature set — a named group like "SQL Injection Signatures" or "Generic Detection Signatures". You assign sets to a policy, and when F5 ships an update the set picks up the new members automatically. That's exactly Path 2.

② Signature sets — the unit you actually assign

You don't hang every wanted poster individually. You hang boards — "violent offenders", "fraud", "shoplifters" — and the right boards go up at the right station. In Advanced WAF a signature set is that board: a named group of attack signatures. You assign sets to a policy, not single signatures. Sets keep the policy maintainable and let an F5 signature update drop new members straight into the set you already trust.

System-supplied signature sets

F5 ships many predefined sets. The ones you meet first:

Sets can be filter-based (membership is defined by attributes like attack type, system, or risk, so new signatures auto-join) or manual (you hand-pick members). You can also build a user-defined set for your own apps.

Assigning a set to a policy

When you attach a set you also choose its default blocking actionsLearn, Alarm and Block — which take effect when you associate the set with a new policy. Learn surfaces the match on the Traffic Learning screen, Alarm logs it, Block drops it (only when the policy is in Blocking mode). We unpack Alarm vs Block in Path 4.

Pro tip — assign sets, never lone signatures

Resist the urge to attach individual signatures. Assign the set and let F5's periodic updates (roughly every six weeks) keep it current. Manage exceptions by disabling the one false-positive signature on the policy — not by curating thousands by hand. A set-based policy stays protected as new threats ship; a hand-picked list rots the day it's built.

👉 So far: signatures live in sets; you assign sets (with Learn/Alarm/Block defaults) to a policy. Next, see the request flow through an assigned set.
Figure 2 — One request, checked against every set the policy carries
A left-to-right flow. An incoming request enters the security policy, which has three system-supplied signature sets assigned: Generic Detection, SQL Injection, and Cross Site Scripting. The request content is compared against the signatures in every assigned set. A match in the SQL Injection set raises a violation; the policy enforcement mode and the per-signature Block flag then decide whether the request is blocked or only logged. Sets are the unit of assignment, not individual signatures. You assign SETS to the policy — the request is matched against all of them Request u=' OR 1=1-- + <script> in field Set: Generic Detection broad — no clean match here Set: SQL Injection ✓ MATCH — ' OR 1=1-- Set: Cross Site Scripting ✓ also matches <script> Violation raised state + Block flag decide: enforced→drop · staging→log Event Log support ID You attach SETS, not individual signatures — an F5 update adds new members to the set automatically. Filter-based set = auto-membership by attack type/risk · Manual set = hand-picked · User-defined = your own apps.
The request is matched against every assigned set. Whether a match drops or just logs depends on the signature's state and its Block flag — Path 3 and Path 4.

Priya at Flipkart faces this

Priya's policy uses only the SQL Injection set. The pentest report flags a reflected-XSS hole the WAF didn't catch. She assumed "the signatures" cover everything.

Likely cause

A policy only carries the sets you assign. XSS attacks need the Cross Site Scripting Signatures set (or the broad Generic Detection set) — the SQL set alone never had XSS posters on its board.

DiagnosisSecurity ▸ Application Security ▸ Policy ▸ Attack Signatures Configuration → review Assigned Signature Sets
Fix

Assign the Cross Site Scripting Signatures set (most teams add Generic Detection Signatures as the baseline too). Save and apply the policy.

Verify

Re-run the XSS payload after the new set's staging period and enforcement. The Event Log now shows an XSS violation, not a clean 200.

F5 ASM — Building a Security Policy F5 ASM — Positive Security & Learning
Quick check · Q2 of 10

You want a policy that only carries XSS and SQL-Injection coverage, nothing else. What is the cleanest way to express that?

Correct: a. Signature sets are the unit of assignment — you attach sets, not individual signatures, to keep the policy maintainable and auto-updating. Hand-picking individuals (b) rots the moment F5 ships new threats.

Pause & Predict

Staging is coming next. A new set you just assigned will not block anything for a while — even real attacks. Why would F5 deliberately make a new signature watch quietly before it's allowed to drop a request? Type your guess.

Answer: To catch false positives before they hurt anyone. A new signature might wrongly match part of your own application's legitimate traffic. Staging logs those matches as learning suggestions for a review window (default 7 days) so you can disable a bad signature before it ever blocks a real customer. That's the Enforcement Readiness Period — Path 3.

③ Staging & enforcement — the rookie-cop period

Here is the analogy that makes this lesson stick. A new attack signature is a rookie cop. For the first stretch of duty the rookie can only observe and write reports — never make an arrest. That probation exists so a rookie who'd wrongly cuff your own staff is caught before any real damage. That probation is staging.

What staging does

Staging means the system applies the attack signatures to live traffic but does not apply the blocking policy action to requests that trigger them. A staged signature still sees every match — it just records the request as a learning suggestion instead of dropping it. Its whole purpose is to reduce the violations caused by false-positive matches before any signature can block a real user.

The Enforcement Readiness Period (default 7 days)

How long is probation? It's the Enforcement Readiness Period, set in the policy's properties — default 7 days. New and updated signatures stay in staging for this window. Each day, signatures that have passed the period with no problems become Enforcement Ready and appear in the Enforcement Readiness Summary.

Staging → enforced (this never happens by itself)

This is the #1 trap. "Enforcement Ready" does not mean "now blocking". It means "the period elapsed — it's safe for you to enforce." You still take the action:

Until you enforce and apply, a signature past its readiness period still only logs. Many "the WAF won't block" tickets are exactly this — staged signatures nobody enforced.

👉 So far: staging = log-only probation for the Enforcement Readiness Period (default 7 days); you then review, enforce, and apply. Next, see the full lifecycle in one picture.
Figure 3 — The signature staging lifecycle: assigned → staging → ready → your decision
A left-to-right journey. A signature set is assigned to a policy. Each signature enters staging, where for the default 7-day Enforcement Readiness Period it logs matches as learning suggestions but does not block. After the period it becomes Enforcement Ready and appears in the Enforcement Readiness Summary. The engineer then makes a decision: a signature matching only legitimate traffic is a false positive and should be disabled, while a signature matching real attacks should be enforced and the policy applied, after which it blocks. A signature never blocks until YOU enforce it — readiness ≠ enforced 1 · Set assigned to the policy 2 · STAGING Enforcement Readiness Period default 7 days logs matches — does NOT block 3 · Enforcement Ready shows in Readiness Summary "safe to enforce" — not blocking 4 · YOUR DECISION — review the hits what did the signature match? Matched legitimate traffic? → FALSE POSITIVE → Disable this signature it never blocks your own app Matched real attacks? → Enforce + Apply Policy → now BLOCKS removed from staging, blocking in effect Updated signatures re-enter staging too — every signature update restarts the rookie-cop probation.
Assigned → staging (7-day default) → Enforcement Ready → your call. The arrow that actually blocks anything is the one labelled "Enforce + Apply" — nothing enforces itself.

▶ Watch a signature ride out staging — then watch someone skip it

Karthik at Wipro assigns a fresh set on Day 0. Play the safe stage-then-enforce path, then Break it to see what disabling staging does on Day 0.

① DAY 0New set assigned. Signatures enter staging — Enforcement Readiness Period = 7 days
② DAYS 1–7Real attacks logged as learning suggestions; a signature wrongly hitting your own app is spotted
③ DAY 7+Signatures become Enforcement Ready; you disable the false positive, keep the rest
④ ENFORCEEnforce + Apply Policy → the good signatures now block real attacks, no surprise outage
Press Play for the safe stage-then-enforce path. Then press Break it.

The four states a signature lives in — tap each card

The front names the state; the back gives you the "so what" — what the signature is doing to traffic right then.

🪪
Staging
tap to flip

Applied to traffic but blocking is suppressed; matches become learning suggestions. So what: this is the rookie-cop probation — logs everything, arrests no one, for the readiness period.

Enforcement Ready
tap to flip

The readiness period elapsed; it shows in the Enforcement Readiness Summary. So what: "safe to enforce" — NOT "now blocking". You still must Enforce + Apply.

🛡️
Enforced
tap to flip

Out of staging; the blocking policy applies. So what: with Block ticked and the policy in Blocking mode, a match is now dropped with a support ID.

🚫
Disabled
tap to flip

Switched off on this policy. So what: your false-positive exit — a signature hitting only legitimate traffic is disabled so it never blocks your own app, while the rest of the set stays active.

Quick check · Q3 of 10

A signature has sat in staging well past 7 days and the Enforcement Readiness Summary shows it as Enforcement Ready with zero learning suggestions — yet it still never blocks. Most likely cause?

Correct: d. Enforcement Ready means the staging period elapsed and it is safe to enforce — it does not enforce automatically. You must Enforce (or Enforce Ready Entities) and Apply the policy. Until then the signature stays in staging and only logs.

Pause & Predict

An enforced signature is matching. The policy is in Blocking mode. But this signature has only its Alarm flag ticked — not Block. Will the request be dropped or just logged? Type your guess.

Answer: Just logged, then allowed through. Alarm = write a violation entry (and a support ID); Block = drop the request. Both flags are independent — for an actual block you need Block ticked, the signature enforced, AND the policy in Blocking mode. That's Path 4.

④ Alarm vs Block flags & signature updates

Two things decide whether a matched signature actually stops a request: its state (Path 3 — enforced, not staging) and its flags (this section). Get either wrong and the WAF "doesn't block".

Alarm vs Block — two independent flags

In the Attack Signatures list each signature carries two checkboxes:

So the chain to an actual drop is: policy in Blocking modesignature enforcedBlock flag ticked. Miss any link and you only Alarm. (Whether the policy as a whole should go Blocking is the global go-live decision — that's lesson 10.)

Signature updates — and why they re-stage

F5 ships signature updates roughly every six weeks. Two modes:

The catch every junior misses: when staging is on, updated signatures go back into staging for the Enforcement Readiness Period — the new logic is vetted before it blocks. So right after an update, some previously-blocking signatures briefly only log again. That's intended; review the new suggestions, then re-enforce.

tmsh — assign signature sets & turn staging on for a policy
root@(bigip01)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify asm policy /Common/app_pol \
  signature-staging enabled \
  signature-settings { signature-staging enabled }
# Assign the system-supplied sets in the GUI (Attack Signatures Configuration), then:
list asm policy /Common/app_pol enforcement-readiness-period
Expected output
asm policy /Common/app_pol {
    enforcement-readiness-period 7
    signature-staging enabled
}
# 7-day readiness window confirmed; new/updated signatures will stage before they block.
tmsh — review staged signatures, then enforce after the readiness period
root@(bigip01)(tmos)# show asm policy /Common/app_pol signatures staged
# (read the staged list + their learning suggestions in the GUI Readiness Summary)

root@(bigip01)(tmos)# modify asm policy /Common/app_pol signatures enforce-readiness
root@(bigip01)(tmos)# modify asm policy /Common/app_pol apply
Expected output
Enforcement readiness applied: 412 signatures enforced, 3 left disabled (false positives).
Policy /Common/app_pol applied. Active.
# Enforced signatures with Block ticked now drop matches; the 3 disabled ones never block your app.
https://10.10.20.4/tmui  ·  BIG-IP® Advanced WAF — Configuration utility
Local Traffic
Security ▸
Application Security ▸
Attack Signatures
Attack Signatures Configuration
Policy Building
Device Management
Security ▸ Application Security : Attack Signatures ▸ Attack Signatures List
Current edited security policy  app_pol  (Blocking)  — changes are staged until you click Apply Policy
Signature Name Signature Set Staging Alarm Block
SQL-INJ — "OR 1=1" (200002...)SQL Injection SignaturesStaging
XSS — "<script>" tag (200001...)Cross Site Scripting SignaturesEnforced
Generic — cmd injection (200015...)Generic Detection SignaturesEnforced
the signature   Staging vs Enforced state   Alarm = log   Block = drop (only when Blocking)
🖥️ Recreated for clarity — your BIG-IP console matches this. The top row is still in Staging (Alarm only, Block greyed out); the lower two are Enforced with both Alarm and Block ticked. Path: Security ▸ Application Security ▸ Attack Signatures.
The trap — turning staging off to "protect instantly"

Don't disable signature staging to make a new set block on day one. New signatures surprise you — one of them may match part of your own legitimate traffic. With staging off, that bad signature blocks real users the moment the set lands, with no review window. Keep staging on, let the Enforcement Readiness Period do its job, review the learning suggestions, then enforce. "Instant protection" without a review window is how a WAF causes its own outage.

👉 So far: Alarm = log, Block = drop (only when enforced + Blocking); updates re-stage. Next, see the Alarm-vs-Block decision live.

▶ Watch the Alarm-vs-Block decision — log or drop?

An enforced signature matches a real attack. Play the full block path, then Break it to see what happens when only Alarm is ticked.

① MATCHEnforced SQL-Injection signature matches ' OR 1=1--
② MODE?Policy enforcement mode is Blocking — blocking is possible
③ FLAGSAlarm + Block both ticked → the request will be dropped
④ ACTIONBlocked — request dropped, violation logged with a support ID
Press Play for the full block path. Then press Break it.

Aditya at HCL faces this

Aditya's enforced SQL-Injection signature logs every attack with a support ID, but never drops a single one. The policy is confirmed in Blocking mode.

Likely cause

Block flag is off. The signature has Alarm ticked (hence the logs + support IDs) but Block un-ticked — so it logs and allows. Logging is not blocking.

DiagnosisSecurity ▸ Application Security ▸ Attack Signatures → open the signature → check Alarm and Block columns
Fix

Tick Block (allowed because the policy is Blocking), confirm the signature is enforced (not staging), then Apply Policy.

Verify

Re-run the attack. The Event Log now shows the request Blocked — not just an alarm entry.

Verify it worked — the Event Log ends the argument

Never claim a signature blocks from the config screen. Send a safe synthetic attack (e.g. ' OR 1=1-- from your test box), then open Security ▸ Event Logs ▸ Application ▸ Requests, filter on the support ID, and read the result. "Blocked" with the signature name = enforced + Block ticked + Blocking mode. "Alarmed/Allowed" = a flag or state is wrong — not the box.

tmsh — confirm a signature's enforced state and Block flag fired
root@(bigip01)(tmos)# show asm policy /Common/app_pol signatures \
  signature-id 200002001
# then read the request in the Event Log by support ID
Expected output
2026-06-02 14:22  src 203.0.113.7  vs 10.10.20.5:443
  Signature: SQL-INJ "OR 1=1" (200002001)  Set: SQL Injection Signatures
  State: enforced   Alarm: yes   Block: yes   Mode: Blocking
  Result: BLOCKED   Support ID: 18007244126553882151
# If Result = Alarmed → Block flag is off. If State = staging → enforce it first.
Quick check · Q4 of 10

On a signature in the Attack Signatures list, the Alarm flag is ticked but Block is not. The policy is in Blocking mode and the signature is enforced. A request matches it. What does Advanced WAF do?

Correct: c. Alarm without Block means the request is logged (you get a violation and a support ID) but allowed through. Block must also be enabled — and the signature enforced, with the policy in Blocking mode — for the request to actually be dropped.
Figure 4 — Staging OFF vs ON: the same bad signature, two very different days
A before-and-after panel and a build-order cheat-sheet. On the left, staging OFF: a new signature that wrongly matches your own application's traffic blocks real customers immediately on day zero, causing an outage. On the right, staging ON: the same signature only logs the match as a learning suggestion during the Enforcement Readiness Period, the engineer spots the false positive and disables it, and no real user is ever blocked. Below, a five-tile cheat-sheet lists the lifecycle: assign sets, staging for seven days, review suggestions, enforce ready, and Alarm versus Block, with a golden rule that readiness does not equal enforced. A new signature can protect you — or take you down. Staging decides which. ✗ Staging OFF — "protect instantly" Day 0: new set assigned, blocks immediately a false-positive signature drops REAL customers no review window · checkout breaks · P1 outage Result: WAF gets switched off by 11am ✓ Staging ON — default 7 days Day 0–7: same signature only LOGS the match you spot the false positive → Disable it real attacks logged · no customer blocked Result: enforce the good ones, ship safely ① Assign SETS Generic / SQL / XSS not lone signatures auto-updates with F5 ② STAGING readiness period default 7 days logs, never blocks ③ Review learning suggestions false pos → Disable real attack → keep ④ Enforce Enforce + Apply ready ≠ enforced you click it ⑤ Flags Alarm = log Block = drop Blocking mode only GOLDEN RULE Stage before you block. "Enforcement Ready" ≠ enforced — you still Enforce + Apply. Updates re-stage. Path: Security ▸ Application Security ▸ Attack Signatures | log of truth: Security ▸ Event Logs ▸ Application ▸ Requests 303 anchor: staging, Enforcement Readiness Period, Alarm vs Block, signature update modes.
The before/after that justifies the whole feature: with staging off, one bad signature is an outage; with it on, the same signature is a logged note you quietly disable. Screenshot the bottom tiles — that's the build order.

🤖 Ask the AI Tutor

Tap any question — instant, scoped to this lesson. No login, no waiting.

Pre-curated from F5 techdocs + DevCentral, scoped to BIG-IP Advanced WAF (formerly ASM) attack signatures. For a live prod issue, paste your Event-Log export into chat.techclick.in.

📝 Wrap-up assessment — six more

You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.

Q5 · Remember

What does signature staging mean in BIG-IP Advanced WAF?

Correct: b. Staging means the system applies the attack signatures to traffic and records matches as learning suggestions, but does not apply the blocking policy action to requests that trigger them. It exists to catch false positives before they ever block a real user.
Q6 · Apply

Karthik at Wipro must roll a fresh Generic Detection Signatures set onto a revenue-critical app with the least risk of a false-positive outage. Best first move?

Correct: a. Keep staging on and let the new set ride the Enforcement Readiness Period while you review learning suggestions, then enforce only the signatures with no legitimate matches. Disabling staging to block immediately (b) is exactly how a bad signature takes down a real workflow on day one.
Q7 · Apply

You're about to enforce signatures after the readiness period. What should you do before clicking Enforce?

Correct: c. Review the staged hits first. A signature matching legitimate traffic is a false positive → disable it; a signature matching real attacks → enforce it. Enforcing blind can block a legitimate workflow you never reviewed.
Q8 · Analyze

After a scheduled signature update, several previously enforced signatures briefly stopped blocking. Why?

Correct: b. When signature staging is enabled, updated signatures are placed back into staging for the Enforcement Readiness Period so the new logic is vetted before it blocks. That is intended — review the new suggestions, then re-enforce.
Q9 · Analyze

A signature in a custom user-defined set keeps firing on a legitimate parameter value that simply contains a SQL keyword. The set must stay. Best tuning move?

Correct: d. Disable that specific signature on the policy (or scope it out for that parameter/URL). Lowering the policy enforcement mode (c) would weaken protection everywhere, not just for the false positive. Deleting the whole set (a) removes real coverage.
Q10 · Evaluate

A junior engineer proposes turning signature staging OFF org-wide "so new signatures protect us instantly". For a production WAF, sound design?

Correct: c. Staging is the safety net. Without it, every signature update can immediately block legitimate traffic the moment it lands, with no review window. Keep staging on and use the Enforcement Readiness Period to vet, then enforce. "Instant protection" without a review window is how a WAF causes its own outage.
Lesson complete — saved to your profile.
Almost! You need 70% (7 of 10) — re-read the path that tripped you up and tap "Try again".

🧠 In your own words

Type one line: why does a brand-new attack signature not block anything for the first 7 days, and what do you do after that? Then compare to the expert version.

Expert version: A new (or updated) signature is in staging for the Enforcement Readiness Period — default 7 days. During staging it applies to traffic and records matches as learning suggestions, but it does not apply the blocking action, so it never blocks a real user yet. After the period it becomes Enforcement Ready; you review the suggestions, disable any false positives, then click Enforce and Apply Policy so the good signatures start blocking. If your answer mentioned "staging logs but doesn't block, then I review and enforce", you've got it.

🗣 Teach a friend

Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.

📖 Glossary

Attack signature
A rule or pattern that identifies a known attack on a web application. Advanced WAF compares each request/response against the policy's signatures and raises a violation on a match. The negative-security model.
Signature set
A named group of attack signatures (e.g. SQL Injection Signatures). You assign SETS to a policy, not individual signatures. Can be system-supplied, filter-based, manual, or user-defined.
System-supplied set
An F5-shipped set such as Generic Detection Signatures, SQL Injection Signatures, Cross Site Scripting Signatures, Command Execution, or Path Traversal.
Staging
The system applies a signature to traffic and records matches as learning suggestions, but does NOT apply the blocking action. The "rookie-cop probation" that catches false positives.
Enforcement Readiness Period
The staging window set in the policy's properties — default 7 days — for which new and updated signatures stay in staging before becoming "enforcement ready".
Enforcement Ready
A signature whose readiness period has elapsed; it appears in the Enforcement Readiness Summary. "Safe to enforce" — not yet blocking.
Enforce / Apply Policy
Enforce removes a signature from staging and puts the blocking policy into effect for it; Apply Policy commits the staged changes. Nothing blocks until you do both.
Alarm flag
If a request matches the signature, the policy logs the request data (violation + support ID). It does not drop the request.
Block flag
The policy blocks (drops) requests that match the signature. Enabled only when policy enforcement mode is Blocking, and effective only when the signature is enforced.
Signature update (Live Update)
F5's periodic packages of new/improved signatures (~every six weeks), applied scheduled or manual. With staging on, updated signatures re-enter staging.

📚 Sources

  1. F5 techdocs — Assigning Attack Signatures to Security Policies & BIG-IP ASM: Attack and Bot Signatures (14.1.0) (signature definition, system-supplied sets: Generic Detection, SQL Injection, Cross Site Scripting; staging = applies signatures but doesn't block; default 7-day staging; Alarm = log / Block = drop). techdocs.f5.com
  2. F5 techdocs — Working with Attack Signatures & Updating Attack and Bot Signatures (Enforcement Readiness Period in policy properties; updated signatures re-enter staging; scheduled vs manual update; Delivery Mode Automatic/Manual; Enforce). techdocs.f5.com
  3. F5 article K82512024 — Managing BIG-IP ASM Live Updates (14.1.x and later) and K8217 — Managing BIG-IP ASM attack signatures (Live Update workflow; service-check date within 7 days; external network access for auto-update). my.f5.com
  4. F5 DevCentral — Mitigating OWASP Web Application Risk: Injection exploits using F5 BIG-IP (negative-security signatures vs positive model; signature sets in policy building). community.f5.com
  5. F5 article K62525205 — All attack signature updates for BIG-IP ASM, Advanced WAF, F5 EAP, NGINX App Protect, and F5 Distributed Cloud (signature releases ~every six weeks; new + enhanced signatures). my.f5.com
  6. r/networking & r/f5networks practitioner threads — staging best practice ("never disable staging on prod"; review learning suggestions before enforcing) and "WAF not blocking = signatures still in staging / Block flag off". reddit.com
  7. F5 Certification — 303 — BIG-IP ASM Specialist Exam Blueprint (attack-signature structure, policy creation, enforcement readiness; series cert anchor: 90 min, 80 questions, pass 245/350). education.f5.com / f5.com

What's next?

You can now read the negative-security engine end-to-end: assign signature sets, ride out the Enforcement Readiness Period, and flip Alarm vs Block. Next, meet the other half of an Advanced WAF policy — positive security: how the policy learns your legitimate URLs and parameters and tightens around them. After that, false-positive tuning ties both halves together.