grid security and vo management andrew mcnab university of manchester

22
Grid Security and VO Management Andrew McNab University of Manchester

Upload: helen-morton

Post on 29-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grid Security and VO Management Andrew McNab University of Manchester

Grid Security andVO Management

Andrew McNab

University of Manchester

Page 2: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Outline

● Defining VOs● VO Pull vs Push● Pool Accounts● VOMS● GridSite components● Web service support● VO practicalities

Page 3: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Perspective

● GridPP is the UK's High Energy Physics grid project

– 15 university sites + RAL

– largest is a 2000 processor farm at Manchester● Participates in deployment of LHC Computing Grid

– ~160 sites worldside, led by CERN● Contributes to EGEE middleware development

– info system, data management and security● I co-ordinate the GridPP security middleware work

– this is principally the GridSite system

Page 4: Grid Security and VO Management Andrew McNab University of Manchester

EGEE/LCG-2 grid: 160 sites, 36 countries (35 sites in UK&Ireland cluster) >15,000 processors, ~5 PB storageOther national & regional grids: ~60 sites, ~6,000 processors

Country providing resources Country anticipating joining

LCG/EGEE Grid Sites : September 2005

Page 5: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Virtual Organisations

● Within LCG/EGEE, VOs are essentially authorization domains:

– access rights to resources and datasets

owned by a group of people ● So the central “VO problem” becomes how to

prove individuals are members of that VO, subgroup etc

● There are two classic ways of doing this:

– Pull and Push

Page 6: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

VO by Pull

● EU DataGrid developed a way of publishing lists of VO members

– Authentication based on X.509 DNs: ie VO = “DN List”

– LDAP(S) used, but can also be done by HTTPS● Sites subscribe to VO lists and pull them periodically

– daily or every few hours● Advantage is that user's software doesn't need to know ● Disadvantage is that hundreds of service machines need

to pull lists of thousands of users several times a day

Page 7: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Pool accounts

● The other half of the EU DataGrid system was Pool Accounts, developed in Manchester

– Unix accounts created and assigned to users as

they submit jobs, access files on that site.

– Local copy of VO membership list decides whether

a mapping can be created

– May direct user to a special pool of accounts for

their VO● Now used by LCG and UK NGS● Surprisingly successful for a “temporary” fix!

Page 8: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

VO by push

● LCG and EGEE are now deploying VOMS

– Users are given short-lived X.509 Attribute

Certificates which prove their VO and group

membership● Users then present these ACs to services, currently

in the form of extensions to GSI Proxy certificates● Advantages: no need for sites to pull all VO lists;

users can choose which group/role to use.● Disadvantages: clients need to be aware of VOMS;

need to add X.509 AC support to services' SSL/TLS.

Page 9: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Access Policies

● “DN Lists” (eg grid-mapfile) are simplest access policies● LCG/EGEE also uses references to VOMS groups, and

XML policy files: both GridSite's GACL and XAMCL● GridSite GACL/XACML policy files support:

– multiple credential types: individual DN, DN List, VOMS

AC and DNS domain

– AND + OR of conditions

– Read, List, Write, Exec, Admin permissions● Allows “virtualisation” of access: not just tied to a (pool)

unix account, and easy to dynamically manage

Page 10: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

GridSite components

● libgridsite C/C++ toolkit provides utility functions

– based on OpenSSL, libxml2, gSOAP

– parse GSI Proxies and VOMS X.509 attribute certs

– evaluate GACL and XACML access policies

– generate new GSI Proxies● mod_gridsite adds support for GSI Proxies, VOMS

attributes, DN List groups, GACL/XAMCL policies and Onetime Passcodes to Apache

● htcp, htls, htdelegate, ... provide command line tools

Page 11: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Module architecture

mod_ssl: plainHTTPS > env vars

mod_gridsite: GACL access control + GACL > env vars

mod_gridsite:.html headersand footers

.shtml,mod_perlCGI, PHP

CGI WebServices(gsexec)

HTTP

grst-admin.cgi: page editing,file upload, GACL editing etc.

mod_gridsite:PUT, MOVEand DELETE

Apache/GridSite

mod_gridsite: GSI / VOMS OpenSSL callback wrappers

Page 12: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Web Service support

● GridSite architecture can provide security for Web Service tools like gSOAP, with CGI Web Services

● We also provide the C/C++ implementation of the

GridSite / EGEE Delegation portType

– Java implementation by other members of EGEE● mod_gridsite + delegation CGI used by EGEE WMS

– Apache/FastCGI; GridSite (security); gSOAP (WS) ● Delegated credentials stored in the filesystem

● Allows sharing between different CGI languages

Page 13: Grid Security and VO Management Andrew McNab University of Manchester

13 Decmber 2005 Grid Security

suexec and gsexec

● Apache has traditionally provided a wrapper to run CGIs as other Unix users:

● Start as root, process as apache, CGI as joeuser● We've modified this to run CGI scripts and services

as pool Unix users, similar to LCG/EGEE and NGS

● Either per-client: the cert in the client program

determines which pool user

● Or per-directory: all the CGIs in my directory run

as the same pool user

Page 14: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

suexec / gsexec (2)

● This allows us to sandbox CGI-based services by ensuring that the pool users are of sufficiently low privilege

● Different clients or service owners can't interfere with

each other● Access control is still via GACL/XACML policy files

● X.509, GSI Proxy, VOMS, DN List credentials● We can now offer “third-party” service hosting

● Give a user or VO access to a privileged directory

● They deploy their C/C++/Perl/Python services

remotely

Page 15: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

GRACE

● In adding support for Web Services to GridSite, we started to offer non-Java ways of building service-orientated grids

● This provides another way of deploying Web Services

– “GRACE” : GRidsite - Apache - CGI – Executables

– Allows services to be written in any language

– Can be deployed remotely

– Deployment rights controlled by GACL/XACML policies

– Different VOs/individuals are sandboxed via Unix UIDs

Page 16: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Deployment Issues

● Panel question: “How can we deploy a Grid security infrastructure that is scalable, hierarchical, capable of dynamic VOs and easy to use?”

● I think that practical Grid infrastructures will follow most of the established patterns of practical Web infrastructures

– Many lessons already learnt on the Web

– Also, users/admins are already familiar with the Web● Key lession is to be as loosely-coupled as possible

– Use clearly defined interfaces and avoid reinvention

Page 17: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Software Issues

● Most significant security issue for existing internet services is patching vulnerabilities

– “Keeping up to date” has resulted in automated

update services for major operating systems

– The more you deviate from off-the-shelf software,

the more of this you have to do yourself for your

users● So want to reuse Apache, OpenSSL etc as much as

possible, ideally without making own versions, to benefit from OS updates

Page 18: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Authentication● This is largely dealt with by the CAs, and the

international CA co-ordination bodies (EUgridPMA and now the IGTF)

● However, users are very aware of authentication (“I forgot my password!” etc) and so it has a large impact on ease of use of the whole system

● Can already use X.509 certs in browsers as simple single-signon to HTTPS websites (GridSite, GridSiteWiki etc)

● But X.509 handling is itself cumbersome for some users

– May need to go to online CAs, merging CAs and

university Shibboleth infrastructures etc

Page 19: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Authorization● Creation of VOs, subgroups, roles etc

– assigning users to these groups/roles

– binding credentials to resources, dataset rights etc● Scalability drives design decisions

– Can't keep asking VO if a local operation is permitted● Pull and Push models already cover most use cases

– Dynamic VOs are a natural extension of current systems

– Static CA infrastructure means trust can be described by

dynamic policies in terms of certificate identities

Page 20: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Local enforcement

● Can easily be the Cinderella of a grid security architecture

– easy to implement shiny new authorization systems

in purely Grid software that your project is creating

– but what about file access, SQL database queries,

execution of native binaries?● Either use virtual machines (Java etc)● Or map grid identity to local identity (Unix pool

account, MySQL user etc) and then grant it rights derived from grid policies

● Getting this right has significant performance advantages

Page 21: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

More information

● www.gridsite.org is the GridSite project website

– Open Source, bug tracker, CVS, links to LCG/EGEE● Includes the new GridSiteWiki

– Derived from MediaWiki but uses X.509 instead of

usernames / passwords

– www.gridpp.ac.uk is the largest site using GridSite

– and includes it's own Wiki, which is pulling in info● You can also find GridSites at NGS, GOC, CERN,

LCG, TCD.IE, ... by searching for GridSite with Google!

Page 22: Grid Security and VO Management Andrew McNab University of Manchester

13 December 2005 Grid Security

Summary

● LCG/EGEE have deployed multiple VOs to 160+ sites using Pull, and are moving to Push via VOMS

● Pool accounts allow a simple way of using Unix accounts

● Access policies tie VOs & Authorization to resources ● GridSite provides libgridsite Grid security toolkit for

C/C++● mod_gridsite adds support for GSI Proxies, VOMS,

GACL, XAMCL, and HTTP PUT,MOVE,DELETE to Apache

● We can now build secured Web Services for Grids as CGI programs