Download Seguridad en aplicaciones GeneXus
Document related concepts
no text concepts found
Transcript
Seguridad en Aplicaciones GeneXus Algunos consejos prácticos Enrique Almeida – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy 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ón Identificar los clientes de nuestra aplicación Autorización El cliente esta autorizado a realizar esa acción Comunicación Segura Privacidad – No puede ser visto por agentes no autorizados Integridad – Lograr que la información no sea modificada Auditoria Evidencia 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, txt XML, imagenes Estudio de Seguridad Identificar Escenarios Estudio de Riesgos x Escenario Implementación de Medidas Evaluar Identificando Escenarios SIGE-ERP Funcionarios WIN Java Clientes WEB Java Autenticado Clientes Mayores Público Internet EDI Java Web Público Java SQL Server Escenario I – Java Win Sql server Funcionarios Aplicación GeneXus Java JDBC SQL Server Conexión con usuario único y fijo Dejar registrado quien modifica determinadas tablas Solo algunos usuarios pueden realizar operaciones “sensibles”. Estudio de Seguridad Identificar Escenarios Estudio de Riesgos x Escenario Implementación de Medidas Evaluar Estudio de Riesgos Capas Software Problema de base Autenticación Autorización Comunicación segura Auditoría Aplicación Datos Estudio de Riesgos Escenario I - Java Win SQL Server Capas Problema Autenticación Autorización Win /Linux Aplicación SQL Server Java Usuario y Se usan Contraseña usuarios del SO Usuario fijo Ambientes y Usuarios Comunicación segura Auditoria Operaciones Procesar Transaction Log Aplicación 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 Autenticación Autorización Win /Linux Aplicación SQL Server Java Usuario y Se usan Contraseña usuarios del SO Usuario fijo Ambientes y Usuarios Comunicación segura Auditoria Operaciones de la aplicación Procesar Transaction Log Autorización en la Aplicación Ambientes y Usuarios Ambiente Facturación Nivel del usuario Usuarios Operaciones Anular Factura 8 Emitir Factura 5 Ver Factura 3 if Nivel( EALMEIDA, Facturacion) >= Nivel( Emitir Factura ) call(EmitoFactura) else Msg(‘Usuario no Autorizado’) endif Estudio de Riesgos Escenario I - Java Win SQL Server Capas Problema Autenticación Autorización Win Aplicación SQL Server /Linux Usuario y Se usan Contraseña usuarios del SO Usuario fijo Ambientes y Usuarios Comunicación segura Auditoria Operaciones Aplicació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 Auditoria DBMS Log Transaccional Triggers Tablas de Auditoria Operación Aplicación GeneXus 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 Insert Update Begin Transaction DBMSuser=sa. .. DBMSuser=sa New //Bitacora Usuario=‘AWOLFF’ Programa=‘pFactura’ EndNew SQL Server Transaction Log Commit Auditoria de Datos Procesando el Log transaccional SQL Server Log Transaccional “firmado” Base de Datos de auditoria user=sa pass=xxx ApexSQL Log Tool Aplicación GeneXus UserId=AWOLFF Lista Tablas auditadas Carga Auditoria XML datos Auditoria Consultas Triggers Aplicación Consulta de Auditoria Operación (INS, UPD, DEL) Trigger DEL Tabla Trigger UPD Trigger INS Tablas 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 Escenario II – ASP.NET/Oracle Usuario Internet Aplicación WEB GeneXus .NET ADO.NET Oracle IIS Proteger credenciales del usuario en redes públicas Proteger privacidad de cierta información sensible Clientes heterogéneos ASP.NET / Oracle Capas Problema IIS Autenticación Basic + SSL Autorización Script ASP.NET Oracle Forms Usuario fijo Ambientes y Niveles Privilegios Mínimos Operaciones de la Aplicación Triggers Comunicación SSL segura Auditoria Logs IIS Autenticación y Comunicación Segura / IIS – ASP.NET Datos a proteger en la comunicación Credenciales de usuario Información sensible del propio negocio https (SSL) Browser Usuario/Contraseña Tarjetas de crédito Información financiera Aplicación WEB GeneXus .NET IIS Autenticación y Comunicación Segura / IIS 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:” 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 – ealmeida@concepto.com.uy Alexander Wolff – awolff@concepto.com.uy