-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Administration tools #277
Comments
Re: initial set. The things I have listed are the following:
Re: implementation. I think this should be implemented as a command that runs on the server (at least for now, we can revisit this in the future) |
This is an excellent list, thank you @sofiaritz! I've updated the items in the description, but let me know if I missed any details. Three items I didn't add yet because I'd like to understand them better:
Makes sense on implementation. I keep hoping there will be some other project that provides a Django Admin-like administrative tool, but I can't find one. It's wild to me that we have to come up with this stuff for ourselves, and I'd love to find a way to avoid it :). |
I have in mind a case where an attacker has obtained access to something like the fernet key and a backup instance is started on another server while forensic analysis is going on. In that case the ayb instance is secure (the compromised box is turned off/being analyzed, but a backup one has been created using backup data), but all tokens are compromised (the attacker has access to the fernet key).
I forgot to write down the reason for this and I can't think of anything, you can remove it :p
In the case of something like illegal activities, the safest thing to do from a legal standpoint is to immediately disable access from all possible bad actors and then start investigating who really should have their account disabled. |
That's right. As soon as you change the fernet key, any data (registration tokens) signed with the old ones will be "revoked" in the sense that they will not be accepted anymore. Since the fernet key is set in For API tokens, we only store part of the token and a hash of the part we don't have in the DB, so even if one key is compromised, or if the DB itself is compromised, there shouldn't need to be any wholesale revocation. I'm not a security expert, so definitely poke holes in this! :)
No pushback on the real-life action to take, I was more thinking it's not many steps to list collaborators and call the "Disable account" admin command on each. Since it wasn't many steps, I didn't want to add complexity to the implementation and have two different ways to disable accounts. I don't feel too strongly, and would be happy to look at the more complex implementation as well :). |
@sofiaritz pointed out that it would be helpful to provide administration tools for common administrative use cases. I agree, and am sorting some thoughts out here.
ayb admin [revoke_token|disable_account|...]
, which you run on the primary server? (Pro: limits attack surface, Con: no exposed API)The text was updated successfully, but these errors were encountered: