We're back! (feddit.uk)
submitted 3 weeks ago* (last edited 3 weeks ago) by [M] to c/feddituk@feddit.uk
 

Futurama: We're back baby

Sorry about the long downtime everyone. What happened is sometime around 20:00 yesterday the instance went down. I wouldn't be able to ssh into the server until the morning, so I tried restarting the server through our hosting's web interface, but this didn't work.

When I got home I found the reason Lemmy wasn't working was because the database had suffered some corruption. Thankfully, the only lost data was 3 posts, but some data got duplicated in random tables that shouldn't be and this wasn't the easiest thing to track down.

Why did the server go down in the first place?

I don't actually know the real reason, what I suspect happened is that the frontend got taken down by the rampant scraping we've been subject to. To put it into prospective, just look at the jump in the size of our web logs:

Screenshot of compressed nginx logs from different days showing a jump from 60MB to 1.6G

These are compressed plain text, like it's unreal.

But back to the server, I think when I restarted the server to get everything back up, docker killed the database before it had shutdown properly hence the corruption.

Anyway, it's sorted now. It's going to be a bit quiet until we've caught up with the activities we've missed, so enjoy the quiet while you can.

all 29 comments

sorted by: hot top controversial new old
[–] 17 points 3 weeks ago (1 child)

Yeah, those gigabyte sized access logs is something we have seen for weeks.

Anubis has also gotten largely ineffective, and yesterday I had some time to sample some of the access log IPs and it is clear that this is a coordinated scraping attack from the Huawei ASN that additionally employs residential proxies mostly in Pakistan, Vietnam and Brazil.

I don't really have a good idea how to deal with it, but it is a complete PITA.

  • source
  • hideshow 2 child comments
  • [–] 2 points 3 weeks ago (1 child)

    Would you know why Anubis isn't as effective?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 3 weeks ago

    Anubis doesn't really do anything if the bot knows about it and doesn't send the bits Anubis looks for. There are a few other heuristics that you can enable in the Anubis config, but it is a principal issue with how Anubis works. The general idea is that if a bot doesn't send the things Anubis looks for, then it should be possible to distinguish it from regular browsers by that, but then you are back at a manual whack a mole game and given the extensive use of residential proxies these days it is very much a losing battle.

    Anubis recently added a honeypot with automatic IP logging though that might help in combination with fail2ban. But in the end if scraper bot authors are already circumventing Anubis intentionally, it is probably also only a temporary respite.

  • source
  • parent
  • [–] 15 points 3 weeks ago (1 child)
  • [–] 11 points 3 weeks ago* (1 child)

    Well done! We knew you would come through, honest!

    On the scraping.... That's crazy. Is there anything that can be done to protect things?

  • source
  • hideshow 2 child comments
  • [–] 8 points 3 weeks ago*

    Phew! I was worried for a bit.

    I notice that feddit.org use Anubis for bot mitigation. Is this something we do too?

  • source
  • [–] 7 points 3 weeks ago (1 child)

    Yikes sounds like a nightmare. I hope you managed to get some sleep!

  • source
  • hideshow 2 child comments
  • [–] 6 points 3 weeks ago

    Those logs are insane! 1.6GB compressed?! Any idea what the load/throughput was like during that time?

  • source
  • [–] 6 points 3 weeks ago (1 child)

    Thank you for your efforts to fix it!

    Just wondering, is there a backup place where things like this can be communicated? Blue sky or mastodon for example?

  • source
  • hideshow 2 child comments
  • [–] 5 points 3 weeks ago

    See this is why I hate working in the IT department, because it involves using computers, and they suck.

  • source
  • [–] 4 points 3 weeks ago*

    What's the database underneath lemmy? Is there a transactional option so that it fails safe in the event of unexpected shut down?

    Also thank you very much for fixing.

  • source
  • [–] 4 points 3 weeks ago

    Awesome work, flamingos-cant. Appreciate all you do for us.

  • source
  • [–] 4 points 3 weeks ago

    Thanks for all your hard work!

  • source
  • [–] 4 points 3 weeks ago

    Thank you for fixing it and keeping things going :)

  • source
  • [–] 3 points 3 weeks ago

    Thanks Flamingos!

  • source
  • [–] 3 points 3 weeks ago (2 children)

    Glad to see we are back. Those access logs are crazy.

    I’m sure you will fine a lot of Chrome/12X, Chrome/13X and Chrome/14X user agents there. Seems to be the favourites of attackers/scrapers recently.

    On another note, do the server has a profile somewhere like mastodon or something we could check in case it goes down in future.

    Thank you so much for the work you do!

  • source
  • hideshow 4 child comments
  • [–] [S] 4 points 3 weeks ago (1 child)

    On another note, do the server has a profile somewhere like mastodon or something we could check in case it goes down in future.

    Someone did actually reach out to my personal Mastodon account to ask what was happening.

    Like florge said, there is a Matrix space that mostly serves this function, but that does require you to have a Matrix account so isn't the best for public notices. It'd be nice to have a page (eg status.feddit.uk) where I could put messages about what's happening. I'll need to look to see if something like that exists.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 3 weeks ago

    Great job. Although I think my eyes have been widened as to how big the fediverse actually is... I found all sorts of stuff that I still don't understand, communities I didn't know existed, tools that I don't know how to use and a lot of communities that have warnings i can't get past. Along with a whole heap of other stuff that I don't know how to get into.

  • source
  • [–] 3 points 3 weeks ago

    Thanks for fixing it

  • source
  • [–] 2 points 3 weeks ago (1 child)

    Do you have anything in place for detecting and mitigating DOS attacks? I wonder if you were to grep the logs by IP address you'd see the offending IP addresses. Though if you're using a load balancer or some other kind of proxy and don't have IP address forwarding configured, all requests might come through as the same IP address.

    some data got duplicated in random tables that shouldn’t be

    I'd also check that there's plenty of disk space spare, given that the log files are so large, as I've seen environments start to behave unusually once disk space has ran out, including SSH locking up.

  • source
  • hideshow 2 child comments
  • [–] 2 points 3 weeks ago (1 child)