EGEE is a project funded by the European Union under contract IST Sécurité sur le GRID Sophie Nicoud (CNRS/UREC) EGEE induction course, Lyon, 9-10 th Nov
EGEE Sécurité – Lyon, 9 Nov Plan Un compte utilisateur Architecture Authentification Autorisation Mode d’emploi pour la France Côté utilisateur Obtenir un certificat Faire partie d’une Organisation Virtuelle Côté serveur Certificats d’hôtes et de services Développements à venir VOMS
EGEE Sécurité – Lyon, 9 Nov Un compte utilisateur Un utilisateur pour utiliser le GRID doit posséder : Un certificat X509 personnel Une entrée dans une Organisation Virtuelle (VO) Un compte sur une Interface Utilisateur (UI)
EGEE Sécurité – Lyon, 9 Nov Authentification/Autorisation Authentification=> Certificat Qui est qui ? Autorisation=>VO Qui a le droit ? Accès au GRID=> UI Audit sécurité QUI fait QUOI QUAND ? Comptabilité COMBIEN de ressources consomme Mr X ou la VO Y ? Facturation possible :-(
EGEE Sécurité – Lyon, 9 Nov Architecture VO Service grid-mapfile Authentification mutuelle + vérification des autorisations Délégation de cert. (24 h max) VO CA MaJ CRL occasionnellement fréquemment Cert. Serveur (1 an max) grid-proxy-init Interface Utilisateur Cert. CA enregistrement Cert. Utilisateur (1 an max)
EGEE Sécurité – Lyon, 9 Nov Authentification Qu’est qu’un certificat X509 ? Un couple de clés indissociables Les clés son générées ensembles Le certificat est accrédité par un tiers de confiance (CA) Le certificat a une période de validité Repose sur l’utilisation des algorithmes asymétriques Impossibilité de retrouver une clé par rapport à l’autre Une clé est dite publique Elle est publiée sur le réseau Cette clé est signée par l’Autorité de Certification émettrice Dans le langage courant, elle est appelée certificat L’autre est dite privée Elle est conservée sur le poste de l’utilisateur Protégée par un mot de passe
EGEE Sécurité – Lyon, 9 Nov Un certificat Informations importantes Le sujet ou DN du certificat Le numéro de série du certificat La période de validité du certificat L’Autorité de Certification émettrice La Liste des Certificats Révoqués (CRL) émise par la CA Certificate: Data: Version: 3 (0x2) Serial Number: 639 (0x27f) Signature Algorithm: md5WithRSAEncryption Issuer: C=FR, O=CNRS, CN=Datagrid-fr Validity Not Before: Mar 1 08:52: GMT Not After : Mar 1 08:52: GMT Subject: C=FR, O=CNRS, OU=UREC, CN=Sophie Nicoud, Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e6:a2:8b:5c:a3:ed:fe:d5:03:55:b6:7c:cb:44:.... Netscape Comment: Certificat Datagrid-fr. Pour toute information se reporter à X509v3 CRL Distribution Points: URI: Signature Algorithm: md5WithRSAEncryption 9d:d8:19:32:3e:39:f1:55:58:d6:dd:21:7a:40:31:36:f6:07: 96:91:cf:2c
EGEE Sécurité – Lyon, 9 Nov Les Autorités de Certification Problématique : Une seule CA pour le projet => Pas gérable, peu sûr Une CA par partenaire => Problème de mise à l’échelle Solution : Une CA par pays => Établir des relations de confiance entre chaque CA => Coordination au niveau du pays Catch-All CAs Pays sans CA nationale Création d’un groupe des CAs EDG : CACG Projets de GRID en Europe (EGEE, LCG, SEE-GRID, … ): EUGridPMA
EGEE Sécurité – Lyon, 9 Nov EUGridPMA Domaine de confiance commun en Europe : EUGridPMA Même règles et pratiques de certification Certificats valident 1 an Vérification de l’identité de la personne … 28 Autorités de Certification nationales France, Espagne, US, …., Estonie, Russie, … Catch-All CAs LCG ou instituts HEP : DOE (US) EGEE ou instituts non HEP : CNRS (France) Votre certificat est valable sur l’ensemble des projets de GRID au travers de l’Europe
EGEE Sécurité – Lyon, 9 Nov Autorisation Organisations Virtuelles (VO) Ensemble d’individus ayant des buts communs Utilisateurs Ressources A set of individuals or organisations, not under single hierarchical control, (temporarily) joining forces to solve a particular problem at hand, bringing to the collaboration a subset of their resources, sharing those at their discretion and each under their own conditions.
EGEE Sécurité – Lyon, 9 Nov VO Organisations Virtuelles Les utilisateurs sont regroupés par expérience scientifique Sciences du vivant : Biomed HEP : Alice, Atlas, Babar, CMS, D0, LHCb, … Observation de la Terre : ESR Autre : DTEAM, NA4Test Les autorisations sont fonction de l’Organisation Virtuelle Un administrateur par Organisation Virtuelle C’est le gestionnaire des utilisateurs de sa VO Les ressources se déclarent utilisables par X,Y ou Z VOs Des droits spécifiques peuvent être données au niveau de chaque ressources par l’administrateur de celle-ci VO
EGEE Sécurité – Lyon, 9 Nov Mode d’emploi 1. Obtenir un certificat personnel 2. S’enregistrer auprès d’un VO et 2. Accepter les règles d’utilisation du GRID Attendre ~= 24 heures pour la propagation des droits 3. Exporter et convertir son certificat du format PKCS12 au format PEM Le mettre en place sur l’UI 4. Générer un GRID proxy 5. Le GRID est à vous…
EGEE Sécurité – Lyon, 9 Nov Demande de Certificate CA VO user service Demande de cert. Une fois par an
EGEE Sécurité – Lyon, 9 Nov Certificat signé CA VO user service Demande de cert. Certificat (PKCS12)
EGEE Sécurité – Lyon, 9 Nov Enregistrement, règles d’utilisation Une fois (Seulement le DN du cert. est utilisé) CA VO user service Demande de cert. Certificat (PKCS12) enregistrement
EGEE Sécurité – Lyon, 9 Nov Démarrer une session CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Toutes les 12/24 heures Proxy cert.
EGEE Sécurité – Lyon, 9 Nov Certificat proxy openssl x509 –in /tmp/x509up_u`id -u` -text Data: [...] Issuer: O=Grid, O=CERN, OU=cern.ch, CN=Akos Frohnerémetteur est l’utilisateur Validity Not Before: Jul 22 09:44: GMTValidité réduite: 1 jour Not After : Jul 22 21:49: GMT Subject: O=Grid, O=CERN, OU=cern.ch, CN=Akos Frohner, CN=proxy Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (512 bit) Nouvelle clé (+coute) Modulus (512 bit): 00:e9:7c:f4:d0:5d:8a:4c:91:8b:df:a7:16:78:1f: [...] Exponent: (0x10001) X509v3 extensions: [...] Même extensions Signature Algorithm: md5WithRSAEncryption [...] Signé par l’utilisateur Champs supplémentaire : proxy
EGEE Sécurité – Lyon, 9 Nov Demande de certificat serveur CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Demande de cert. Une fois par an
EGEE Sécurité – Lyon, 9 Nov Certificat serveur signé CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Demande de cert. Certificat (PEM)
EGEE Sécurité – Lyon, 9 Nov Configuration du serveur CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Demande de cert. Certificat (PEM) Certificat CA CRL CA Mise à jour automatique toutes les 24h
EGEE Sécurité – Lyon, 9 Nov Configuration des CAs acceptées Le certificat et la clé privée de l’hôte se trouvent : /etc/grid-security/certificates hostcert.pem hostkey.pem Les CAs reconnues par l’hôte se trouvent : /etc/grid-security/certificates Certificats des CAs CRLs des CAs Installer le script de mise à jour automatique des CRLs
EGEE Sécurité – Lyon, 9 Nov Serveur: Certificats ls /etc/grid-security/certificates 0ed6468a.0 c35c d64ccb53.0 0ed6468a.crl_url c35c1972.crl_url d64ccb53.crl_url 0ed6468a.r0 c35c1972.r0 d64ccb53.r0 0ed6468a.signing_policy c35c1972.signing_policy d64ccb53.signing_policy 16da cf4ba8c8.0 df312a4e.0 16da7552.crl_url cf4ba8c8.crl_url df312a4e.crl_url 16da7552.r0 cf4ba8c8.r0 df312a4e.r0 16da7552.signing_policy cf4ba8c8.signing_policydf312a4e.signing_policy cat c35c1972.crl_url
EGEE Sécurité – Lyon, 9 Nov Serveur: Certificats cat c35c1972.signing_policy # EACL CERN CA access_id_CA X509'/C=CH/O=CERN/CN=CERN CA' pos_rights globusCA:sign cond_subjects globus'"/C=ch/O=CERN/*" "/C=CH/O=CERN/*" "/O=Grid/O=CERN/*" "/O=CERN/O=Grid/"‘ openssl x509 -in c35c –text -noout Issuer: C=CH, O=CERN, CN=CERN CA[...]Emetteur du certificat Subject: C=CH, O=CERN, CN=CERN CA [...] Certificat auto-signé X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE [...] Ce certificat peut être utilisé pour en signer d’autres Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CAC’est un certificat de CA
EGEE Sécurité – Lyon, 9 Nov Serveur: CRL openssl crl -in c35c1972.r0 –text -noout Certificate Revocation List (CRL): Version 1 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: /C=CH/O=CERN/CN=CERN CAEmetteur est la CA elle-même Last Update: Jul 1 17:53: GMT Next Update: Aug 5 17:53: GMTProchaine mise à jour Revoked Certificates: Serial Number: 5ANuméros de série des certificats révoqués Revocation Date: May 24 16:45: GMT Signature Algorithm: md5WithRSAEncryptionSignature
EGEE Sécurité – Lyon, 9 Nov Autorisation CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Demande de cert. Certificat (PEM) Certificat CA CRL CA gridmap file Mise à jour automatique toutes les 24h
EGEE Sécurité – Lyon, 9 Nov Gridmapfile: configuration Installer et configurer le script de mise à jour automatique du gridmapfile (mkgridmap.conf) cat /etc/grid-security/mkgridmap.conf auth ldap://marianne.in2p3.fr/ou=People,o=testbed,dc=eu-datagrid,dc=org # EDG Standard Virtual Organizations group ldap://grid-vo.nikhef.nl/ou=testbed1,o=alice,dc=eu-datagrid,dc=org.alice group ldap://grid-vo.nikhef.nl/ou=testbed1,o=atlas,dc=eu-datagrid,dc=org.atlas group ldap://grid-vo.nikhef.nl/ou=tb1users,o=cms,dc=eu-datagrid,dc=org.cms group ldap://grid-vo.nikhef.nl/ou=tb1users,o=lhcb,dc=eu-datagrid,dc=org.lhcb group ldap://grid-vo.nikhef.nl/ou=tb1users,o=biomedical,dc=eu-datagrid,dc=org.biome group ldap://grid-vo.nikhef.nl/ou=tb1users,o=earthob,dc=eu-datagrid,dc=org.eo group ldap://marianne.in2p3.fr/ou=ITeam,o=testbed,dc=eu-datagrid,dc=org.iteam group ldap://marianne.in2p3.fr/ou=wp6,o=testbed,dc=eu-datagrid,dc=org.wpsix
EGEE Sécurité – Lyon, 9 Nov Gridmap file cat /etc/grid-security/gridmap "/O=Grid/O=Globus/OU=cern.ch/CN=Geza Odor".atlas "/O=Grid/O=CERN/OU=cern.ch/CN=Pietro Paolo Martucci".dteam "/C=IT/O=INFN/L=Bologna/CN=Franco "/C=IT/O=INFN/L=Bologna/CN=Marisa "/O=Grid/O=CERN/OU=cern.ch/CN=Bob Jones".dteam "/O=Grid/O=CERN/OU=cern.ch/CN=Brian Tierney".dteam "/O=Grid/O=CERN/OU=cern.ch/CN=Tofigh Azemoon".lhcb "/C=FR/O=CNRS/OU=LPC/CN=Yannick
EGEE Sécurité – Lyon, 9 Nov Utilisation CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Demande de cert. Certificat (PEM) Certificat CA CRL CA gridmap file Authentification mutuelle + vérification des autorisations
EGEE Sécurité – Lyon, 9 Nov VOMS Service Authentification mutuelle et autorisation VOMS CA MaJ CRL occasionnellement fréquemment Cert. Serveur (1 an max) voms-proxy-init Interface Utilisateur Cert. CA enregistrement Cert. Utilisateur (1 an max) Délégation de cert. (24 h max) enregistrement Délégation de cert. (24 h max) Autorisation = Cert. LCAS LCMAPS edg-java-security
EGEE Sécurité – Lyon, 9 Nov Obtenir des autorisations Query Authentication Request Auth DB C=IT/O=INFN /L=CNAF /CN=Pinco Palla /CN=proxy VOMS pseudo- cert davidg]$ edg-voms-proxy-init -voms=wpsix Your identity: /O=dutchgrid/O=users/O=nikhef/CN=David Groep Enter GRID pass phrase for this identity: Creating temporary proxy Done /C=FR/O=CNRS/OU=UREC/CN=vo-iteam.datagrid.cnrs.fr/ =edg- /C=FR/O=CNRS/CN=Datagrid-fr Creating proxy Done davidg]$ edg-voms-proxy-info -all … Type : proxy Bits : 512 Valid From : Jun 2 06:22: GMT Validity left : Jun 2 18:27: GMT VO : wpsix Holder Subject: /O=dutchgrid…/O=nikhef/CN=David Groep … Issuer Subject:/C=FR/O=CNRS/OU=UREC/ CN=vo-iteam.datagrid.cnrs.fr … Valid from : Jun 2 06:26: GMT Valid to : Jun 2 18:26: GMT Attribute : /wpsix/Role=NULL/Capability=NULL Notion de rôle
EGEE Sécurité – Lyon, 9 Nov Interprétation des droits par le serveur … "/O=dutchgrid/O=users/O=sara/CN=Walter de Jong".wpsix "/O=dutchgrid/O=users/O=uva/OU=wins/CN=Robert Belleman".pvier "/VO=iteam/GROUP=/iteam".iteam "/VO=wpsix/GROUP=/wpsix".wpsix Local Centre Authorization Service (LCAS) Prend en charge les demandes d’autorisation Autorisations basées sur les proxys des utilisateurs et la spécification de leurs jobs Supporte le grid-mapfile Local Credential Mapping Service (LCMAPS) Langage simple de configuration des règles Basé sur l’identité de l’utilisateur, sa VOMS, la politique de sécurité du site