A business that has signed a scrubbing contract, bought a web application firewall (WAF) licence and put a managed service retainer on the renewal calendar tends to file DDoS under “handled”, somewhere between the firewall renewal and the cyber insurance schedule. Then the search page stops answering on a Tuesday afternoon, the origin database sits at 100 per cent CPU, and the edge bandwidth graph never moves. That is the moment most buyers discover that application layer DDoS protection and network-layer capacity are two different purchases, and they only bought one of them properly.
What follows assumes you already have something in place: a reverse proxy, a WAF, a hosting-level filter, maybe all three. The question is not what a Layer 7 attack is. The question is why the thing you are paying for did not stop it.
Why Layer 7 attacks slip past protection you already pay for
An application-layer, or Layer 7, attack sends requests that look legitimate. Valid HTTP, correct headers, often real browsers or real mobile clients driven by malware. The traffic targets whatever endpoint costs the most to serve: a full-text search, a faceted product filter, a login that triggers a password hash, a PDF or invoice render, a GraphQL query that fans out across three services. Volume is beside the point. A few thousand requests per second against a search endpoint can exhaust a connection pool that would shrug off a hundred times that in cached image requests.
So a 40Gbps clean bandwidth commitment tells you nothing about whether 8,000 requests per second to /search gets stopped. Those are different units measuring different failure modes. Network-layer defences count bits; Layer 7 defences have to count requests, weight them by cost, and decide which sessions are real.
Assess three surfaces separately, not as one product
Every estate has three surfaces that fail independently, and contracts routinely cover one or two of them:
- Network and transport: volumetric floods, reflection and amplification, SYN floods. This is where scrubbing capacity and BGP diversion matter.
- Application layer: HTTP and HTTPS request floods, slow-read and slow-post attacks, API abuse. This is proxy, challenge and rate-limiting territory.
- Authoritative DNS: if the name does not resolve, everything above it is decoration.
Write those three headings on a page and map each line of your current contract to one of them. The gaps usually appear within ten minutes.
Read your own telemetry first
The diagnostic signature is unglamorous and reliable. Edge bandwidth flat at normal levels, request counts up sharply on one or two URL paths, origin CPU and database connections climbing, error rates rising on those paths before anywhere else. That pattern points at an application flood, not a pipe-filling attack. If you are still deciding whether you are under attack at all rather than suffering a self-inflicted outage, the triage steps in this guide to telling a DDoS from an ordinary outage will save you arguing about it for an hour.
Gap 1: your origin IP is still reachable, so the proxy is optional
More reverse proxies are bypassed through origin IP leakage than through sheer attack volume. Not close, in practice. An attacker who knows the origin address simply skips the edge entirely and hits the web server directly, and every rule you tuned at the proxy becomes advisory.
The address leaks from predictable places: historical DNS A records captured by passive DNS services long before you onboarded; mail headers from transactional email sent by the same host; TLS certificate transparency logs, which have been mandatory for publicly trusted certificates in Chrome since 2018 and are publicly searchable, so issuing a cert for staging.yourcompany.co.uk or admin.yourcompany.co.uk publishes that hostname to anyone watching; verbose error pages that print internal hostnames; and API endpoints that were pointed direct-to-origin for latency reasons and never moved back.
The fix is dull and effective. Firewall the origin so it accepts inbound traffic only from your provider’s published IP ranges, rotate the origin address after onboarding so historical records are worthless, and then verify it: curl the origin IP directly with the Host header set, from a network outside your own, and confirm you get a refusal rather than a page. Do that before you buy anything else. There is no point evaluating challenge algorithms while the front door has no lock on it.
Gap 2: the WAF is blocking signatures, not behaviour
A WAF ruleset is built to recognise malicious payloads: SQL injection strings, path traversal, known exploit patterns. A Layer 7 flood contains none of those. Each individual request is unremarkable and would be served happily on a quiet Wednesday. Volume in aggregate is the attack, and signature matching has nothing to match.
What actually works sits one layer up in logic: per-session request budgets rather than per-IP counters; JavaScript and cryptographic proof-of-work challenges that cost the client something; and cost-weighted rate limits, which is the control most estates are missing. A request for a cached product image and a request that triggers a full-text search or a PDF render are not equivalent, and a flat limit treats them as if they were. Set it low enough to protect search and you throttle genuine shoppers browsing a catalogue. Set it high enough for browsing and the expensive path stays wide open.
Per-IP limiting also collapses against distribution. A botnet spread across tens of thousands of residential addresses, each sending a handful of requests a minute, never trips a per-IP threshold anywhere. Every source looks like a normal user on a normal broadband line, because it largely is one. The defender’s view of botnet-driven floods is worth reading if you want to understand why source-based blocking degrades as the botnet grows.
One more thing procurement should force into the timeline: the false-positive conversation. Tuning thresholds for your real traffic shape, including scrapers you want to keep and the price-comparison feed you depend on, belongs in onboarding week. Not at 04:00 during an incident, with the commercial director asking why paying customers are seeing a challenge page.
Gap 3: your API and mobile traffic bypass the human-facing defences
Browser challenges, fingerprinting and cookie-based session tracking assume a browser. Your mobile app does not have one. Neither does your partner’s integration, your payment webhook receiver, or the B2B client pulling stock levels every thirty seconds. Turn on aggressive challenges and you break them; exempt them and you have created an unprotected lane straight to the most expensive endpoints you own.
Authenticated APIs are the attractive target precisely because they skip caching and touch the database on every call. Checkout APIs, GraphQL endpoints that allow deeply nested queries, and account-history calls all cost real compute per request. Sensible controls here are different in kind: rate limits keyed to API tokens or account identity rather than IP; explicit request cost budgets where a heavy query consumes more of the allowance than a light one; schema validation and query depth limits on GraphQL; and mutual TLS or signed requests for partner traffic so you can distinguish it cleanly.
Check subdomain coverage while you are there. One forgotten host, a legacy api-v1 or a marketing microsite on the same origin, undoes the proxy configuration for everything behind it.
Gap 4: authoritative DNS sits outside the contract
Layer 7 protection and DNS protection are frequently sold as one story and scoped as two line items. Read the schedule. Authoritative DNS is the layer most often left unmanaged, usually because it came free with the registrar years ago and nobody revisited it.
Ask who answers queries for your zone when your primary DNS provider is itself the target, how many anycast points of presence serve UK resolvers, and whether secondary DNS with a second independent provider is included or chargeable. Then look at your TTL values. A 3,600 second TTL means up to an hour before a failover to a backup provider takes effect across resolvers; 60 to 300 seconds, set in advance and left there, gives you near-immediate redirection when you need it. Lowering TTLs during an incident does not help, because the old values are already cached.
Our buyer’s guide to authoritative DNS protection goes through anycast footprints and secondary configurations in more detail, and the record of what happens when a DNS provider itself goes down explains why single-provider dependency keeps producing the same headline.
Gap 5: nobody is contractually obliged to act during the attack
The dividing line is simple. A self-service plan gives you a dashboard, a rate-limiting engine and rules you write and troubleshoot yourself. A managed service means a named engineer on the provider’s side is empowered to change policy at 03:00 without waiting for your sign-off. If that authority is not written down, you have bought monitoring, not management.
Deployment model matters more at Layer 7 than most buyers expect. On-demand mitigation, where traffic is diverted via BGP once an attack is detected, is a defensible trade-off for volumetric floods; detection plus diversion plus route convergence is tolerable when the alternative is paying for always-on capacity you rarely use. It is a poor fit for application attacks. A 5,000 requests-per-second flood against a search endpoint can drain your database connection pool well before diversion completes and traffic starts flowing through the scrubbing path. By the time mitigation is live, you have already taken the outage. The comparison of always-on and on-demand models sets out where each one genuinely earns its cost.
In procurement, run the escalation test rather than reading the SLA summary. Ask who answers the phone at 03:00 on a Sunday, whether that person is in the UK or following the sun, what they are authorised to change unilaterally, and how a customer raises severity. Then look at the wording: time to mitigate versus time to first human response (they are not the same metric), what counts as an attack start for the purposes of the clock, and the exclusions. Many time-to-mitigate commitments apply only to network-layer events and quietly exclude application-layer mitigation altogether.
Gap 6: you are buying a resale chain, not a network
A large number of UK providers resell another vendor’s proxy or scrubbing platform under their own brand. That is not automatically a problem; the underlying platforms are often excellent, and the reseller may add genuine tuning value. The problem is the extra escalation hop. During an incident, the distance between you and the engineer who can actually push a rule change is measured in handoffs, and each one costs minutes you do not have.
Questions that tend to get honest answers: which points of presence serve UK traffic and where do they sit; what is the underlying platform; who holds the capacity contract; can your engineers speak directly to the platform’s operations team during a severity-one event, or does everything route through account management. If the answers are vague, the escalation path is probably vaguer.
Gap 7: no post-attack evidence, so nothing improves
Judge a provider on the quality of a redacted post-incident report, not on a headline Tbps figure. Anyone can print a capacity number. A report that names the endpoint under attack, the rule that fired, the time from detection to mitigation and the residual request rate still reaching your origin tells you whether there was an engineer watching.
A usable attack report contains request rates broken down by endpoint and method, source distribution by network and geography, the vector breakdown, which mitigation action was applied and when, and what got through. That evidence has value well beyond engineering. Cyber insurers ask for it, boards ask for it, and any legal route following an attack depends on contemporaneous logs rather than recollection. The UK’s National Cyber Security Centre sets out the same expectation in its denial of service guidance collection: know what normal looks like, and capture what happened.
On the business case, argue from downtime cost per hour, not the headline monthly fee. UK managed pricing is typically assembled from four components: clean bandwidth commitment, the number of protected assets or domains, request volume tiers, and the level of incident support. Those variables move independently, so two quotes with similar monthly figures can differ enormously in what they cover at Layer 7. Work out revenue and recovery cost for a four-hour outage during your busiest trading window, and the comparison becomes straightforward.
The pre-purchase checklist
- Curl your origin IP directly from an external network with the Host header set. Do you get a page?
- Ask for the endpoint-level rate-limiting configuration, weighted by request cost, that the provider proposes for your top five most expensive paths.
- Confirm in writing which mobile and API traffic is covered, and how, given those clients cannot solve browser challenges.
- Check whether authoritative DNS is inside the managed scope, and whether secondary DNS is included.
- Establish who changes rules at 03:00, their authority level, and the time-to-mitigate definition that applies to Layer 7 specifically.
- Ask what the underlying platform is and how many escalation hops sit between you and it.
- Request a redacted Layer 7 post-incident report as a sample deliverable before you sign.
If you are still mapping requirements before shortlisting, our overview of DDoS attack solutions and how they differ covers the architectural options in more detail. Effective application layer DDoS protection is rarely a product decision. It is a coverage decision, an authority decision and an evidence decision, and the estate that gets those three right will survive a request flood that flattens a better-funded competitor.
Frequently Asked Questions
What is the difference between application layer DDoS protection and network layer scrubbing?
Network-layer scrubbing removes volumetric and protocol attacks measured in bits and packets per second, usually by diverting traffic through a scrubbing centre. Application layer DDoS protection inspects HTTP and HTTPS requests, counts them per endpoint and per session, and decides which clients are genuine. A contract covering one does not necessarily cover the other, and the SLA clocks are often defined separately.
Can a WAF alone stop a Layer 7 DDoS attack?
Rarely. A WAF is built to recognise malicious payloads, and a request flood consists of well-formed, individually legitimate requests. Stopping it needs behavioural controls: session-level request budgets, challenges, bot scoring and cost-weighted rate limits on your most expensive endpoints. A WAF with those features enabled and tuned can do the job; a signature-only ruleset will not.
How do attackers find my origin IP and get past the proxy?
Through historical DNS records held by passive DNS services, mail headers from transactional email sent by the same host, certificate transparency logs that publish staging and admin hostnames, verbose error pages, and API endpoints pointed straight at the origin. The countermeasure is to restrict inbound traffic at the origin firewall to your provider’s published IP ranges and rotate the origin address after onboarding.
Does application layer DDoS protection cover APIs and mobile app traffic?
Only if it was scoped to. Browser challenges and JavaScript fingerprinting do nothing for clients that cannot execute JavaScript, so API and mobile paths need token-based limits, request cost budgets, schema and query depth validation, and signed or mutually authenticated requests. Ask the provider specifically how non-browser clients are handled, and check every subdomain is behind the edge.
What does managed application layer DDoS protection typically cost in the UK?
Pricing is usually assembled from clean bandwidth commitment, the number of protected domains or assets, request volume tiers and the incident support level, so published headline figures are hard to compare and change frequently; check current quotes directly. The more useful exercise is calculating your cost of downtime per hour during peak trading and testing the annual protection spend against that. Get each quote broken down by those four components so you are comparing the same coverage.
