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

Supporting ability to support --ip-isolate option #79

Open
chu11 opened this issue Jul 12, 2018 · 1 comment
Open

Supporting ability to support --ip-isolate option #79

chu11 opened this issue Jul 12, 2018 · 1 comment

Comments

@chu11
Copy link
Member

chu11 commented Jul 12, 2018

Documenting issue per discussion this morning. I think this crosses multiple flux projects, but I'll start here per discussion this morning.

With Slurm on several clusters, there is a special --ip-isolate option. The option sets up ip tables rules so that only nodes within the allocation can communicate with each other, nodes outside of the allocation cannot (with a few exceptions, such as reserved ports so people can ssh in). This is to protect user jobs when users run software that open up additional insecure services.

For example, software like Hadoop, Spark, and Tensorflow launch additional services on ports which any user on the system can get access to if they are not secured in some manner. It ranges from web interfaces to get information about a program that is running to schedulers which non-job owners could submit jobs to.

I believe that --ip-isolate is done via a job prolog which sets up the ip tables rules for that job and an epilog that tears it down at the end. In addition, a plugin generates an environment variable to inform user software that the feature has been enabled and setup (i.e. if it's not setup, bail b/c you don't want to run in an insecure manner). The ip tables rules setup would have to be run via root.

So the script itself to support --ip-tables is outside of flux scope, but to support this we'll need:

  • job prolog/epilog support
  • ability for prolog/epilog to run as root
  • module/plugin support to generate the environment variable
  • module/plugin for an optional --ip-isolate option for "flux job submit" (I suppose this part would be in flux-core)
@chu11 chu11 changed the title Supporting --ip-isolate option Supporting ability to support --ip-isolate option Jul 12, 2018
@grondo
Copy link
Contributor

grondo commented Jul 12, 2018

Yeah, this is a good use case for generic extensions provided by system-level extensions to the IMP.

The requirements here are already detailed in the IMP RFC.

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

No branches or pull requests

2 participants