@SGR
Totally agree on the Alexa rank stuff being kinda whack. Before we upgraded to version 3 of the site it looked like Alexa even counted chapter reads into our ranking or something equally fruity. Once v3 came out with the current API our rank slowly went down to where it actually should be. Then actual growth started to raise it again around the new year.
There's actually quite a lot of stuff related to the various DDoS attempts, sadly it wasn't just one thing that was being targetted. While we have made certain stuff public, I don't believe we have ever actually covered it all in one place. So I'll try cover as much as I can remember, cos I'm sure a few people will find it interesting.
Phase 1: The initial DDoS attempts (successful attempts for the most part) hit us like a truck and caused a fair bit of downtime and wtf spam on Discord.
Remedy wise:
1. Path.net helped us filter out loads of bad IPs that were hitting the site.
2. Reported scores of AWS IPs to Amazon that were hitting the site at unreal rates.
3. Fixed an issue with some certain IPs abusing the database in a certain way.
4. Something else I'm forgetting but will add if i remember what it was.
Phase 2: After that they/or someone else switched to targetting the database server via the search function. This resulted in a lot of 502s.
Remedy wise:
1. Disabled search for guests so they had to actually make accounts and put in some effort if they wanted to keep going - which apparently they did, cos they came right back after this change.
2. Banned even more IPs and I reported more - this time to Azure.
3. We upgraded the DB infrastructure to be able to handle much, much higher amounts of traffic and to be able to cope with literally millions of extra requests per hour. Since we upgraded our database infrastructure it has resisted all attempts. We still need to upgrade some other stuff before we are totally caught up with trying to fully mitigate such attacks, but the current round of upgrades are coping with the almost daily attempts. We've had a few hiccups with slaves falling out of sync and had to update the code and config as we go, but it is pretty stable right now.
Phase 3: Flooding site with requests, and users via botnets... and more search spam attempts. Yeah, they went back to this after the DB started to be able to handle the spam.
Remedy wise:
1. Banned more dodgy accounts for their search spam.
2. Upgraded our banning rate limits to stop a lot of abuse on the servers.
3. Banned the use of over 20,000 fake emails (and counting) to make spam accounts more effort to make and slow down search spam attempts.
I might be forgetting a few things, but that is as much as I can recall at the moment.
Here's some graphs from various attempts since we upgraded our infrastructure. Wish I'd kept more copies but I can only find the examples I linked on Discord.
The size of the botnet of users hitting the site has increased on sequential attempts. We have seen spikes starting off at 25k extra "users" after our upgrade with more in each attempt. Current attempts are peaking at over 50k extra "users" for a couple of hours at a time. Definitely hostile though, as our analytics show no extra peaks on chapter hits during those times.
And here's the other end of the scale. Certain new accounts spamming literally into the millions of extra requests at various times before we catch them and shut them down.
It's a big old game of whack-a-mole, and we are catching up slowly thanks to the upgrades. More improvements are coming so hopefully good things on the horizon. Once we complete the next round of upgrades and implement the new elastic search we will be able to open search back up to guests and it will be back to business as normal.
Hopefully someone will find this interesting so I don't feel like I wasted my time compiling it!