http://wso2.com/library/webinars/2015/06/gestion-de-identidades-y-control-de-acceso-en-los-servicios-usando-wso2-identity-server/
En esta sesión exploraremos las diferentes estrategias para aplicar seguridad (Autenticación, Autorización y SSO) sobre las Aplicaciones de Negocio, Servicios y/o API, conoceremos las funcionalidades de WSO2 IS para resolver todos y cada uno de estos desafíos, conoceremos cómo desde WSO2 ESB y WSO2 API Manager aplicar aspectos de QoS y Poíticas Seguridad.
Se muestra cómo desplegar mecanismos de seguridad (Gestión de Identidades, Autenticación, Autorización, SSO) en toda la Organización.
Se emplea:
WSO2 ESB, BAM, IS, BRS
Bonita BPM, Liferay, Openbravo ERP, Apache DS, Penrose Virtual LDAP
Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Identity Server
1. Last Updated: June 2015
Ges$ón
de
Iden$dades
y
Control
de
Acceso
en
los
Servicios
usando
WSO2
Iden$ty
Server
2. 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.
7. 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
10.
• "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. 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:
12. • 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
13. 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
14. 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.
15. 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.
16. 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.
17. 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.
18. 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).
19. 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
REQUISITOSDESEGURIDAD
20. 3.
WSO2
IS
y
WSO2
ESB
(2/5)
20
“Identity Silos” “Spaghetti Identity”
21. 3.
WSO2
IS
y
WSO2
ESB
(3/5)
21
Hay que ser “políglotas”
hVp://www.slideshare.net/rcarhuatocto/wso2-‐con2013-‐
soacryptorcarhuatoctorev2
22. 3.
WSO2
IS
y
WSO2
ESB
(4/5)
22
Implementada
completamente.
Integrada
pero
no
rica
en
funcionalidades.
23. 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
24. 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
25. 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
SECURITY
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
26. 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.
27. 4.
Aplicando
Seguridad
(4/5)
27
• Firma
Digital
hVp://www.slideshare.net/
rcarhuatocto/wso2-‐
con2013-‐
soacryptorcarhuatoctorev2
28. 4.
Aplicando
Seguridad
(5/5)
28
• Firma
Digital
hVp://www.slideshare.net/rcarhuatocto/wso2-‐con2013-‐
soacryptorcarhuatoctorev2
30. *
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)
SECURITY
(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
31. 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/
32. 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)
SECURITY
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"
}
33. 5.
Demostración
#2
33
• Firma
Digital
hVp://www.slideshare.net/
rcarhuatocto/wso2-‐
con2013-‐
soacryptorcarhuatoctorev2
34. 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