gestión de identidades y control de acceso en los servicios usando wso2 identity server
Post on 29-Jul-2015
380 Views
Preview:
TRANSCRIPT
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.
Mountain View,
California, USA
Bloomington Indiana, USA
London, United Kingdom
Colombo, Sri Lanka
São Paulo, Brazil
Oficinas
5
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
• "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 (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
Travelocity.COM
(Adhoc WebApp)
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
top related