La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Notions de sécurité sur la grille

Présentations similaires


Présentation au sujet: "Notions de sécurité sur la grille"— Transcription de la présentation:

1 Notions de sécurité sur la grille

2 Plan Le compte utilisateur Architecture Mode d’emploi pour la France
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 31/03/2017

3 Un compte utilisateur Un utilisateur pour utiliser la grille doit posséder : Un certificat X509 personnel Une entrée dans une Organisation Virtuelle (VO) Un compte sur une (au moins) Interface Utilisateur (UI) 31/03/2017

4 Authentification/Autorisation
Authentification => Certificat Qui est qui ? Autorisation => VO Qui a le droit ? Accès au GRID => UI Audit sécurité QUI fait QUOI et QUAND ? Comptabilité COMBIEN de ressources consomme Mr X ou la VO Y ? Facturation possible :’-( 31/03/2017

5 Bases de la sécurité et de l’authentification
Cryptage symétrique Cryptage asymétrique…(Public Key Infrastructure) Les clés publiques et privées vont par paires. Il est impossible de dériver une clé depuis l’autre. Un message crypté par une clé ne peut être décrypté que par la clé paire Encrypted text Private Key Public Key plain text 31/03/2017 5

6 Algorithme des clés publiques
Chaque utilisateur a 2 clés: une privée et une publique Il est impossible de dériver une clé depuis l’autre; Un message crypté par une clé ne peut être décrypté que par l’autre Pas d’échange de secrets nécessaires L’envoi crypté se fait en utilisant la clé publique du receveur; Le décryptage par le receveur se fait en utilisant sa clé privée; Paul John ciao 3$r 3$r ciao Paul John ciao cy7 cy7 ciao clés Paul clés John public public private private 31/03/2017

7 Exemple clés John Les clés publiques sont échangées
Paul obtient la clé publique de John.. Paul crypte en utilisant la clé publique de John John décrypte en utilisant sa clé privée; Public key algorithm: rend sûr la confidentialité clés John private public Paul John ciao 3$r 31/03/2017 7

8 Certificat Digital La signature digitale de Paul est sûre si:
La clé privée de Paul n’est pas compromise John connaît la clé publique de Paul Comment John peut être sûr que la clé publique de Paul est vraiment la sienne? Une troisième partie garantit la correspondance entre la clé publique et l’identité de la personne. Les deux autres parties doivent faire confiance à cette troisième partie Deux modèles: X.509: organisation hiérarchique PGP: “web of trust”. 31/03/2017

9 La troisième partie est appelée l’Autorité de Certification (CA).
Donne des certificats pour les utilisateurs et les machines Check l’identité et les informations personnelles du requêteur Registration Authorities (RAs) font la validation Les CA publient périodiquement une liste de certificats compromis Certificate Revocation Lists (CRL): contient tous les certificats bientôt révoqués 31/03/2017

10 Le certificat Certificat Sign Certification Authorities. CA
Il est basé sur le principe des signatures digitales La grille authentifie les utilisateurs ou les ressources en vérifiant leurs certificats Le certificat est donné par une des CA (Certification Authorities). certificat Public Key Informations utilisateur Informations de la CA Durée de validité Signature digitale de la CA Sign Certification Authorities. CA private key 31/03/2017 10

11 Les certificats X.509 Un certificat X.509 contient: public key;
identité de la personne; info sur la CA; Durée de validité; Numéro de série; Signature digitale de la CA Structure of a X.509 certificate Public key Subject:C=FR, O=CNRS, OU=LPC, CN=Matthieu Reichstadt Issuer: C=FR, O=CNRS, CN=GRID-FR Expiration date: Jul 28 10:55: GMT Serial number: 625 (0x271) CA Digital signature 31/03/2017

12 Exemple de certificat [reichma@clrlcgui01 reichma]$ grid-cert-info
Certificate: Data: Version: 3 (0x2) Serial Number: 2360 (0x938) Signature Algorithm: sha1WithRSAEncryption Issuer: C=FR, O=CNRS, CN=GRID-FR Validity Not Before: Jul 24 08:55: GMT Not After : Jul 24 08:55: GMT Subject: O=GRID-FR, C=FR, O=CNRS, OU=LPC, CN=Matthieu Reichstadt Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) 31/03/2017

13 Comment obtenir un certificat
31/03/2017

14 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 31/03/2017

15 EUGridPMA EUropean Grid Policy Management Authority
Domaine de confiance commun en Europe : EUGridPMA Même règles et pratiques de certification Certificats valides 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) Les certificats sont valables sur l’ensemble des projets de grille au travers de l’Europe 31/03/2017

