![Page 1: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/1.jpg)
Seguridad en Aplicaciones GeneXus Algunos consejos prácticos
Enrique Almeida – [email protected]
Alexander Wolff – [email protected]
![Page 2: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/2.jpg)
Agenda
Quienes somos
Conceptos básicos de seguridad
Incorporación de seguridad a aplicaciones
Implementaciones realizadas
Conclusiones
![Page 3: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/3.jpg)
¿Quienes somos?
Desarrollo de software y Consultoría
Más de 10 años con GeneXus
Reconocimientos
.NET- Early adopter of new technology (2001)
Mejor beta tester GeneXus (2000, 2001, 2004)
Certificación ISO 9001:2000
![Page 4: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/4.jpg)
Nuestra experiencia
Misión crítica con GeneXus
SIGE (ERP para empresas Medianas o Grandes)
KB con 10 años
Aduana de Uruguay
Operaciones por U$S 7.000 millones
Recaudación U$S 819 millones en el 2006.
Aduana de Costa Rica
No somos especialistas en seguridad
![Page 5: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/5.jpg)
Seguridad
Garantizar que los recursos del sistema (datos y programas) sean usados de la forma
planificada.
Es indispensable planificar
Manejo de riesgos
![Page 6: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/6.jpg)
Definiciones
AutenticaciónIdentificar los clientes de nuestra aplicación
AutorizaciónEl cliente esta autorizado a realizar esa acción
Comunicación SeguraPrivacidad – No puede ser visto por agentes no autorizados
Integridad – Lograr que la información no sea modificada
AuditoriaEvidencia de accesos y acciones con recursos del sistema.
Registro de intentos de accesos
![Page 7: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/7.jpg)
Capas tecnológicas
Sistema Operativo / Software de base
Aplicación GeneXus
Datos
DBMS Mensajes, txtXML, imagenes
![Page 8: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/8.jpg)
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Implementación de Medidas
Evaluar
![Page 9: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/9.jpg)
Identificando Escenarios SIGE-ERP
WINJava
SQL Server
Funcionarios
Público
WEBJava
Autenticado
Web PúblicoJava
EDIJava
Clientes
InternetClientes Mayores
![Page 10: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/10.jpg)
Escenario I – Java Win Sql server
Conexión con usuario único y fijo
Dejar registrado quien modifica determinadas tablas
Solo algunos usuarios pueden realizar operaciones “sensibles”.
AplicaciónGeneXus
Java
JDBC
SQL ServerFuncionarios
![Page 11: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/11.jpg)
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Implementación de Medidas
Evaluar
![Page 12: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/12.jpg)
Estudio de Riesgos
Capas Problema
Software de base
Aplicación Datos
Autentica-ción
Autorización
Comunica-ción segura
Auditoría
![Page 13: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/13.jpg)
Estudio de Riesgos Escenario I - Java Win SQL Server
Capas Problema
Win
/Linux
AplicaciónJava
SQL Server
Autenticación Usuario y Contraseña
Se usan usuarios del SO
Usuario fijo
Autorización Ambientes y Usuarios
Comunicación segura
Auditoria Operaciones
Aplicación
Procesar Transaction Log
![Page 14: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/14.jpg)
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Mitigando Riesgos / Medidas
Evaluar
![Page 15: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/15.jpg)
Estudio de Riesgos Escenario I - Java Win SQL Server
Capas Problema
Win
/Linux
AplicaciónJava
SQL Server
Autenticación Usuario y Contraseña
Se usan usuarios del SO
Usuario fijo
Autorización Ambientes y Usuarios
Comunicación segura
Auditoria Operacionesde la aplicación
Procesar Transaction Log
![Page 16: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/16.jpg)
Autorización en la AplicaciónAmbientes y Usuarios
Operaciones
Ver Factura
Emitir Factura
Anular Factura 8
5
3
Usuarios
Nivel del usuario
Ambiente Facturación
if Nivel( EALMEIDA, Facturacion) >= Nivel( Emitir Factura )call(EmitoFactura)
elseMsg(‘Usuario no Autorizado’)
endif
![Page 17: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/17.jpg)
Estudio de Riesgos Escenario I - Java Win SQL Server
Capas Problema
Win
/Linux
Aplicación SQL Server
Autenticación Usuario y Contraseña
Se usan usuarios del SO
Usuario fijo
Autorización Ambientes y Usuarios
Comunicación segura
Auditoria OperacionesAplicación
Procesar Transaction Log
![Page 18: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/18.jpg)
Auditoria de datos y operaciones
Auditar modificaciones de datos
Auditar operaciones de la aplicación
Unificar tablas de auditoria facilita consultas
Triggers
Log Transaccional
Auditoria DBMS
Tablas de Auditoria
AplicaciónGeneXus
Operación
![Page 19: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/19.jpg)
Tablas de Auditoria
![Page 20: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/20.jpg)
Auditoria de cada DBMS
DBMS’s mas populares tienen su auditoria
SQL Server Profiler
MySQL general query log, binary log
Auditoria de Oracle
Posibilidad auditar SELECT’s
Problemas determinar valor anterior/nuevo
![Page 21: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/21.jpg)
Auditoria de Datos Transaction Log
Transaction Log almacena valor anterior / nuevo
¿A que usuario “cargarle” las modificaciones?
Propiedad “Before Commit” para firmar el Log
SQL Server Transaction Log
. . . CommitBegin
Transaction
Insert
DBMSuser=sa
Update
DBMSuser=sa
New //Bitacora Usuario=‘AWOLFF’ Programa=‘pFactura’EndNew
![Page 22: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/22.jpg)
Auditoria de DatosProcesando el Log transaccional
Carga Auditoria
Base de Datos de auditoria
Log Transaccional
“firmado”
ConsultasApexSQLLog Tool
ListaTablas
auditadas
XML datos Auditoria
AplicaciónGeneXus
UserId=AWOLFF
SQL Server
user=sapass=xxx
![Page 23: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/23.jpg)
Triggers
Trigger INS
Tablas de Auditoria
Trigger UPD
Trigger DEL
Tabla
Aplicación
Operación (INS, UPD, DEL)
Consulta de Auditoria
![Page 24: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/24.jpg)
Triggers II
Ventajas
Disponibles de forma nativa en los DBMS’s
Respuesta instantánea ante un evento auditado
Desventajas
Hay que definir con anticipación que auditar
Peligro de pérdida en Reorganizaciones
Tienen una penalización de performance
Hay que programarlos para cada DBMS
![Page 25: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/25.jpg)
www.AuditDatabase.com
![Page 26: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/26.jpg)
IIS
Escenario II – ASP.NET/Oracle
Proteger credenciales del usuario en redes públicas
Proteger privacidad de cierta información sensible
Clientes heterogéneos
AplicaciónWEB GeneXus
.NET
ADO.NETOracleUsuario InternetInternet
![Page 27: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/27.jpg)
ASP.NET / Oracle
Capas Problema
IIS ASP.NET Oracle
Autenticación Basic + SSL
Forms Usuario fijo
Autorización Script Ambientes y Niveles
Privilegios Mínimos
Comunicación segura
SSL
Auditoria Logs IIS Operaciones de la Aplicación
Triggers
![Page 28: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/28.jpg)
Datos a proteger en la comunicación
Credenciales de usuario
Información sensible del propio negocio
Autenticación y Comunicación Segura / IIS – ASP.NET
IIS
AplicaciónWEB GeneXus
.NETBrowser
https (SSL)
Usuario/ContraseñaTarjetas de créditoInformación financiera
![Page 29: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/29.jpg)
Credenciales y Tickets de Autenticación
Windows Integrated Authentication
Form de usuario/contraseña + SSL
Basic Authentication + SSL en toda la aplicación
Información del Negocio
SSL en formularios que manejan info. Sensible
En GX propiedad Protocol Specification = “SECURE HTTPS:”
Autenticación y Comunicación Segura / IIS
![Page 30: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/30.jpg)
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Mitigando Riesgos / Medidas
Evaluar
![Page 31: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/31.jpg)
Conclusiones
Complejo y necesita especialización
Cada vez mas importante
Consume recursos
BD Aduanas 135Gb, cerca de la mitad es auditoria
Se necesitan metodologías
Darle mas visibilidad al tema
Discutir ideas
![Page 32: Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy](https://reader035.vdocuments.site/reader035/viewer/2022081419/5665b4591a28abb57c90c36d/html5/thumbnails/32.jpg)
Seguridad en Aplicaciones GeneXus – Algunos consejos prácticos
Enrique Almeida – [email protected]
Alexander Wolff – [email protected]