Background

With the recent shift towards supporting the development of science gateways on the TeraGrid, there has been much debate over how to properly secure the shared resources (Community Accounts) that these gateways use to interface with RPs on the backend.

At the recent TeraGrid Gateway Security Summit, this debate and several different ideas were boiled down into a couple different security appropaches. These approaches range from not doing anything special to secure these accounts, to requiring that every program the account wishes to run be vetted by a sysadmin and authorization added for the account to run that one particular program.

Because we believe that the latter approach is probably not sustainable, and the former approach fails to provide sufficient accountability for who is doing what with the account, Sean McCreary (NCAR) and I proposed a solution that falls somewhere in the middle.

I call this solution "W^X With Path Restrictions". The basic requirements of this approach are as follows:

The reasoning behind these requirements is as follows:

Implementation

In order to fulfill the above requirements, we have developed the following implementation at Purdue for securing community accounts:

With this approach, we can ensure that the only access a community account has to Purdue systems is the ability to run specific jobs after being authenticated and logged through a grid gatekeeper. By restricting the list of authorized paths to the community software area, we ensure the account can only be used for gateway related purposes and can only run software installed by the developers. It is then expected that the gateway developers will ensure the security of their applications and not allow the account to be used for anything malicious. However, should they fail to meet that expectation, the amount of damage the community account can do is somewhat limited, and it can always be deactivated completely in the event of an incident. Furthermore, this approach gives us some degree of accountability with respect to who is responsible for the software a community account runs and who used the community account to run what jobs at what times.

Caveats


Valid XHTML 1.0 Strict Last Updated: Mon, Nov 8, 2010 10:25    Author: gveldman