16 Autorisation Organisation Virtuelle (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. 31/03/2017

17 Organisations Virtuelles (1/3)
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, EGEODE, … 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 VO VO 31/03/2017

18 Organisations Virtuelles (2/3)
Anonyme Administrateur 31/03/2017

19 Organisations Virtuelles (3/3)
Fichier LDIF LDAP Data Interchange Format de demande d’ajout dans la VO 31/03/2017

20 Mode d’emploi Obtenir un certificat personnel
S’enregistrer auprès d’une VO et Accepter les règles d’utilisation du GRID Attendre ~= 24 heures pour la propagation des droits Exporter et convertir son certificat du format PKCS12 au format PEM Le mettre en place sur l’UI Générer un proxy La grille est à vous… 31/03/2017

21 Demande de Certificate
VO user service Demande de cert. Une fois par an 31/03/2017

22 Certificat signé http://igc.services.cnrs.fr/Grid-fr/ CA VO user
Demande de cert. Certificat (PKCS12) 31/03/2017

23 Enregistrement, règles d’utilisation
Une fois (Seulement le DN du cert. est utilisé) CA VO user service Demande de cert. Certificat (PKCS12) enregistrement 31/03/2017

24 Démarrer une session Toutes les 12/24 heures 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. 31/03/2017

25 Certificat proxy openssl x509 –in /tmp/x509up_u`id -u` -text
Data: [...] Issuer: O=Grid, O=CNRS, OU=LPC, CN=Matthieu Reichstadt émetteur est l’utilisateur Validity Not Before: Jul 22 09:44: GMT Validité réduite: 1 jour Not After : Jul 22 21:49: GMT Subject: O=Grid, O=CNRS, OU=LPC, CN=Matthieu Reichstadt, CN=proxy Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (512 bit) Nouvelle clé (+courte) 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 31/03/2017

26 Demande de certificat serveur
VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Une fois par an 31/03/2017

27 Certificat serveur signé
VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Certificat (PEM) 31/03/2017

28 Configuration du serveur
CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Certificat (PEM) Certificat CAs CRL CAs Mise à jour automatique toutes les 24h 31/03/2017

29 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 : Certificats des CAs CRLs des CAs 31/03/2017

30 Mise à jour automatique toutes les 24h
Autorisation CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Certificat (PEM) Certificat CAs CRL CAs gridmap file Mise à jour automatique toutes les 24h 31/03/2017

31 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 configuration for mkgridmap auth: listing for DNs, who are signed the EDG usage guidelines, thus they can be a member of any EDG VO (this is a precondition to be a user anywhere) group: the VOs are represented by local groups. If a user is a member of a VO, then this configuration file will tell to the mkgridmap script the group to be assigned to the user. 31/03/2017

32 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 .alice "/C=IT/O=INFN/L=Bologna/CN=Marisa .alice "/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 .biome DN -> local userid mapping 31/03/2017

33 Authentification mutuelle + vérification des autorisations
Utilisation CA VO user service Demande de cert. Certificat (PKCS12) usercert.pem (PEM) userkey.pem Conversion cert. grid-proxy-init Proxy cert. Certificat (PEM) Certificat CAs CRL CAs gridmap file Authentification mutuelle + vérification des autorisations 31/03/2017

34 VOMS CA Interface Service Utilisateur MaJ CRL VOMS VOMS VOMS
fréquemment CA occasionnellement Cert. Serveur (1 an max) Interface Utilisateur Cert. CA Service Cert. Utilisateur (1 an max) MaJ CRL enregistrement VOMS enregistrement voms-proxy-init VOMS VOMS Délégation de cert. (24 h max) Délégation de cert. (24 h max) Autorisation = Cert. Autorisation = Cert. Authentification mutuelle et autorisation edg-java-security LCAS LCMAPS 31/03/2017

35 Obtenir des autorisations
repeat_install]$ voms-proxy-info -all subject : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadt/CN=proxy issuer : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadt identity : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadt type : proxy strength : 512 bits path : /tmp/x509up_u2718 timeleft : 11:58:17 VO : auvergrid subject : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadt issuer : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=cclcgvomsli01.in2p3.fr attribute : /auvergrid/Role=lcgadmin/Capability=NULL attribute : /auvergrid/Role=NULL/Capability=NULL VOMS user Query Authentication Request Auth DB OK C=FR/O=CNRS /L=LPC /CN=Matthieu Reichstdat /CN=proxy VOMS pseudo-cert Notion de rôle repeat_install]$ voms-proxy-init --voms auvergrid:/Role=lcgadmin Your identity: /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadt Enter GRID pass phrase: Creating temporary proxy Done Contacting cclcgvomsli01.in2p3.fr:15002 [/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=cclcgvomsli01.in2p3.fr] "auvergrid" Done Creating proxy Done Your proxy is valid until Thu Oct 4 01:20: 31/03/2017

36 Rôles Les rôles sont les rôles spécifiques qu’un utilisateur peut avoir, ce qui le distingue des autres de son groupe: Software manager VO-Administrator Différence entre rôles et groups: Les rôles n’ont pas de structure hiérarchique – pas de sous-rôle Les rôles ne sont pas utilisés pour des ‘opérations normales’ Ils ne sont pas ajoutés par défaut lors d’un voms-proxy-init Mais ils peuvent l’être pour certaines action lors du voms-proxy-init Exemple: L’utilisateur Reuillon a les informations suivantes VO=auvergrid, Role=SoftwareManager Pour une opération normale, son rôle n’est pas pris en compte, càd Reuillon peut travailler comme un utilisateur normal Pour des actions particulières il peut obtenir le rôle “Software Manager” 31/03/2017

37 Résumé VO service Mise à jour Authentification annuel Autorisation
L’utilisateur obtient un certificat par une CA Il se connecte à l’UI en ssh (UI est l’interface utilisateur à la grille) Il uploade son certificat sur l’UI Un seul logon – à l’UI - il crée son proxy annuel CA VO mgr UI VO service Autorisation L’utilisateur joint une Virtual Organisation VO négocie l’accès aux noeuds de grille et aux ressources L’Autorisation est testée par la resource: VO database GSI Mise à jour Mapping pour les droits d’accès 31/03/2017 37


Télécharger ppt "Notions de sécurité sur la grille"

Présentations similaires


Annonces Google