>>9976
Lets discuss.
I accidentally nuked all posts from January 25 - February 4th in an attempt to fight against (One) guy and his neverending pile of IPs.
This is unacceptable and I need to prevent this from happening in the future.
I am defending against IP-based attacks with IP-based defenses. The attackers have infinite IPs (Tor). If I want this to stop NOW and FOREVER, Cyberix MUST switch to identity-based defenses.
The base philosophy is that you can be anonymous WITH an account (custom display names), but you need to prove you're human ONCE.
You cannot have Tor, VPN, and Datacenter IPs posting freely on the site while bans are still IP-based. Requiring accounts is a necessary step and would be better for poster "anonymity" or "privacy" compared to allowing anonymous posts and banning all proxies.
The forum should work the same way as it does in IRC/XMPP/Mumble. You'll need a persistent identity (account), but that identity can be pseudonymous and you can change how you appear (display name) on each post.
Here's how it works:
1 - you register using a password you get from the chatrooms, yes
^ this kills the robot
getting the password requires someone to spoonfeed it to you, so the gatekeeping is done by whoever chooses to acknowledge whoever asks for the password
now we know the attacker is human. the attacker can still automate spam though, so we do this:
accounts will be discriminated against based on age in a very unique way.
They will have a limited amount of posts they can make per five hours. for a regular user who isn't online 24/7 this limitation shouldn't be a problem, and it also helps kill off double/triple/quadruple-posting in threads by forcing users to consolidate all of their points into one singular post instead of posting separately for no good reason
This number will be visible to the end-user.
This number increases as the account naturally ages and the account makes posts. If the account remains dormant, it will not be given new posts in order to prevent spammers from prepping waves of accounts to spam with later
In code, I imagine I could just implement this as a simple mathematical calculation that applies this in the form of a reputation/trust score tag
If the account goes over the post limit, their post will not go through and they will be warned that if they continue, the number of posts they can make will begin decreasing. Spambots will end up neutralizing themselves if they aren't aware of the amount of posts they have remaining.
If I wanted to be brutal, I could implement an automatic ban that occurs the moment the account reaches the minimum possible limit.
If a human spammer wanted to spam, they would have to:
1 - Join a chatroom
2 - Coerce someone into giving up the registration password
3 - Contribute to the forum over a long period of time before spamming and getting themselves banned (nobody does this), or send a measily 3-4 posts before hitting the post limit and getting banned
However, this system falls apart whenever a group of human spammers are involved
1 - Already have the password
2 - Across as many IP addresses as they want, register new accounts manually
^ 3-4 post limit for new fresh accounts in this scenario
3 - Spam the forum with these new accounts, recycling them whenever a post limit is reached
4 - Repeat for lulz
Potential ways to combat this?
>how about a parent and child accounts
>users can generate a password to give as a one time invite, if one turns out spammer the parent account is held responsible and both are banned and all accounts they invited
Effectively serves the same role a global Cyberix password that only chatroom users know. Not bad!
Password is one-time unique instead of static, making it incredibly hard to coordinate group raids on Cyberix without a network of accounts
^ Constant raids become impossible if accounts are prevented from generating codes until their internal reputation reaches a certain point (equivalent to 5-10 post limit?)
^ Password generation has a ratelimit, maybe five per hour. Curbs facilitation of malicious invite codes overnight
^ Spam account networks can be nuked all at once the moment they're discovered, making cleanup trivial
okay, here's a summary:
1 - Accounts required to post. Accounts need an invite code. Join the chatrooms and get aquainted. Someone will give you an invite if they think you're a good fit for the forum.
^ Consider: Anonymous, account-free posting under a manual quarantine?
2 - Internally, accounts have a simple reputation number. This number will determine the amount of posts an account may send per hour, and will determine whether or not the account is permitted to generate invite codes. If the account attempts to exceed their post limit, their reputation will decrease. Reaching the minimum possible reputation will result in a ban.
^ Consider: Attackers may be able to compromise accounts and intentionally get them banned. Do we need a protocol for this?
^ Might not be a problem, but "Just unban me bro" would require implementing a feature in the moderation panel that allows moderators to tinker with an account's internal reputation level which conflicts with how I plan on implementing it (in a loop that occasionally calculates it for all accounts that runs in the background, incredibly simple)
3 - Invite code system just like a private tracker. Incredibly simple and streamlines moderation.
^ Consider: Compromised or rogue accounts. Need to avoid banning half the forum if a core parent account gets banned or an account that happens to be part of a tree connected to the core parent account gets banned
There's one thing I haven't accounted for though:
For the past few months, the majority of Cyberix's activity has come from anonymous posts. If we take this away, would we effectively be killing off the entire site?
The site has 930024 unique visitors and 1781414 total hits. There are definitely lots of individuals who keep coming back to the site and probably posting as well. What are the implications?