Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
-
Upload
cinthia-soca -
Category
Technology
-
view
275 -
download
5
Transcript of Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Generando Aplicaciones Seguras con Generando Aplicaciones Seguras con GeneXusGeneXus
Diego Rostagnol - PedidosYADiego Rostagnol - PedidosYA
Dos grandes áreas
Servidor Aplicación
Autenticación != Autorización
Autenticación: Es el proceso por el cual demostramos que somos quienes decimos ser.
Autorización: Se produce despues de la Autenticación y es el proceso por el cual obtenemos o no permisos para efectuar una determinada acción.
¿ Que implica?
• Crear un manejo de permisos de usuarios de mi sistema.
• Evitar que personas no autorizadas puedan autenticarse ante mi aplicación.
• Asegurar que los usuarios accedan solamente a los datos que que están autorizados a manipular.
Errores comunes• No controlar que exista un usuario logueado en todas las
pantallas de la aplicación
• No validar los roles en cada pantalla
• Confiar en que el usuario llega a las pantallas de mi aplicación siguiendo los links en ella.
• No usar las Transacciones como parte de mi aplicación pero dejarlas accesibles.
• Dejar los prompts automaticos sin seguridad
• Poner el código del usuario logueado en el form o pasarlo por parametro
• Dejar disponible en producción el archivo DeveloperMenu.xml
Consideraciones
• No se puede confiar en las validaciones que ejecutan del lado del cliente. (Browser).
•Las validaciones de los datos ingresados se deben hacer del lado del servidor.
•Propiedades Visible y Enabled no aseguran que el valor de las variables o atributos no sea modificado.
• Aplicaciones para Smart Devices
• Compuesta por una parte nativa en el Dispositivo que se alimenta de servicios REST alojados en un Servidor Web.
• Servicios REST:http://.../higueron/servlet/rest/cliente/
Transacción
1
Clave
Nuevos Problemas de Seguridad en EVO2
{"Cliente":{"CliId":129,"CliNom":"Rodolfo","CliNac":"1976-08-5"}}
• JSON
• REST Usa operaciones del protocolo HTTP (GET, PUT, POST, DELETE)
• Los servicios se generan cuando la Trn se expone como WS REST en una App SD (Ej: Al aplicar WWSD a una TRN)
• Hay que poner reglas que hagan las comprobaciones deautenticación y autorización.
Nuevos Problemas de Seguridad en EVO2
¿Como nos ayuda GeneXus?
• Encriptación de parametros (SiteKey y SessionKey).
• GAM !!
• Se encarga de prevenir automáticamente ataques de tipo "SQL Injection".
Buenas practicas
• Usar MD5, SHA1 o similar para la encriptación de contraseñas (algoritmos de reducción criptográficos).
• NUNCA pasar identificadores de usuario por parámetro
• ??????
Gracias!!Gracias!!