Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida –...
-
Upload
alejo-arcila -
Category
Documents
-
view
234 -
download
0
Transcript of Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida –...
Seguridad en Aplicaciones GeneXus Algunos consejos prácticos
Enrique Almeida – [email protected]
Alexander Wolff – [email protected]
Agenda
Quienes somos
Conceptos básicos de seguridad
Incorporación de seguridad a aplicaciones
Implementaciones realizadas
Conclusiones
¿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
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
Seguridad
Garantizar que los recursos del sistema (datos y programas) sean usados de la forma
planificada.
Es indispensable planificar
Manejo de riesgos
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
Capas tecnológicas
Sistema Operativo / Software de base
Aplicación GeneXus
Datos
DBMS Mensajes, txtXML, imagenes
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Implementación de Medidas
Evaluar
Identificando Escenarios SIGE-ERP
WINJava
SQL Server
Funcionarios
Público
WEBJava
Autenticado
Web PúblicoJava
EDIJava
Clientes
InternetClientes Mayores
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
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Implementación de Medidas
Evaluar
Estudio de Riesgos
Capas Problema
Software de base
Aplicación Datos
Autentica-ción
Autorización
Comunica-ción segura
Auditoría
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
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Mitigando Riesgos / Medidas
Evaluar
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
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
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
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
Tablas de Auditoria
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
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
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
Triggers
Trigger INS
Tablas de Auditoria
Trigger UPD
Trigger DEL
Tabla
Aplicación
Operación (INS, UPD, DEL)
Consulta de Auditoria
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
www.AuditDatabase.com
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
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
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
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
Estudio de Seguridad
Identificar Escenarios
Estudio de Riesgos x Escenario
Mitigando Riesgos / Medidas
Evaluar
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
Seguridad en Aplicaciones GeneXus – Algunos consejos prácticos
Enrique Almeida – [email protected]
Alexander Wolff – [email protected]