a web server for basic grid services d. calvet dapnia/sei, cea saclay 91191 gif-sur-yvette cedex

14
A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

Upload: sherman-obrien

Post on 05-Jan-2016

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

A Web Server for Basic Grid Services

D. Calvet

DAPNIA/SEI, CEA Saclay

91191 Gif-sur-Yvette Cedex

Page 2: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 2 Lyon 21 November 2001

GRID and WWW

• Functionality of a typical Web server useful for GRID:– Anonymous access, or server authentication, or mutual client

and server authentication (e.g. X.509 certificates)– Plain-text or secure transfers (encryption), HTTPS over SSL– File read/write access by clients– Execute access on a server is not well defined-> the basis of the GRID can be seen as providing the « Execute »

capability to the existing WWW

• Some basic GRID Services:• servers and users authentication• users authorization• secure data transfers• remote process creation

Page 3: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 3 Lyon 21 November 2001

Providing Basic Services for Grid• Dedicated packages, specific protocols

– E.g. Globus and gatekeeper protocol

-> viable option, main (only?) stream of work in DataGRID

• « Standard » Web tools– Re-use as much as one can from WWW technology– Use Web browsers as clients; HTTP(S) protocol as is– Make extensions to one of today’s web server to provide the

missing parts

-> this option is investigated in the present work:feasibility, proof of principle, how much effort is needed… but all code is for demonstration only (i.e. incomplete, quickly done – ~6 person month - and most likely unsafe)

Page 4: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 4 Lyon 21 November 2001

Technical Choices• An open-source JAVA based Web server

– portability, ease of customization,…• Choice: JETTY (http://jetty.mortbay.org)

• Hook to host computer via CGI interface– PERL scripts for interaction with host computer– C programs to wrap critical parts, system commands…-> Code runs on any UNIX-like machines

• Use of standard X.509 certificates for authentication– JAVA like trusted certificate management (keystore file)– or Globus/OpenSSL like certificate storage (directory of files)

• Off-the-shelf web browsers for clients-> Zero installation or specific program on the client side

Page 5: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 5 Lyon 21 November 2001

Software Architecture

CGI

GUI, Serverauthentication

Web server

HTML formPerl script

ExecvpUpload

User B

adduserSUID root

X.509 Certsand CRLs

Clientbrowser

X.509 Certs(and CRLs)

Environment variables

DN allowedDN denied

DN to login

HTTPS

User A

Dynamic account setup

User authorization

ExecvpUpload

Clientauthentication

Secure channel

Process creation

HTML (stdout)

(stdout)

Page 6: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 6 Lyon 21 November 2001

Implementation• Server and Client authentication (JAVA)

– Supported by Jetty without any modification-> but no check of CRLs in today’s SUN JDK classes

– SUN’s X509TrustManager replaced by our own version-> support trusted Certs and CRL’s a la Globus/OpenSSL

• Client authorization: (PERL CGI script)– Client rights: transposed combination of UNIX flags « rwx »

• document read on server (all authenticated users)• file upload to server (authorized users)• execute command or program on server (authorized users)-> more refinements can be imagined

• Secure data transfer– HTTPS support in Jetty and Web browsers without any change

Page 7: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 7 Lyon 21 November 2001

Implementation (con’t)• Users and accounts

– 1 account per user: correspondence between the user’s DN and his local account provided by a mapfile

– Dynamic account creation on the server if a user’s DN is not in the mapfile, is in a file users.allow and not in a file users.deny

• file users.allow: list of users’ DN permitted to have an account (e.g. project wide list distributed to all sites)

• file users.deny: list of users’ DN not permitted on this site/server (local policy enforcement)

• Remote process creation (PERL script and C wrapper)– return output in HTML to the client

Page 8: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 8 Lyon 21 November 2001

Demonstration

Top window: server; bottom window: client

Page 9: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 9 Lyon 21 November 2001

Demonstration

Page 10: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 10 Lyon 21 November 2001

Demonstration

Page 11: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 11 Lyon 21 November 2001

Demonstration

Page 12: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 12 Lyon 21 November 2001

Tentative comparison with Globus

Function Globus 1.1.3 Proposed scheme

Client software/interface Specific / command line Internet Explorer, Netscape / Graphical

Single sign-on Yes (grid-proxy) No

Server protocol Proprietary (gatekeeper) Web standards: SSL, HTML, CGI…

Data transfers Authenticated; plain-text only Anonymous and in plain-text (HTTP) or authenticated and encrypted (HTTPS)

Information service GIS, GIIS, LDAP browser Not studied – adapt web search tools?

Other services MPI support, GSI ftp, HBM Dynamic login setup

Platforms/OS support limited Clients: almost any; servers: UNIX-like

Critical part for security Daemon running as root Hooks to some SUID commands

Development effort 10’s of person-year 0.5 person-year

Deployment effort Administrator and user training Web server administration

Page 13: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 13 Lyon 21 November 2001

Potential of proposed approach• Pros

– Minimum effort by extensive re-use of web stuff– Reduced dedicated package to develop, install and maintain– Web servers and browsers are ubiquitous and come by default

with any modern OS– Software companies could extend the scope of their web

products in the direction of the GRID (if there is a market…)

• Cons– Proof of principle is easy, but obstacles may be found later– Introduces security weaknesses in web servers– Relies a lot on software industry (will they do what we need?)– Clients tight to a Web browser (no access via console, batch)– The GRID is much more than the basic services mentioned– For DataGRID, orthogonal to the approach based on Globus

Page 14: A Web Server for Basic Grid Services D. Calvet DAPNIA/SEI, CEA Saclay 91191 Gif-sur-Yvette Cedex

[email protected] 14 Lyon 21 November 2001

Summary• Today’s Web stuff could be the basis of the GRID

– Anonymous or authenticated accesses– Clear or encrypted data transfers– File read/write access by clients on a server

• Adaptations around a JAVA-based Web server showed – Server and client authentication with X.509 certificates/CRLs– Dynamic computer account creation on server for authorized

remote users (or use of an existing account)– File upload, program execute for authorized remote users– Data stream encryption between client and server– Client software: off-the-shelf web browsers

• Paper submitted to CCGrid2002 as a personal contribution