this post was submitted on 10 Nov 2024
84 points (98.8% liked)

Selfhosted

40382 readers
373 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

If you think this post would be better suited in a different community, please let me know.


Topics could include (this list is not intending to be exhaustive — if you think something is relevant, then please don't hesitate to share it):

  • Moderation
  • Handling of illegal content
  • Server structure (system requirements, configs, layouts, etc.)
  • Community transparency/communication
  • Server maintenance (updates, scaling, etc.)

Cross-posts

  1. https://sh.itjust.works/post/27913098
you are viewing a single comment's thread
view the rest of the comments
[–] Dave@lemmy.nz 4 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

The spam is not from bots, it's people being paid to spam. Captchas absolutely need to be turned on or else you get bots as well, but they don't stop the spam.

[–] Kalcifer@sh.itjust.works 4 points 2 weeks ago (1 children)

The spam is not from bots, it's people being paid to spam.

Do you know any specific/official organizations that do this, and/or examples where it's occured on Lemmy?

[–] Dave@lemmy.nz 3 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Its pretty random outside the Russian misinformation sites (which I haven't seen in a while, but they probably got better at hiding).

Its hard to give you a link because mods or admins remove the posts or ban the accounts pretty quick most of the time. But there is a new spam account at least every day (I can think of at least two today. Edit: 4). They come in waves so sometimes there are a whole bunch.

That's probably another thing you need to know. I'm on Lemmy.nz, you're on sh.it.works. If some new spam account signs up on Lemmy.world and posts to lemm.ee, then if it's removed by an admin on your instance it is only removed for people on your instance. Everyone else still sees it as your instance is not hosting either the community or the user so it can't federate our anything to deal with it. The lemm.ee instance could remove the post or comment with the spam in a way that federates out to other instances, but can't ban the user except for on their instance. Only the Lemmy.world instance can ban the user in a way that federates out to other instances. This is something you'll get a better understanding of over time.

Lemmy.world has a lot if help so they don't have issues, but often the spam will come from obscure instances while the admin is asleep and there is no backup, so every other instance has to remove the spam for their own instance. Then you have to work out how to mitigate that for your own instance when you are asleep. Most admins are pretty understanding that this is a hobby and don't expect everyone to be immediately available, but if you have open registrations then you are likely to be targeted more and need a better plan.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

If some new spam account signs up on Lemmy.world and posts to lemm.ee, then if it's removed by an admin on your instance it is only removed for people on your instance. Everyone else still sees it as your instance is not hosting either the community or the user so it can't federate our anything to deal with it. The lemm.ee instance could remove the post or comment with the spam in a way that federates out to other instances, but can't ban the user except for on their instance. Only the Lemmy.world instance can ban the user in a way that federates out to other instances.

This make me think that we should maintain a community curated blocklist in, for example, a Git repository. It could be a list of usernames, and/or a list of instances that are known to be spam that gets updated as new accounts and instances are discovered. Then any instance owner can simply pull the most current version of the blocklist (this could even be done automatically). Once the originating instance blocks the malicious account, they can be removed from the list. This also gives those who have been blocked a centralized method to appeal the block (eg open an issue to create an appeal).

I would honestly have expected something like this to already exist. I think it's partly the purpose of Fediseer, but I'm not completely sure.

[–] Dave@lemmy.nz 2 points 2 weeks ago (5 children)

This make me think that we should maintain a community curated blocklist in, for example, a Git repository.

There would be a few problems I can think of with this approach. The first one is who controls it? Whoever that is, you haven't solved the issue because now instead of only the instance with the user being able to federate the ban now only the maintainer of the git repo can update the ban list.

If you have many people able to update the repo, then the issue becomes a question of how do you trust all these people to never, ever, ever get it wrong? If you ban a user and opt to remove all their content (which you should, with spam), then if you are automating this you end up with the issue of if anyone screws up then how do you get someone's account unbanned on all those instances? How do you get all their content restored, which is a separate thing and Lemmy currently provides no good way to do this. How do you ensure there are no malicious people with control of the repo but also have enough instances involved to make it worthwhile?

There is a chat room where instance admins share details of spam accounts, and it's about the best we have for Lemmy at the moment (it works quite well, really, because everyone can be instantly notified but also make their own decisions about who to ban or if something is spam or allowed on their instance - because it's pretty common that things are not black and white).

I would honestly have expected something like this to already exist. I think it’s partly the purpose of Fediseer, but I’m not completely sure.

Fediseer has a similar purpose but it's a little different. So far we have been talking about spam accounts set up on various instances, and the time it takes for those mods and admins to remove the spam. But what happens if instead of someone setting up a spam account on an existing instance, they instead create their own instance purely for spamming other instances?

Fediseer provides a web of trust. An instance receives a guarantee from another instance. That instance then guarantees another instance. It creates a web of trust starting from some known good instances. Then if you wish you can choose to have your lemmy instance only federate with instances that have been guaranteed by another instance. Spam instances can't guarantee each other, because they need an instance that is already part of the web to guarantee them, and instances won't do that because they risk their own place in the web if they falsely guarantee another instances (say, if one instance keeps guaranteeing new instances that turn out to be spam, they will quickly lose their own guarantee).

Fediseer actually goes further than this, allowing instances to endorse or censure other instances and you can set up your instance to only federate with instances that haven't been censured or defederate from instances that others have censured for specific reasons (e.g. "hate speech", "racism", etc).

It's quite a cool tool but doesn't help the original discussion issue of spam accounts being set up on legitimate instances.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago (1 children)

Fediseer provides a web of trust. An instance receives a guarantee from another instance. That instance then guarantees another instance. It creates a web of trust starting from some known good instances. Then if you wish you can choose to have your lemmy instance only federate with instances that have been guaranteed by another instance. Spam instances can’t guarantee each other, because they need an instance that is already part of the web to guarantee them, and instances won’t do that because they risk their own place in the web if they falsely guarantee another instances (say, if one instance keeps guaranteeing new instances that turn out to be spam, they will quickly lose their own guarantee).

How would one get a new instance approved by Fediseer?

[–] Dave@lemmy.nz 2 points 2 weeks ago* (last edited 2 weeks ago)

First, don't stress over it. Most instances are not strict on only federating with guaranteed instances. Most do not auto-sync with Fediseer at all, and the ones that do are more likely to only be syncing censures (when other instances are reporting the instance as problematic).

To get guaranteed on Fediseer, you need another instance to guarantee you. If you start your instance, hang out in the spam defense chat, and are generally sensible with your instance, then you'll find someone willing to do it no problem. Guarantees are not a huge risk to an instance since they can also be revoked at any time. If someone guarantees you then you start being a dick, they can just remove your guarantee. So it's not a big decision, people wil be happy to guarantee someone who seems reasonable.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago (1 children)

If you ban a user [...], then if you are automating this you end up with the issue of if anyone screws up then how do you get someone’s account unbanned on all those instances?

The idea would be that if they are automatically banned, then the removal of the user from the list would then cause them to be automatically unbanned. That being said, you did also state:

If you ban a user and opt to remove all their content (which you should, with spam)

How do you get all their content restored

To which I say that I hadn't considered that the content would be deleted 😜. I was assuming that the user would only be blocked, but their content would still be physically on the server — it would just be effectively invisible.

[–] Dave@lemmy.nz 2 points 2 weeks ago (1 children)

Technically it is still there. However, when a user is banned, you can also choose to remove their content. You could choose not to, but then what's the point in automatically banning a spam account if you have to go and remove the spam posts yourself.

If you choose to remove them all, and you accidentally hit a real user, you'll remove all their posts and comments. Lemmy doesn't provide an easy way to restore the content. And although there are automated solutions, you come to the next problem of knowing which posts to restore. Many posts were removed by mods of communities, many were removed by the user themselves. You don't want to restore those items, instead you need to remember which you removed and restore only those ones - this is different functionality to Lemmy's option to remove all their content.

This actually exists in some form, there is an AutoMod that keeps a log of removed content for banned users and allows a restore of that content. So it's a solved problem, just would need a similar solution to be built for a ban list.

One thing you'll learn quickly is that Lemmy is version 0 for a reason.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago

One thing you’ll learn quickly is that Lemmy is version 0 for a reason.

Fair warning 😆

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago (1 children)

The first one is who controls it?

Ideally, nobody. Anyone could make their own blocklist, and one could choose to pull from any of them.

[–] Dave@lemmy.nz 2 points 2 weeks ago (1 children)

I would like functionality similar to this. One problem with a big list is that different instances have different ideas over what is acceptable. I'd love to "subscribe" to, say, Lemmy.world's bans and then anyone they ban would get banned on my instance as well. Of course this makes a bigger mess to clean up when someone gets banned by mistake.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago

One problem with a big list is that different instances have different ideas over what is acceptable.

Yeah, that would be where being able to choose from any number of lists, or to freely create one comes in handy.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago

how do you trust all these people to never, ever, ever get it wrong?

The naively simple idea was that the banned user could open an appeal to get their name removed from the blocklist. Also, keep in mind that the community's trust in the blocklist is predicated on the blocklist being accurate.

[–] Kalcifer@sh.itjust.works 2 points 2 weeks ago

There is a chat room where instance admins share details of spam accounts, and it’s about the best we have for Lemmy at the moment (it works quite well, really, because everyone can be instantly notified but also make their own decisions about who to ban or if something is spam or allowed on their instance - because it’s pretty common that things are not black and white).

Yeah I think I'm more on the side of this, now. The chat is a decent, and workable solution. It's definitely a lot more hands-on/manual, but I think it's a solid middle ground solution, for the time being.