Aventura, Florida · serving clients across the United States (305) 404-9404Toll-free (800) 767-8566Emergency? Get a call within 1 hour
Software as a service Illustrative engagement

Anycast DNS and edge for a SaaS company, absorbing attacks close to where they start

A business-software company serving customers in North America and Europe, a leader in its segment.

Scale
9 points of presence, own ASN and address space, anycast DNS and HTTPS edge, DNSSEC
Engagement
Design, deployment and 24x7 operation of a global edge

The challenge

The company’s authoritative DNS and login endpoints were prime targets for volumetric attacks, and one provider’s outage had previously taken its customers offline. It needed an edge that was fast everywhere and could take a punch.

The company's authoritative DNS and login endpoints were prime targets for volumetric attacks, and one provider's outage had previously taken its customers offline. Its DNS lived with a single vendor, its web front door with another, and neither could be moved without a long change window. It wanted an edge that was fast everywhere, owned by the company and able to take a punch.

Anycast turns a weakness into a strength: the same IP address is announced from many places, so each client reaches the nearest one and an attack is spread across all of them rather than concentrated on one. The company operates its own ASN and IPv4 and IPv6 blocks, so every site announces them using BIRD 2 over BGP (RFC 4271), with RPKI route-origin authorizations published for its prefixes and received routes validated (RFC 6811). Each point of presence runs authoritative DNS, signed with DNSSEC and protected by response-rate limiting against reflection abuse, and the HTTPS front door. Two independent DNS server implementations run side by side, so a single software bug cannot silence every answer.

The rollout started with a quiet prefix. A test prefix was announced from all nine points of presence and checked from outside vantage points, then a small share of real zones was delegated to the new nameservers while the old ones stayed in the delegation set. Over six weeks the old nameservers were removed from the delegation, and the HTTPS front door moved last, one customer-facing hostname at a time, with a low DNS TTL so a rollback took minutes. Each site announces its routes only while its local health checks pass.

Defences are layered. XDP/eBPF programs drop junk at line rate on every edge server, FlowSpec (RFC 8955) pushes filters to carriers, communities trigger remotely triggered blackholing of a single targeted address as a last resort, and an upstream scrubbing provider takes over when an attack outgrows local capacity. In a planned test with the carriers informed in advance, a 240 Gb/s mixed UDP and SYN flood was aimed at a single point of presence. BFD detected failing sessions in under a second, traffic shifted to neighboring sites, and query latency stayed flat for customers outside the targeted region.

The outcome is DNS answered from the nearest point of presence worldwide and a login path that no longer depends on one vendor. The company can withdraw a site from the internet in seconds for maintenance, absorb an attack without a customer-visible change, and prove ownership of its address space with signed route-origin records. On-call engineers get a runbook for each escalation tier, and the team rehearses them quarterly.

What our team delivered

  • Its own autonomous system number and IPv4 and IPv6 allocations, announced by BIRD 2 from nine points of presence
  • Anycast authoritative DNS with DNSSEC and response-rate limiting, served by multiple independent resolver software stacks
  • An anycast HTTPS front door with health-checked withdrawal of a failing site’s announcement
  • XDP/eBPF packet filtering to drop floods before they reach the kernel stack
  • BGP FlowSpec, RTBH communities and upstream scrubbing as escalation tiers
  • RPKI route-origin authorizations for the company’s prefixes and validation of received routes

Result

DNS answered from the nearest point of presence worldwide, and a 240 Gb/s volumetric attack in testing was absorbed with no customer-visible change. In the modeled design, the nine points of presence announced the same prefixes over BGP with health-checked withdrawal, so a failing site left rotation in seconds. Quarterly drills withdrew a site on purpose, and the 240 Gb/s test was staged with the upstream providers under an agreed window. Escalation ran from XDP filtering at the edge, to FlowSpec and RTBH, to upstream scrubbing, with the 24x7 team following a written runbook.

Get this for your company

Related services with fixed prices and a written scope.

Cloud security review

A review of one Microsoft 365, Azure, AWS or Google Cloud tenant against recognized benchmarks.

$2,800 per tenant

Show 1 more

Cloud management

We run your Microsoft 365, Azure, AWS or Google Cloud environment: access, cost, patching, backup and security settings. Priced per month for one tenant.

$1,900 per tenant, per month

After you purchase, we contact you within 1 hour, any time of day or night, to start onboarding.

No payment is taken online. When we call you within the hour we confirm the scope and send an invoice (ACH, card or crypto).

One address, three places, no outage

The same /24 is announced from three points of presence. Each user reaches the closest one. When a PoP fails its health check it withdraws the route, and BGP sends its users to the next closest PoP with no change on their side.

One address, three places, no outageThe prefix 203.0.113.0/24 is originated by AS64500 from three points of presence: Frankfurt, Ashburn and Singapore. Users in Europe, US East and Asia each reach their nearest PoP. On a loop, the Frankfurt health check fails, Frankfurt withdraws the route in BGP, and European users are carried to Ashburn, the next closest PoP. When Frankfurt recovers it announces the prefix again and European users return. Europe usersFrankfurt203.0.113.0/24US East usersAshburn203.0.113.0/24Asia usersSingapore203.0.113.0/24health okhealth failhealth okhealth ok≈ 8 ms≈ 90 ms≈ 5 ms≈ 10 msall three PoPs announce 203.0.113.0/24Frankfurt health check failsBGP withdraw: Europe reroutes to Ashburnre-announced: users returnorigin AS64500 · one /24

The shortest path is the one you peer for

Without peering, traffic crosses paid transit through several networks. Once the enterprise joins an internet exchange and peers with the content network through the route server, the same traffic takes one AS hop, at lower latency and with no transit bill.

The shortest path is the one you peer forA packet travels from an enterprise network, AS64500, to a content network, AS64510. First it follows the transit path through two upstream networks, AS64501 and AS64502. After the enterprise builds BGP sessions to an internet exchange route server, AS64511, the packet takes the exchange path across the peering LAN, 198.51.100.0/24, in one AS hop. PeeringDB-style labels show peering policy, network type, the exchange and RPKI status. EnterpriseAS64500ContentAS64510TransitAS64501UpstreamAS64502Route serverAS64511Example-IXpeering LAN 198.51.100.0/24via transit · 3 AS hops · ≈ 38 msvia IXP · 1 AS hop · ≈ 9 msBGP session upPEERINGDB-STYLE RECORDPolicy: OpenNet type: ContentIX: Example-IXRPKI ROA: valid

Detecting a dead neighbour

How long a BGP router waits before it declares a silent neighbour dead, on a log scale. Hold 180 s with keepalive 60 s is the Cisco IOS default and a common default on other vendors (RFC 4271 suggests 90 s and 30 s; some stacks use other values, so check the platform). Tuned timers of 9 s and 3 s are aggressive but valid. BFD (RFC 5880) at 3 missed packets of 50 ms detects loss in 150 ms and tells BGP to tear the session down. Detection time only: route withdrawal and FIB update come after.

Detecting a dead neighbourHorizontal bars on a log scale of failure detection time. BGP common default hold timer 180 seconds. RFC 4271 suggested 90 seconds. Tuned timers 9 seconds. BFD with 300 millisecond interval times 3 is 0.9 seconds. BFD with 50 millisecond interval times 3 is 0.15 seconds.Time to declare the neighbour down (seconds, log scale)0.1 s1 s10 s100 s1000 sBGP, common defaulthold 180 s, keepalive 60 s180 sBGP, RFC 4271 suggestionhold 90 s, keepalive 30 s90 sBGP, tuned timershold 9 s, keepalive 3 s9 sBFD, 300 ms × 3typical vendor default0.9 sBFD, 50 ms × 3fast failure detection0.15 s1,200 × fasterBFD 50 ms vs 180 s holdBars start at 0.1 s; each gridline is ten times the last. Defaults are common values, not universal.

A hijacked prefix rejected by RPKI

A rogue network announces a more-specific slice of someone else's prefix, which normally wins because longer prefixes are preferred. A transit router doing route origin validation checks the announcement against signed ROAs, marks it RPKI-invalid and never installs it, so traffic keeps flowing to the real origin.

A hijacked prefix rejected by RPKIThe origin network AS64500 announces 203.0.113.0/24 and holds a signed ROA for that prefix with maximum length 24. A rogue network, AS64510, announces the more-specific 203.0.113.0/25. The transit router in AS64501 asks an RPKI validator over the RTR protocol, RFC 8210. The validator compares the announcement with the ROA and returns invalid, as defined in RFC 6811, because the origin AS differs and the prefix is longer than the maximum length. The router rejects the route, so internet users still reach the real origin. ORIGINOrigin AS64500203.0.113.0/24ROGUERogue AS64510203.0.113.0/25TRANSITTransit AS64501ROV enabledVALIDATIONRPKI validatorRTR · RFC 8210Internettraffic to the /24valid · ROA matchinvalid · rejectedroute not installedRTReBGPeBGPROA: 203.0.113.0/24 · max length 24 · AS64500RFC 6811 origin validation

Frequently asked questions

Direct answers to the questions we hear most. Something else on your mind?

Send us a message
How is DNS kept fast and resilient?

The company announces its own address space with BIRD 2 from nine points of presence, so DNS is answered from the nearest one. It runs anycast authoritative DNS with DNSSEC and response-rate limiting, on multiple independent resolver software stacks. That addresses the earlier problem of one provider's outage taking customers offline.

How does the edge handle a flood?

XDP/eBPF filtering drops floods before they reach the kernel stack. BGP FlowSpec, RTBH communities and upstream scrubbing act as escalation tiers. In testing, a 240 Gb/s volumetric attack was absorbed with no customer-visible change.

What happens when one site fails?

The HTTPS front door uses health-checked withdrawal of a failing site's announcement, so traffic moves to other points of presence. RPKI route-origin authorizations protect the company's prefixes, and received routes are validated.

Do you know if your company is safe?

Speak with a security engineer today. The first assessment call is free and confidential.

CallFree assessment