¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
Transcript of ¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
¿Qué hace hoy GeneXus por la seguridad de nuestras Aplicaciones?
Alejandro ZeballosInvestigación y Desarrollo (GAM), Artech
Tres pilares de la seguridad
Disponibilidad
Integridad
Confidencialidad
Mapa de seguridad
Seguridad física1Seguridad en
comunicacionesSeguridad en Internet
2
3
4
5
6
Seguridad wireless
Capacitación en seguridad
Seguridad de la información
v“ ”
GeneXus nos provee la funcionalidad de poder incorporar SEGURIDAD a nuestras aplicaciones WEB y Smart Devices.
Veamos estos puntos
¿Qué hace en WEB? ¿Qué hace en SD?
Casos de uso Futuro
¿Qué es GAM?
v
¿QUÉ ES GAM?
¿Qué es GAM?• GAM = GeneXus Access Manager• Biblioteca integrada a GeneXus• Fácil de incorporar a la KB
• Provee una solución a:– Autenticación– Autorización
v
¿QUÉ HACE EN WEB?
¿Qué hace en WEB?• Autenticación
– Base de datos Local– Web Service Externo– Facebook– Google– Twitter
• Autorización– Quien puede ejecutar/acceder a un objeto– En las Transacciones permiso por Modo
Autenticación WEB
WEB APPLICATI
ON DB APP.
DB GAMGAM API
Login Usuario PasswordHTTPS
SessionRespuesta
Application Server
Autorización WEB• Generación de Permisos por cada objeto
– <nombre-objeto>_Execute– En Transacciones hay permisos por Modo
• Código del chequeo de seguridad en el generador– Declarativo– No se “ensucia” el código GeneXus
• Chequeo de seguridad en cada Get/Post/Ajax/etc.
Autorización WEB
WEB APPLICATI
ON
DB APP. DB GAM
GAM APIGET/POST/AJAXValid
Session
Respuesta
Application Server
Valid Permission
v
¿QUÉ HACE EN SMART DEVICES?
¿Qué hace en Smart Devices?• Autenticación
– Utilizamos oauth 2.0
• Autorización– Quien puede ejecutar/acceder a un servicio o objeto SD– En las Transacciones permiso por Modo de cada BC
expuesto como Servicio
• HTTPS
Autenticación SD
WEB APPLICATI
ON
DB APP. DB GAM
GAM APILogin Client _Id Client _Secret Usuario Password
Valid Token
Access Token
Application Server
Valid Permission
GET o PUT con Access Token
Respuesta RESTHTTP 200/401/403
Autorización SD
v
CASOS DE USO
Caso de uso• Aplicación del evento
– Aplicación SD pública– Usuario anónimo– Backend privado y con permisos
Caso de uso• Pesobook
– Backend privado– Aplicación SD privada
v
FUTURO
Futuro del GAM en TILO• Permisos en la KB
– Conocer quien lo utiliza– Ayudar al programador con intellisense
• Permisos por Control
• Permisos por Datos
• Menú dinámico en función a la metadata del GAM
v
CONCLUSIONES
¿Y con esto es suficiente?• Resolvemos de seguridad en la aplicación
• Utilizar HTTPS para autenticación
• Proceso consciente de lo que se publica
• Seguir pasos de Hardening
ReferenciasWIKI de GXtechnical
• http://wiki.gxtechnical.com
“Security Scanner”: Analizador de KB
• http://marketplace.genexus.com
“Going into production: checklist for Applications using GAM”:• http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Going+into+production%3A+checklist+for+Applicati
ons+using+GAM
“OWASP Top 10 in GeneXus Applications”:
• http://wiki.gxtechnical.com/commwiki/servlet/hwiki?OWASP+Top+10+in+GeneXus+Applications,
OWASP top 10:
• https://www.owasp.org/index.php/Top_10_2010-Main
Referencias• Conferencias relacionadas
– Cómo hacer aplicaciones seguras - Sala 2C, hoy, 11:00– Café con Seguridad – Piso 25, hoy, 11:45
• Alejandro Zeballos, Investigación&Desarrollo (GAM), [email protected]
¡GRACIAS!
Alejandro Zeballos
Artech