Case Study

A mid-market MSSP had 23 direct-origin assets their CDN wasn't protecting

A six-week DDoS resilience assessment uncovered 12 critical attack vectors, an F5 appliance with ASM disabled, and no ISP scrubbing on the highest-traffic segments. OPI score moved from 38 to 71.

Industry MSSP - Finance & Healthcare clients
Assets Scanned 47 FQDNs across 6 SLDs
Engagement Duration 6 weeks (passive + active)
Region EMEA (anonymized)
23
Direct-origin assets with no CDN bypass protection
12
Critical attack vectors confirmed exploitable
47
FQDNs assessed across the MSSP's perimeter
+33
OPI points gained after hardening (38 to 71)
Background

A strong perimeter on paper, gaps everywhere in practice

The client is a mid-market Managed Security Services Provider that operates security operations and infrastructure on behalf of 40+ enterprise customers in finance and healthcare. Their own perimeter - the portals, APIs, and management interfaces their customers connect to - had never been tested for DDoS resilience.

The CISO knew that standard vulnerability assessments skip availability attacks entirely. The question wasn't whether there were gaps, it was how exposed they actually were. They engaged DDactic after a competitor's platform experienced a multi-hour outage during a client demo caused by a low-rate HTTP flood that bypassed rate limits.

"Our red team covers intrusion. Our pen testers cover OWASP. Nobody had ever tested what happens when someone just tries to make our platform unavailable. DDoS was the one thing everyone assumed someone else was handling."

CISO, anonymized MSSP
Engagement Approach

From passive reconnaissance to confirmed simulation

The engagement ran in four phases over six weeks. All active testing was conducted against non-production assets first, with production simulation approved in writing before any traffic was generated.

1
Day 1-3
Passive reconnaissance
DNS enumeration, subdomain discovery, certificate transparency search, and L7 fingerprinting across all 47 FQDNs. No traffic generated. CDN bypass check via direct-IP probes revealed 23 assets reachable without Cloudflare.
2
Day 5-7
Questionnaire and gap report
CISO and network lead answered a structured questionnaire (ISP/BGP/CDN/WAF/on-prem appliance) through the DDactic dashboard. Answers confirmed F5 BIG-IP LTM on 4 assets with ASM DoS profile disabled on 3 of them. No ISP scrubbing contract.
3
Day 12
Smoke test - non-critical asset
10-bot, 30-second L7 flood against a low-traffic staging subdomain. Verified fleet connectivity, confirmed metrics appeared in client monitoring, and confirmed no unintended side effects before escalating to critical assets.
4
Day 14-16
Active simulation - authorized scope
78 attack scenarios across the approved scope: HTTP/2 Rapid Reset, Slowloris, UDP reflection, SYN flood, IP rotation L7, BGP-based L3 flood. Fleet was geo-constrained to the MSSP's operating region. Operator maintained a kill switch throughout.
5
Day 21-35
Hardening and re-test
Applied hardening checklist: ASM DoS profiles enabled on 3 F5 assets, ISP scrubbing activated on 2 critical IP ranges, 19 direct-origin assets placed behind Cloudflare proxy, and OS-level rate limits added on 4 remaining exposed assets. Re-test confirmed OPI of 71.
Key Findings

12 critical gaps, most invisible to the previous assessment

DDactic's automated scan and questionnaire-driven analysis surfaced gaps that standard vulnerability assessment would not have found, because they are not vulnerabilities in the CVE sense - they are configuration choices that work fine against intrusion attempts but collapse under volumetric or application-layer flood conditions.

Critical
CDN bypass: 23 assets reachable by direct IP
Cloudflare was in place but origin IP was publicly reachable. Attackers bypass the CDN entirely and flood the origin directly.
Critical
No ISP scrubbing on the highest-traffic segment
A 200 Gbps volumetric flood saturates the uplink before any server-side mitigation - including F5 - can evaluate a single packet.
Critical
F5 ASM DoS profile disabled on 3 virtual servers
F5 BIG-IP LTM was present but ASM was unlicensed-but-installed and disabled. L7 HTTP floods reached the backend pool unchallenged.
High
HTTP/2 Rapid Reset exploitable on 6 FQDNs
CVE-2023-44487 / HTTP/2 Rapid Reset attack path was confirmed against 6 assets. Reset flood saturated server thread pool in under 8 seconds in testing.
High
Cloudflare WAF in log-only mode on 4 assets
WAF was logging L7 attacks but not blocking them. Log-only mode offers zero real-time protection against application-layer floods and bot amplification.
High
Slowloris path open: nginx idle timeout not configured
Default nginx client_header_timeout (60s) allows slow-connection attacks to hold threads open for the full timeout window. Connection pool exhaustion in 3 minutes under sim conditions.
Outcomes

OPI from 38 to 71 in four weeks of hardening

The DDactic OPI (Operational Protection Index) measures DDoS resilience across six dimensions: CDN coverage, L7 protection depth, L3/L4 scrubbing, origin shielding, OS-level controls, and response readiness. An OPI of 38 (grade F) means most volumetric and application-layer vectors go unmitigated. An OPI of 71 (grade C) means the highest-probability attack paths have been addressed and the remaining gaps are documented and scheduled.

38
Grade F
Pre-engagement baseline
→
71
Grade C
Post-hardening re-test (week 6)
⇧ +33 OPI points in 4 weeks of hardening
19
Direct-origin assets moved behind Cloudflare proxy, eliminating CDN bypass
3
F5 virtual servers with ASM DoS profiles enabled, blocking L7 floods at the appliance
2
Critical IP ranges now covered by ISP on-demand scrubbing, activated in <5 minutes

"The gap report showed us exactly what to fix and in what order. We knew about Cloudflare but we didn't know the origin was reachable. That finding alone justified the whole engagement."

Network Security Lead, anonymized MSSP

What would your OPI be?

A DDactic passive scan takes 48 hours and shows your CDN coverage, direct-origin exposure, and protection layer gaps - no traffic generated, no agent installed.

Start a Free Scan Open the Dashboard