Skip to content
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

Security/Production Readiness #64

Closed
Immortalin opened this issue Jul 14, 2018 · 5 comments
Closed

Security/Production Readiness #64

Immortalin opened this issue Jul 14, 2018 · 5 comments
Labels

Comments

@Immortalin
Copy link

Immortalin commented Jul 14, 2018

Hi! Thanks so much for building this, I have been looking for something like this for a long time. Is this production ready? E.g. if I let students (assuming hostile users) SSH into various servers hosting Jupyter notebooks, is there any possibility that the bastion server may be compromised etc.? If it get compromised, is there any risk for other users to be MITMed?

@moul
Copy link
Owner

moul commented Jul 19, 2018

Hi,

There are two distinct parts in the sshportal flow:

  1. applying logic to verify, configure and open a connection to the real remote
  2. when the connection is established and the user interacts with the target host

The part 1. is entirely in-house, it tries to stay simple, and for now, I didn't have any security feedback (I know people using it in production and security people using it); please contact me / open an issue, if you find weaknesses in this part

The part 2. is very simple; it's like a proxy that forwards everything through the secure ssh connections; even if nothing can be considered as 100% secure, I'm confident that this step is "production ready".


The most important thing to check in my opinion is the server that will run sshportal, because sshportal uses a database and local files for logs; even in read-only, these files contain sensitive information that an attacker should never see

@moul moul added the question label Jul 19, 2018
@Immortalin
Copy link
Author

@moul thanks for your comprehensive reply! I am using it as bastion for Kubernetes cluster, and after students sign up, the web front end will automatically provision a server and create an account through the bastion, is this a correct use case?

@moul
Copy link
Owner

moul commented Jul 19, 2018

Yes, definitely, I'm also using it in equivalent workflows

@kreanda
Copy link

kreanda commented Jul 19, 2018

We use patched version to implement single access for our developers to hundreds of client hosting servers. Besides interactive ssh sessions, we implemented non interactive automatic mounting of remote filesystems using afuse, sshfs and samba. There are some glitches (connection timeouts — solved with a patch, and we have to disable logs with nullfs), but in general it is very useful lighweight tool with well designed UX. Works pretty stable (knock on wood). Great work!

@Immortalin
Copy link
Author

Immortalin commented Jul 19, 2018

@kreanda any plans to send a pull? :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants