-
Notifications
You must be signed in to change notification settings - Fork 2
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
protocol for granting ssh access to node whisperers #20
Comments
@paidforby thank you for bringing this up. About answering/giving my opinion about: "How do we make sure end-users are aware of the fact that we have developer access?" I believe we should be at front about this with all node-runners. Telling them would freak out some folks, but at the same time may also tell them that we are not hiding it from them. Ideally, at the time of the node-install/config node-runners could choose between choosing a box that says "Provide Automatic Access to PON-Developers (recommended)" or "Provide Manual Access to PON-Developers". Also, I feel that node-runners would feel better y they could have access to a page where they can see the times and reasons why PON Developers connected to their nodes. My 2 cents. |
@wwwhtml true it would scare/confuse some people, but it's important that they understand how things are working and educate themselves on security best practices. I'd like to see a lot of the education and information to (eventually) be presented through a "register your node" web portal. Some ideas for this,
Ideally, nodes would fetch updates from a patch server (or from other nodes?) instead of having them pushed from the exit node. But until we have a method for doing that, pushing patches works. Anyway, this sort of registration process seems like a good time to educate node operators about the mesh, it's risks, rewards, and possibilities. |
During the install at Doug's, I tried communicating the option to allow/disallow remote access. His response was something like, "Why would I want / not want to allow you to have ssh access to my node?" He was wondering what it really means that we have access--i.e. what can we screw up? I didn't really know how to answer this question. My takeaway was, when we communicate this option, it'll be important to communicate what the ramifications of each choice are. E.g. what is a best/worst-case scenario if one of our admins goes rogue and wants to do unethical things. And what is a best/worst-case scenario if we are unable to log in to perform remote patches.
I think we want a program for sharing knowledge and learning together about how the mesh hardware / firmware / software works and how to debug it--in my mind, this is the Node Whisperer Program. I think we also want a process for granting people dev access to nodes so that they can push updates. I think this is something more in-depth. Maybe Node Whisperer++. Probably should require some demonstrated amount of time devoted to the project. I would think these would need to be really trusted individuals.
Mmmm, yeah. Would be cool if the admin panel of the node could render a list of notes left by node admins. @paidforby I like what you've outlined for the web portal. Seems very clear and transparent to me.
Do we currently have an exit form, or something we give people after an install that highlights what worked, what didn't, what to expect? Maybe this would be an appropriate place to include copy about how to access the admin panel, and how security works. |
Just to add my 2 cents - while I appreciate the idea to educate folks on how mesh nodes work, I don't think it should be a justification for adding overly complex configuration. I would hope that default settings are sufficient to get things working and allow for keep nodes up-to-date. Also, I would advocate for assuming good intentions. The idea of a "rogue operator" sounds more like a sensational headline than a likely scenario to me. Wishing I could join for a lively discussion on this later today in person, but unfortunately, I am unable to attend to Tue meeting. |
Yeah. I think I just want to be able to answer the question: "Why would I not want you to have access to my node?" Am open to w/e ideas about how to start the conversation. |
If you don't trust PON to maintain the network, folks are free to start their own. It just takes a bunch of work to keep things running. |
And PON would be willing to do an install for someone to start their own network? |
I'd say that is up to volunteers and personal relationships. I'd totally help you setup your Benny's Open Network. |
Also, I think that setting up your own PON network is part of a node whisperer introduction, so it'd be happing a bunch anyway, 'cause we're hoping to get more and more folks whispering . |
Anyways, probably best to be discussed in person, which I can do in a week. Please don't wait for me though ; ) |
I feel pretty strongly that we can do better than giving SSH access to every node-whisperer. I don't want SSH access. If that's what it is, I don't want it. It makes me a more attractive attack target, and increasingly so as the network becomes more valuable. I will caveat the following: I will describe an envisioned future state, but acknowledge the need for intermediate milestones and SSH access for the immediate future. I think the opposite of the above is a more ethical setup for stewards of a network whose users sometimes don't know any better: no ssh:
|
@gobengo some comments / thoughts -
I like the idea of mitigating risks of a network being hacked, a consensus decision model (not just 2/3 vote) and balancing that with the speediness of getting patches out. In addition to that, I am also interested in figuring out where we are today and getting a little closer to where we want to go tomorrow in a somewhat incremental way. Again, this is probably best discussed in person. |
I can't think of any better interim solution than where we're at with SSHability.
Yes, but it seems harder to attack a group than any one of separate individuals.
2.1. Packages should be signed and updating node should verify integrity and authenticity (e.g. by requiring sigs of several hard-to-compromise-at-once keys) |
The stakes of this are high enough for the sudomesh legal entity that it is probably worth spending <= $1000 on an embedded linux / security firm to make a formal recommendation. At the very least I will continue to find existing publications and best practices docs that the group can point to as 'best practices' we did diligence on and followed. |
I guess I thought of one, but doesn't require much creativity: Start a bounty to incentivize getting it done sooner (and deployed). Or, ofc, hire an expert to make it their top priority. |
Currently, there is only one active member who is capable of pushing out patches to nodes on the people's open network, along with two formerly active members. This information is publicly available (but somewhat buried) here. I'd like to open a discussion on whether we should have this access, who should have it, and when do we use it. Is there a formal procedure for adding developer keys to nodes? How do we make sure end-users are aware of the fact that we have developer access?
Should completing the Node Whisperer Program grant you developer access to all nodes? Some nodes? What about exit nodes and extender nodes?
I'm interested in hearing what people think. I'd also, at least, like to create a standard patch to remove the two formerly active members from
authorized_keys
.The text was updated successfully, but these errors were encountered: