Cases2 cases
1 to 2 of 2
IL-0509SourceHut was down for 170 hours after a DDoS led its upstream network to null-route the PHL datacenter's subnetSourceHut2024- Symptoms
At about 06:00 UTC on 10 January 2024, SourceHut's monitoring raised the alarm as a layer 3 DDoS attack hit its infrastructure in the PHL datacenter, and at about 09:00 UTC SourceHut lost all access to its PHL network. PHL was the primary datacenter, and the network became unreachable for SourceHut staff and the general public alike.
- Trigger
A layer 3 DDoS attack against SourceHut's PHL infrastructure that began at about 06:00 UTC on 10 January 2024 and broadened to more of the PHL subnet on 11 January.
- Root cause
- Component
- Contributing factor
- Detection
SourceHut's monitoring systems noticed that something was wrong and raised the alarm from about 06:00 UTC on 10 January.
- Remediation
- Got Cogent, through the colocation provider, to narrow the null route from the /24 to the targeted /32, which mostly restored service on 10 January
- Moved DNS to an external DNS provider
- Brought up a new primary database in AMS
- Restored backups from FRE to AMS
- Applied the difference between production data and the last backups by hand
- Provisioned a new mail system and configured the mail services for it
- Set up an OVH box that NATs traffic through OVH's DDoS-resistant network to the production subnet in AMS
- Used a temporary subnet from the PHL network provider for out-of-band access to the PHL servers
- Served pages.sr.ht through an out-of-band link to PHL while its object storage was migrated
- Emailed pages.sr.ht users whose apex records pointed at the PHL subnet with instructions
- Ran build workers on dedicated bare-metal OVH servers
- Action items
- Provision a new standby database
- Configure backups from AMS to FRE
- Install a new monitoring system
- Retire the PHL datacenter installation and ship its servers to AMS
- Move build service back onto SourceHut-operated servers once the build servers are shipped from PHL to AMS
- Research and implement a way to run SourceHut in an on-premise Kubernetes cluster
- Plan a second production-ready datacenter to load balance against, able to take over full service in a datacenter outage
- Lessons
The operational plans SourceHut kept for failures up to the loss of a whole datacenter proved important in this incident. The incident exposed a known shortcoming in redundancy and resilience that the team was working on but had not finished, and the response of the upstream network to the attack did more damage than anything else.
IL-0258FastMail was unreachable for almost two hours when the GRE tunnels carrying its traffic from Level 3 went downFastmail2016- Symptoms
At 4.50am Melbourne time on Sunday 7 February (evening of 6 February UTC), FastMail became unavailable and stayed unreachable for almost two hours. Traffic to FastMail's public IP range never made it into FastMail's own network.
- Trigger
The GRE tunnels between Level 3 and NYI, which carried FastMail's filtered traffic into its network, went down.
- Root cause
- Component
- Contributing factor
- Detection
NYI, the datacentre provider, noticed the failure quickly.
- Remediation
- NYI escalated with Level 3's support until FastMail's public IP ranges were pointed back to NYI
- Action items
- Go back to DDoS protection from Black Lotus under NYI's explicit control
- Build nginx frontends in the Los Angeles datacentre that reach NYI over the secondary network, and point DNS to them if NYI's primary network fails
- Add hardware in Amsterdam and change the delivery system so it depends less on NYI
- Work with NYI to understand its processes for detecting and responding to network faults
- Lessons
Much of FastMail's and NYI's reliability had come from NYI controlling its own infrastructure. With protection always on at Level 3, NYI could not restore the routes itself, and FastMail calls the resulting delay in restoring service unacceptable.
These 2 cases involve BGP routing and DDoS protection service. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.
By root cause1
Dependency failure2 cases
- Contributing factor
- Organisation