Hands on Security, Authentication and Authorization Virginia Martín-Rubio Pascual RedIRIS/Red.es Curso Grid y e-Ciencia 2010, Valencia 6- 9 Julio 2010
SERVIDOR: cg02.ific.uv.es (SL5) cg01.ific.uv.es(SL4) USERNAME: tutXX PASSWORD: ngiXX PASSPHRASE: ngi1234 donde XX = 01…24 Cómo acceder a la UI
Localiza tu certificado personal:.globus: directorio donde se encuentra vuestro certificado personal, consiste en dos ficheros separados (claves pública y privada). Son necesarios para las conexiones autenticadas con todos los demás recursos Grid. Comprueba los permisos de estos ficheros ( no podrás crear un proxy si son incorrectos): ~]$ ls -l.globus/ total 16 -r--r--r-- 1 tut25 tut Jun 15 09:42 usercert.pem -r tut25 tut Jun 15 09:42 userkey.pem Autenticación y Autorización
Obtén la información de tu certificado personal: grid-cert-info ~]$ grid-cert-info Certificate: Data: … Issuer: C=ES, O=IFCA, CN=IFCA Formacion Grid CA Validity Not Before: May 28 00:00: GMT Not After : Jul 12 00:00: GMT Subject: C=ES, O=IFCA, CN=tut25 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:aa:…:72:81 Exponent: (0x10001) … Información importante: Fechas de validez del certificado. Datos del emisor del certificado (CA). Datos del dueño del certificado. Nombre Común (CN) Autenticación y Autorización
Creación de un certificado de proxy con extensiones VOMS (=VOMS proxy): Este paso es comparable con hacer login en la Grid: voms-proxy-init --voms vo.formacion.es-ngi.eu ~]$ voms-proxy-init --voms vo.formacion.es-ngi.eu Cannot find file or dir: /home/tut25/.glite/vomses Enter GRID pass phrase: Your identity: /C=ES/O=IFCA/CN=tut25 Creating temporary proxy Done Contacting voms01.ifca.es:15004 [/DC=es/DC=irisgrid/O=ifca/CN=host/voms01.ifca.es] "vo.formacion.es-ngi.eu" Done Creating proxy Done Your proxy is valid until Mon Jul 5 23:10: Autenticación y Autorización
Comprobación del VOMS proxy: Para obtener información sobre el proxy: voms-proxy-info -all Muestra dos tiempos de vida diferentes : El primero es de propio certificado de proxy. El segundo se refiere a la información del AC añadida por el servidor VOMS. El certificado de proxy tiene un tiempo de vida de 12 horas. ~]$ voms-proxy-info -all subject : /C=ES/O=IFCA/CN=tut25/CN=proxy issuer : /C=ES/O=IFCA/CN=tut25 identity : /C=ES/O=IFCA/CN=tut25 type : proxy strength : 1024 bits path : /tmp/x509up_u5733 timeleft : 11:58:55 === VO vo.formacion.es-ngi.eu extension information === VO : vo.formacion.es-ngi.eu subject : /C=ES/O=IFCA/CN=tut25 issuer : /DC=es/DC=irisgrid/O=ifca/CN=host/voms01.ifca.es attribute : /vo.formacion.es-ngi.eu/Role=NULL/Capability=NULL timeleft : 11:58:55 uri : voms01.ifca.es:15004 Autenticación y Autorización
Logout del grid Para borrar el VOMS proxy voms-proxy-destroy Autenticación y Autorización
Registro de un proxy de larga duración en un servidor myproxy (gridpx01.ifca.es) Para crear y almacenar un certificado de proxy de larga duración: myproxy-init La opción –s nos permite especificar el nombre del servidor myproxy con el que queremos contactar. Si no se especifica buscará el nombre del servidor en la variable de entorno: MYPROXY_SERVER. La opción –d nos permite crear y almacenar un proxy de larga duración con subject nuestro DN. Sin esta opción, se cogerá el nombre local del usuario en la UI desde la que se lanza el comando. La opción –l nos permite crear y almacenar un proxy de larga duración con un username especificado por el usuario. Cada usuario puede crear y almacenar varios proxies en un mismo servidor myproxy, pero cada certiticado de proxy remoto se asocia con el username especificado. La opción –c nos permite crear y almacenar un proxy de larga duración con un tiempo de vida pasado como parámetro (valor en horas). myproxy-init –s gridpx01.ifca.es –d –l tut25 –c 48 Uso de MyProxy Creacción
~]$ myproxy-init –s gridpx01.ifca.es –d -l tut25 -c 48 Your identity: /C=ES/O=IFCA/CN=tut25 Enter GRID pass phrase for this identity: Creating proxy Done Proxy Verify OK Your proxy is valid until: Wed Jul 7 15:15: Enter MyProxy pass phrase: Verifying - Enter MyProxy pass phrase: A proxy valid for 48 hours (2.0 days) for user tut25 now exists on gridpx01.ifca.es. Uso de MyProxy Creacción
Información sobre el certificado de proxy almacenado en el servidor myproxy Si en tu UI no tienes creado un certificado de proxy local, no es posible que te autentiques en el servidor myproxy. En ese caso, hay que delegar el certificado de proxy desde el servidor myproxy o crear un certificado de proxy local: Con el comando myproxy-get-delegation, se le pueden añadir las extensiones VOMS (lo que sería equivalente a ejecutar el comando voms-proxy-init) o sin extensiones VOMS (grid-proxy-init). Con el comando voms-proxy-init, añadiéndole las extensiones VOMS correspondientes. Después de esto ya se puede obtener la información del certificado de proxy almacenado en el servidor myproxy: Uso de MyProxy Información
~]$ myproxy-info –s gridpx01.ifca.es username: tut25 owner: /C=ES/O=IFCA/CN=tut25 timeleft: 47:59:52 (2.0 days) También se puede especificar el nombre del servidor myproxy con la opción –s. Si las credenciales han sido inicializadas con la opción –l, también se debe especificar dicha opción cuando se solicite la información. ~]$ myproxy-info info –s gridpx01.ifca.es -l tut25 username: tut25 owner: /C=ES/O=IFCA/CN=tut25 timeleft: 47:58:04 (2.0 days) Es muy importante el username del proxy, ya que es lo que lo identifica y diferencia de los otros proxies que puedes tener almacenados en un mismo servidor. Uso de MyProxy Información
Delegación del certificado de proxy almacenado en el servidor myproxy. Te permite obtener un certificado de proxy en tu máquina local desde el servidor myproxy. Antes de nada, debemos destruir los certificados de proxy locales que podemos tener en nuestra máquina y verificar que no existe ninguno más: ~]$ voms-proxy-destroy ~]$ voms-proxy-info Couldn't find a valid proxy. Ahora que no hay ningún proxy local en nuestra máquina, delegamos el proxy del servidor myproxy con el comando: myproxy-get-delegation La opción –d nos permite crear y almacenar la delegación del certificado de proxy con subject nuestro DN. Sin esta opción, se cogerá el nombre local del usuario en la UI desde la que se lanza el comando. La opción --voms permite añadir las extensiones VOMS de una determinada VO. Uso de MyProxy Delegación
~]$ myproxy-get-delegation -l tut25 --voms vo.formacion.es-ngi.eu Enter MyProxy pass phrase: Cannot find file or dir: /home/tut25/.glite/vomses Your identity: /C=ES/O=IFCA/CN=tut25/CN=proxy/CN=proxy/CN=proxy Creating temporary proxy Done Contacting voms01.ifca.es:15004 [/DC=es/DC=irisgrid/O=ifca/CN=host/voms01.ifca.es] "vo.formacion.es-ngi.eu" Done Creating proxy Done Your proxy is valid until Tue Jul 6 03:07: A credential has been received for user tut25 in /tmp/x509up_u5733. Para verificar que existe el proxy local: voms-proxy-info -all Uso de MyProxy Delegación
Para veriricar que existe el proxy local: ~]$ voms-proxy-info -all subject : /C=ES/O=IFCA/CN=tut25/CN=proxy/CN=proxy/CN=proxy/CN=proxy issuer : /C=ES/O=IFCA/CN=tut25/CN=proxy/CN=proxy/CN=proxy identity : /C=ES/O=IFCA/CN=tut25/CN=proxy/CN=proxy/CN=proxy type : proxy strength : 1024 bits path : /tmp/x509up_u5733 timeleft : 11:57:53 === VO vo.formacion.es-ngi.eu extension information === VO : vo.formacion.es-ngi.eu subject : /C=ES/O=IFCA/CN=tut25 issuer : /DC=es/DC=irisgrid/O=ifca/CN=host/voms01.ifca.es attribute : /vo.formacion.es-ngi.eu/Role=NULL/Capability=NULL timeleft : 11:57:53 uri : voms01.ifca.es:15004 Uso de MyProxy Delegación
Destrucción del proxy remoto (en servidor myproxy) ~]$ myproxy-destroy -s gridpx01.ifca.es -l tut25 Default MyProxy credential for user tut25 was successfully removed Comprobación en el servidor myproxy: ~]$ myproxy-info -s gridpx01.ifca.es ERROR from myproxy-server (gridpx01.ifca.es): no credentials found for user tut25, owner "/C=ES/O=IFCA/CN=tut25” Uso de MyProxy Destrucción
16 ¡Gracias por vuestra atención! ¿Preguntas?