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
Unsufficient check in credentials.pm #7246
Comments
|
Workaround for xCAT-server/lib/xcat/plugins/credentials.pm from my side instead of |
|
By the way: The argument in the description of the function enableSSHbetweennodes in the file [https://github.com/xcat2/xcat-core/tree/master/perl-xCAT/xCAT/Zone.pm] is nodename and not zonename =head3 enableSSHbetweennodes |
|
BTW, I would be interested on your feedback on the confluent ssh design. In confluent, no user private keys for root or any other user are ever shared. Same for private host keys, nodes generate their own. Instead, confluent grants host certificates, sets up host based authentication based on the host certificates, and uses shosts.equiv to implement a variant of 'zones' (in confluent, it's "trustnodes", meaning that you can have asymettric zoning where, for example, the compute could trust the storage without storage trusting the compute). Further, it implements a context aware where once a node security token is granted, it locks down the interface so that it can't be used, and getting ssh certs requires the initial token. |
|
Oh, and you may want to make this a pull request, it seems straightforward enough to me. |
|
thanks for the fast reply. If you can make a pull request it would be fine (otherwise I have to fill out the papers). Attached is the latest version of my patch for credetials.pm (I've improved the check when the zone is empty) in a zip file.
have a nice weekend,
|
|
Here the latest release of the changes: |
|
Regarding confluent: I didn't dig in the code of confluent. Sorry. |
|
Ok, my attempt of incorporating changes as a pull request: Broadly speaking, at least for my part I'm working towards a broadly more hardened design in confluent for these features, and if there is interest in discussion of those security design points, let me know. I hope it is found to be a broadly more secure approach. |
|
This issue is fixed in xCAT 2.16.5. |
Hi,
I recognize that one can request the ssh_root_key's of every zone from every client independently of its zone affiliation by a simple script using getcredentials.awk and allowcred.awk. This is a security issue if you use multiple zones with sshbetweenodes=no to avoid a privilege escalation to other nodes.
It seems that in credentials.pm of the xcatd following checks are missing:
If a ssh_root_key was requested check
best
The text was updated successfully, but these errors were encountered: