36
Last Updated: June 2015 Ges$ón de Iden$dades y Control de Acceso en los Servicios usando WSO2 Iden$ty Server

Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Identity Server

  • Upload
    wso2

  • View
    383

  • Download
    3

Embed Size (px)

Citation preview

Last Updated: June 2015

Ges$ón  de  Iden$dades  y  Control  de  Acceso  en  los  Servicios  

usando  WSO2  Iden$ty  Server  

Agenda  

2  

• Presentación  de  WSO2  y  Chakray  Consul$ng  • Requerimientos  de  Seguridad  en  los  Servicios  •  Seguridad  Holís$ca  no  diferencia  entre  los  Servicios,  Aplicaciones  e  Información.  

• Casos  de  uso  o  ejemplos  de  Seguridad  • WSO2  Iden$ty  Server  y  WSO2  ESB  • Aplicando  Seguridad:  Estrategias  • Demostración  •  Ges$ón  de  Iden$dades.  •  Auten$cación  y  Autorización.  •  Firma  Digital.  

• Preguntas  y  respuestas.  

Sanjiva  Weerawarana  

Hola?  Somos  

MM  Venture  Capital  $30  

3  

4  

Una  plataforma  completa  para  crear  negócios  conectados  

4  

Mountain  View,  

California,  USA  

Bloomington  Indiana,  USA  

London,  United  Kingdom  

Colombo,  Sri  Lanka  

São  Paulo,  Brazil  

Oficinas    

5  

Equipo   500+  

6  

Publica,on     Category     WSO2   Year    

Gartner     Magic  Quadrant  for  Enterprise  Applica6on  Pla8orm  as  a  Service   Visionary   2014  

Gartner     Magic  Quadrant  for  Applica6on  Services  Governance   Visionary   2013  

Gartner     Magic  Quadrant  for  On-­‐Premises  Applica6on  Integra6on  Suites   Visionary   2013  

Gartner     Magic  Quadrant  for  On-­‐Premises  Applica6on  Pla8orms   Visionary   2013  

The  Forrester  Wave   API  Management  Pla8orms,  Q1     Leader     2013  

Gartner   Magic  Quadrant  for  Systema6c  SOA  Applica6on  Projects   Visionary   2012  

Gartner     Magic  Quadrant  for  Systema6c  Applica6on  Integra6on  Projects   Visionary   2012  

Gartner     Magic  Quadrant  for  SOA  Infrastructure  Projects   Visionary   2012  

The  Forrester  Wave   Integrated  SOA  Governance,  Q1   Strong  Performer   2012  

The  Forrester  Wave   SOA  Service  Life-­‐Cycle  Management,  Q1   Strong  Performer   2012  

The  Forrester  Wave   Standalone  SOA  Management  Solu6ons,  Q4   Strong  Performer   2011  

Gartner     Magic  Quadrant  for  SOA  Governance  Technologies   Visionary   2011  

The  Forrester  Wave   Enterprise  Service  Bus,  Q2     Leader   2011  

Presencia  en  estudios  de  Mercado  

7  

+  de  250  Clientes  

8  

9  

   •  "Enfoque  brillante,  amor  a  la  modularidad,  lo  que  permite  una  gran  

flexibilidad.  Estamos  muy  contentos  de  estar  trabajando  con  WSO2  "  -­‐  Jim  Crabbe,  Senior  Product  Manager,  Boeing  

•  "La  extrema  capacidad  de  soporte,  es  lo  que  nos  cauGvó  con  WSO2"    -­‐  Prakash  Iyer,  Vicepresidente  del  SoNware  Arquitectura  y  Estrategia,  CIO,  Trimble.  

•  “Con  el  uso  de  WSO2  ESB,  habíamos  sido  capaces  de  proporcionar  a  los  clientes  y  nuestors  socios  la  calidad  y  experiencia  que  esperan  de  eBay"  -­‐  Abhinav  Kumar,  Gerente  senior  de  Ingeniería  de  Sistemas  en  eBay.  

 

¿Y  los  clientes,  qué  dicen?      

10  

11  

Roger  CARHUATOCTO  

Principal Architect SOA, BigData and Security.

www.linkedin.com/in/rcarhuatocto

@Chilcano

holisticsecurity.wordpress.com

roger [at] chakray.com

Puedes ponerte en contacto conmigo vía:

•  Grupo  de  Consultores  sénior  muy  especializados  en  WSO2.  

•  Preferred  Partner  con  presencia  en  Europa  y  Sudamérica.  

•  Especializado  en  proveer  servicios  de  Consultoría  a  Integradoras.  •  Suministra  formación  oficial  on-­‐line  y  presencial.  

12  

1.  Requerimientos  de  Seguridad  en  los  Servicios  

13  

•  Seguridad  Holís$ca  (end-­‐to-­‐end):  1.-

2.-

3.-

4.-

5.-

6.-

7.-

8.-

9.-

Autenticación e Identificación

Autorización

Confidencialidad

Integridad

No Repudio

Anonimato

Disponibilidad y Fiabilidad

Auditoría

Gestión de Identidades

¿Quién eres tu?

¿Qué puedes hacer tu?

Transmisión secreta o privada del mensaje

Nadie haya alterado el mensaje

Nadie pueda rechazar/cuestionar la transacción ni el/los mensajes

No trazabilidad de ciertas transacciones o mensajes

Servicio siempre operativo o con garantía de que funcione

Trazabilidad y recolección de evidencia

Gestión del ciclo de vida de las credenciales y atributos… y

1.  Requerimientos  de  Seguridad  en  los  Servicios  

14  

•  Seguridad  en  los  Servicios:  1.-

2.-

3.-

4.-

5.-

6.-

7.-

8.-

9.-

Autenticación e Identificación

Autorización

Confidencialidad

Integridad

No Repudio

Anonimato

Disponibilidad y Fiabilidad

Auditoría

Gestión de Identidades

¿Quién eres tu?

¿Qué puedes hacer tu?

Transmisión secreta o privada del mensaje

Nadie haya alterado el mensaje

Nadie pueda rechazar/cuestionar la transacción ni el/los mensajes

No trazabilidad de ciertas transacciones o mensajes

Servicio siempre operativo o con garantía de que funcione

Trazabilidad y recolección de evidencia

Gestión del ciclo de vida de las credenciales y atributos… y

(*)  

(*)  

(*)        A  nivel  de  transporte  

Principal  preocupación  en  los  Servicios.  

No  es  la  principal  preocupación.  

2.  Casos  de  uso  o  ejemplos  de  Seguridad  (1/4)  

15  

•  Auten$cación  e  Iden$ficación  (¿Quién  eres  tu?)  •  Donde  haya  una  validación  de  cualquier  $po  de  credenciales  hay  una  “auten$cación”.  

•  Autorización  (¿Qué  puedes  hacer  tu?)  •  Después  de  una  “auten$cación”  sa$sfactoria  se  procede  a  asignar  unos  “atributos”  (rol,  permisos,  etc).  

•  Confidencialidad  (Transmisión  secreta  o  privada  del  mensaje)  •  Mensaje  de  correo  electrónico  cifrado  (cer$ficados  X.509,  PGP,  clave  simétrica).  

•  Integridad  (Nadie  haya  alterado  el  mensaje)  •  Mensaje  de  correo  electrónico  con  “precintos  digitales”  como  firma  digital,  hashing,  $me-­‐stamping,  etc.  

2.  Casos  de  uso  o  ejemplos  de  Seguridad  (2/4)  

16  

• No  repudio  (Nadie  pueda  rechazar/cues$onar  la  transacción  ni  el  mensaje)  •  Es  la  suma  de  todos  los  elementos  de  seguridad  aplicados  que  “minimiza”  el  riesgo  que  la  transacción  o  el  

mensaje  sea  rechazado  o  sea  cues$onado.  

•  Burofax  •  Notaría  •  Trámites  Administra$vos  realizados  con  el  DNI,  e-­‐DNI,  Pasaporte  o  e-­‐Pasaporte.  

•  Anonimato  (No  trazabilidad  de  ciertas  transacciones  o  mensajes)  •  Muy  relacionado  con  la  Confidencialidad/Privacidad.  La  RAE  ha  introducido  el  termino  “In$midad”.  

•  El  “uso”  del  teléfono  móvil  debe  ser  anónimo,  de  igual  forma  que  las  Compras  por  Internet,  e-­‐Gambling,  Voto,    e-­‐Voto,  etc.  

2.  Casos  de  uso  o  ejemplos  de  Seguridad  (3/4)  

17  

• Disponibilidad  y  Fiabilidad  (Servicio  siempre  opera$vo  o  con  garansa  de  que  funcione)  •  Cómo  evitamos  los  ataques  de  Ataques  Distribuidos  de  Denegación  de  Servicio  (“DDoS”  -­‐Denial  Distributed  of  

Service-­‐)  en  nuestras  cada  vez  más  expuestas  APIs  (servicios)  ?.    

•  Throtling  •  Firewall  de  Aplicaciones  •  Media$on  

•  Auditoría  (Trazabilidad  y  recolección  de  evidencia)  •  De  aquellas  operaciones  o  transacciones  iden$ficadas  como  crí$cas  deben  ser  auditables,  para  ello  se  recolecta  

evidencia  o  información  producida  en  los  eventos.  

•  Muchos  de  los  servicios  expuestos  como  APIs  son  mone$zables  y  por  ello  son  traceables.  Es  decir,  se  sabe  quién,  qué,  cuándo  y  de  dónde  fueron  usados.  

2.  Casos  de  uso  o  ejemplos  de  Seguridad  (4/4)  

18  

• …  y  Ges$ón  de  Iden$dades  (Ges$ón  de  ciclo  de  vida  de  credenciales  y  atributos)  •  Ninguno  de  los  puntos  anteriores  (auten$cación,  autorización,  confidencialidad,  etc.)  puede  ser  implantado  sin  

antes  hacer  “Ges$ón  de  Credenciales”,  y  esto  significa:  

•  Crear  un  modelo  único  de  usuarios,  grupos  y  roles  (modelo  canónico  de  usuarios).  

•  Integración  y  consolidación  de  las  fuentes  de  credenciales  (integración  de  datos).  •  Aprovisionamiento  (propagar  las  credenciales  a  los  sistemas  que  los  necesitan).  

•  Ges$ón  del  Ciclo  de  Vida  de  las  Iden$dades  (baja,  alta,  actualizaciones,  suspensión,  permisos,  etc.).  

•  Polí$cas  y  estándares  (polí$cas  de  seguridad).  

3.  WSO2  IS  y  WSO2  ESB  (1/5)  

19  

1.-

2.-

3.-

4.-

5.-

6.-

7.-

8.-

9.-

Autenticación e Identificación

Autorización

Confidencialidad

Integridad

No Repudio

Anonimato

Disponibilidad y Fiabilidad

Auditoría

Gestión de Identidades

¿Quién eres tu?

¿Qué puedes hacer tu?

Transmisión secreta o privada del mensaje

Nadie haya alterado el mensaje

Nadie pueda rechazar/cuestionar la transacción ni el/los mensajes

No trazabilidad de ciertas transacciones o mensajes

Servicio siempre operativo o con garantía de que funcione

Trazabilidad y recolección de evidencia

Gestión del ciclo de vida de las credenciales y atributos

El “Negocio Conectado” de hoy

REQ

UIS

ITO

S D

E SE

GU

RID

AD

3.  WSO2  IS  y  WSO2  ESB  (2/5)  

20  

“Identity Silos” “Spaghetti Identity”

3.  WSO2  IS  y  WSO2  ESB  (3/5)  

21  

Hay que ser “políglotas”

hVp://www.slideshare.net/rcarhuatocto/wso2-­‐con2013-­‐soacryptorcarhuatoctorev2  

3.  WSO2  IS  y  WSO2  ESB  (4/5)  

22  

Implementada  completamente.  

Integrada  pero  no  rica  en  funcionalidades.  

3.  WSO2  IS  y  WSO2  ESB  (5/5)  

23  

Identity Mediation Language

hVp://blog.facilelogin.com/2015/05/idenGty-­‐mediaGon-­‐language-­‐iml.html  

El “Identity Bus”

hVp://www.slideshare.net/prabathsiriwardena/connected-­‐idenGty-­‐the-­‐role-­‐of-­‐the-­‐idenGty-­‐bus  

4.  Aplicando  Seguridad  (1/5)  

24  

•  El  proceso  seguido  

Ges,ón  de  Accesos  e  Iden,dades  (IAM).    •  User  creden$al  

lifecycle  Management  

•  Modelo  de  usuarios    

Ges,ón  de  Accesos  e  Iden,dades  (IAM).    •  Servicio  de  

Auten$cación  y  Autorización  

•  Servicio  de  SSO    

Seguridad  de  la  Información.    •  PKI  y  Firma  Digital  •  Time  Stamp  •  Seguridad  de  

Documentos.  

Disponibilidad  de  los  Servicios  y  API.    •  Throtling  •  QaS  •  Firewalling  

Auditabilidad.    •  No  Repudio  •  Evidencias  

Monitoring      

4.  Aplicando  Seguridad  (2/5)  

25  

*

* * * *

* * * * *

Federated  User  Management  

Portal  B2B,  B2C,  E2E  (API)  

BAM,  BI    &  BigData  

 (WSO2  SS,  BAM,  CEP)  

BPM  Applica$ons  (Bonita  BPM)  

                                                                                                                         (WSO2  ESB)          

Portal  /  Front-­‐end  Iden$ty  Management  

Web,  Collab,  Mobile,  Portlets   B2B,  B2C,  API  

(Penrose  Virtual  Directory)  

Exis$ng  Business  Applica$ons  

New  Business    Applica$on    Systems  

Bonita  Studio  

Bonita  Workflow  Engine  

Presenta$on    Layer  

Orchestra$on  Layer  

Business  Service    Layer  

CONTROLLER  

MODEL  

VIEW  

SECU

RITY  

Bonita  UX  Portal  

SERVICES  

PHP,  Ruby,  Python,  Java  

2 3

4

5

6

7

9 10

8

(WSO2  IS)  

1

 GOVERNED  SERVICES  

9

• Un  Negocio  Conectado  

4.  Aplicando  Seguridad  (3/5)  

26  

•  Flujos  implementados  

1.  Start  login  process  2.  Pass  login  process  to  Bonita  3.  Bonita  passes  login  process  4.  OB  passes  login  process  5.  WSO2IS  sends  response  6.  OB  redirects  response  7.  Bonita  redirects  response  8.  Liferay  receive  response  

Authen$ca$on  in  Openbravo  

1.  Start  login  process  2.  Pass  login  process  to  Bonita  3.  Validate  creden$als  4.  WSO2IS  sends  response  5.  Bonita  redirects  response  6.  Liferay  receives  response  

Authen$ca$on  in  Bonita  

1.  Start  login  process  2.  Validate  creden$als  3.  WSO2IS  sends  response  4.  Liferay  receives  response  

Authen$ca$on  in  Liferay  

LIFERAY   WSO2IS   BONITA   OPENBRAVO  

LIFERAY   WSO2IS   BONITA   OPENBRAVO  

Desplegar  WSO2  Iden$ty  Server  (WSO2  IS),  crear  usuarios,  roles,  grupos,  …  

1.  

Configurar  Auten$cación  LDAP  en  Liferay  apuntando  al  LDAP  embebido  de  WSO2  IS.  Habilitar  la  sincronización  usuarios,  roles,  grupos,  …  

2.  

Configurar  Auten$cación  LDAP  y  sincronización  en  Bonita  BPM  apuntando  al  LDAP  embebido  de  WSO2  IS.  3.  

Configurar  Auten$cación  LDAP  y  sincronización  de  usuarios  en  Openbravo  apuntando  al  LDAP  embebido  de  WSO2  IS.  4.  

Verifique  el  proceso  de  auten$cación  y  de  sincronización  de  usuarios  en  todo  el  ecosistema.  5.  

Después  de  consolidar  repositorios  de  Usuarios  y  validar  el  proceso  de  Auten$cación,  estamos  listos  para  implementar  servicio  de  Autorización,  SSO,  Federación  de  Iden$dades,  Social  Login,  etc.  

6.  

4.  Aplicando  Seguridad  (4/5)  

27  

•  Firma  Digital  

hVp://www.slideshare.net/rcarhuatocto/wso2-­‐con2013-­‐soacryptorcarhuatoctorev2  

4.  Aplicando  Seguridad  (5/5)  

28  

•  Firma  Digital  

hVp://www.slideshare.net/rcarhuatocto/wso2-­‐con2013-­‐soacryptorcarhuatoctorev2  

5.  Demostración  #1  (1/3)  

29  

• Ges$ón  de  Iden$dades  (Aprovisionamiento)  

hVp://holisGcsecurity.wordpress.com/2014/01/13/iam-­‐organizaciones-­‐con-­‐wso2is    

*

* *

Federated  User  Management  

APP  2  

APP  1  Iden$ty  Management  

(Virtual  Directory)  

SECU

RITY  

(WSO2  IS)  

9

API  (provision

ing)  

UserAdm

in  SOAP

 

*

APP  3  

*

5.  Demostración  #1  (2/3)  

30  

•  Bring  Your  Own  ID  (BYOID):  Social  Login  

* * *

Federated  User  Management  

APP  2    

(ERP,  CRM,  …)  

APP  1    

(Mobile  App)  

Iden$ty  Management  

(Virtual  Directory)  

SECU

RITY  

(WSO2  IS)  

9

Facebook  

Travelocity.COM    

(Adhoc  WebApp)  

LinkedIn  

SAML   WSO2  IS  5.0:  •  Suppor$ng  BYOID  with  Chained  Collabora$ve  

Federa$on  (CCF)  patern.  •  Can  “mediate”  between  OpenID,  OAuth  1.0,  OAuth  2.0,  

SAML  2.0  and  OpenID  Connect.  •   Built  integra$on  with  Google  (with  openID),  Facebook  

(Graph  API  1.0),  Yahoo  and  Microso{  Live.  

hVps://developer.linkedin.com/docs/oauth2  hVps://developers.facebook.com  

OAuth  

5.  Demostración  #1  (3/3)  

31  

•  Auten$cación  y  Autorización  en  API  (1/2)  hVp://wso2.com/library/arGcles/2015/03/bring-­‐your-­‐social-­‐idenGty-­‐to-­‐perform-­‐organizaGonal-­‐authorizaGon-­‐acGons-­‐with-­‐wso2-­‐idenGty-­‐server/  

Exis$ng  Business  Applica$ons  

ESB  

5.  Demostración  #1  (3/3)  

32  

•  Auten$cación  y  Autorización  en  API  (2/2)  hVps://holisGcsecurity.wordpress.com/2015/04/19/applying-­‐ws-­‐security-­‐policy-­‐framework-­‐to-­‐wso2esb-­‐wso2dss/  

* *

Federated  User  Management  

API  

Iden$ty  Management  

(Virtual  Directory)  

SECU

RITY  

1

(WSO2  IS)  

3

9

2

WS-­‐SECURITY  

JWT  (JSon  Web  Token)  

OAUTH  

USER  TOKEN  

ERP   CRM   MS   Oracle   IBM   SAP  

4

WSO2  ESB:  •  Axis2  Server  

•  Rampart  (WS-­‐Security)  •  PasswordCallback  (Axis2  Handler)  

WSO2  AM:  •  Habilitar  JWT  (Java  Web  Token)  •  htps://docs.wso2.com/display/AM180/Passing+Enduser

+Atributes+to+the+Backend+Using+JWT  •  %APIM_HOME%/repository/conf/api-­‐manager.xml  

{ "typ":"JWT", "alg":"NONE" }{ "iss":"wso2.org/products/am", "exp":1345183492181, "http://wso2.org/claims/subscriber":"admin", "http://wso2.org/claims/applicationname":"app2", "http://wso2.org/claims/apicontext":"/placeFinder", "http://wso2.org/claims/version":"1.0.0", "http://wso2.org/claims/tier":"Silver", "http://wso2.org/claims/enduser":"sumedha" }

5.  Demostración  #2  

33  

•  Firma  Digital  

hVp://www.slideshare.net/rcarhuatocto/wso2-­‐con2013-­‐soacryptorcarhuatoctorev2  

6.  Conclusiones  

34  

• Defina  la  Arquitectura  • Haga  un  Plan:  •  Iden$fique  una  o  varias  estrategias  de  integración  de  “seguridad”  

•  Inicie  una  “Prueba  de  Concepto”  •  Todo  es  API,  es  fácil.  

• No  se  olvide  de  lo  primero:  •  Ges$ón  de  Iden$dades  antes  de  desplegar  las  estrategias  de  integración  de  “seguridad”  

• Monitorización  y  Auditabilidad    

Preguntas    y  

respuestas  

35  

Contact  us  !  

Connect  the  World