JPPF, java, parallel computing, distributed computing, grid computing, parallel, distributed, cluster, grid, cloud, open source, android, .net
JPPF

The open source
grid computing
solution

 Home   About   Features   Download   Documentation   On Github   Forums 
June 04, 2023, 09:31:06 AM *
Welcome,
Please login or register.

Login with username, password and session length
Advanced search  
News: New users, please read this message. Thank you!
  Home Help Search Login Register  
Pages: [1]   Go Down

Author Topic: Stability and Security  (Read 4355 times)

kpturvey

  • Guest
Stability and Security
« on: July 07, 2006, 07:08:55 AM »

I'm looking for a way to use the idle time on numerous computers around campus to provide us with extra CPU time to work on computationally difficult genetic algorithms problems.  I't appreciate any comments from the forum on how good a fith this is.  

Here's the basic plan:

1) Get the system installed on 5 linux boxes (total including any servers).  Make sure we understand how it all works. Look for security problems.  Look for things that will cause administrative headaches for people that are not us.  

2) If all goes well we would probably want to expand the deployment to a single computer laboritory of maybe 50 computers (some Windows, Some Macs, Some Unix).  When this happens we really need to feel safe when it comes to security.  

a) Our code should not be able to have an impact on the running node at all.  No connections out, no connections in, no evironment, no disk (maybe some for storing temp files, to be erased when we leave).  Basically it should be like running an applet.  

b) Our system should not allow an intruder to run arbitrary code on the grid (servers or nodes).   It doesn't really matter how this is handled.  If it can be handled by saying that only someone with an account on the server can run something on the node, this level of security would be fine.  

c) Since these computers are shared among students we can't by tying them up all the time with crashes or denying them access in any other way.  We also aren't able to go and muck about in these systems without interference by people whose time we shouldn't waste.  

3) Lastly we might like to deploy a later version of the product campus wide.  Everything I posted above is still important, but security becomes a much more complex issue due to the number of possible users.  In addition, the ability to administrate the grid becomes much more important.  


Is this implemtation good enough for step 1 I listed above?  Will it be ready for step 2 in some reasonable timeframe?
Logged

lolo

  • Administrator
  • JPPF Council Member
  • *****
  • Posts: 2272
    • JPPF Web site
Stability and Security
« Reply #1 on: July 07, 2006, 02:25:18 PM »

Hi Kenneth,

Quote from: "kpturvey"
1) Get the system installed on 5 linux boxes (total including any servers). Make sure we understand how it all works. Look for security problems. Look for things that will cause administrative headaches for people that are not us.

I don't foresee much trouble in this configuration. Could you give more details as to your administrative requirements?

Quote from: "kpturvey"
a) Our code should not be able to have an impact on the running node at all. No connections out, no connections in, no evironment, no disk (maybe some for storing temp files, to be erased when we leave). Basically it should be like running an applet.

The node security model is similar to that of an Applet, with a few signifcant differences.
Some permissions have to be granted for the node to function properly:
- socket connections to the server (such as defined in the node configuration, for single host and single port at a time)
- classloader creation so that your client code can be loaded
- reading some system properties (JPPF and Log4j config)
- thread modification for the node's execution engine
These permissions are the only ones granted by default, since they are vital to the node.
You can grant additional permissions in the node's security policy file, for instance to allow writing/reading/deleting files in a user-specific temp directory only.
Deletion of temporary files on task exit will require some constraints on the code to create them. We can provide an API to make it easier for you, but there will be at least one API call involved as a first step to using the file.

Quote from: "kpturvey"
b) Our system should not allow an intruder to run arbitrary code on the grid (servers or nodes). It doesn't really matter how this is handled. If it can be handled by saying that only someone with an account on the server can run something on the node, this level of security would be fine.

This is currently missing in JPPF, and our main focus as well. It is likely that no major feature will be added to the framework before we come up with a reliable security model, including user authentication and management, and permission management at the server level (i.e. can this user submit tasks to this server, etc.)

Quote from: "kpturvey"
c) Since these computers are shared among students we can't by tying them up all the time with crashes or denying them access in any other way. We also aren't able to go and muck about in these systems without interference by people whose time we shouldn't waste.

That's a reasonable assumption. I believe the combination of screensaver-based node and node auto-update gives a good start at it - provided we deliver an X / Mac version of the screensaver, of course  :D

Quote from: "kpturvey"
3) Lastly we might like to deploy a later version of the product campus wide. Everything I posted above is still important, but security becomes a much more complex issue due to the number of possible users. In addition, the ability to administrate the grid becomes much more important.

It is important for us to know more about your requirements for nodes management. The reason is that our ambition is make JPPF scalable to a very large number of nodes (thousands, millions of nodes). While this emphasizes the necessity of a bullet-proof security model, it also raises questions as to the feasibility of atomic node management. I'd love to hear your feedback on this.

So, to conclude: yes JPPF is ready for 1), and we are ready to support you if you decide to go ahead with this effort.
For 2) and 3), we cannot commit to a delivery date, given the structure of the team and of the project. We are all software development professionals, but JPPF is not our day job - even though it is my dream that it will be one day.
However, we are commited to support our users, and that includes having you help us steer the project vision in the right direction, just as you are doing in this post.

Sincerely,
-Laurent
Logged
Pages: [1]   Go Up
 
JPPF Powered by SMF 2.0 RC5 | SMF © 2006–2011, Simple Machines LLC Get JPPF at SourceForge.net. Fast, secure and Free Open Source software downloads