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
![Page 1: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/1.jpg)
Generando Aplicaciones Seguras con Generando Aplicaciones Seguras con GeneXusGeneXus
Diego Rostagnol - PedidosYADiego Rostagnol - PedidosYA
![Page 2: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/2.jpg)
Dos grandes áreas
Servidor Aplicación
![Page 3: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/3.jpg)
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.
![Page 4: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/4.jpg)
¿ 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.
![Page 5: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/5.jpg)
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
![Page 6: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/6.jpg)
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.
![Page 7: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/7.jpg)
• 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
![Page 8: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/8.jpg)
{"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
![Page 9: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/9.jpg)
¿Como nos ayuda GeneXus?
• Encriptación de parametros (SiteKey y SessionKey).
• GAM !!
• Se encarga de prevenir automáticamente ataques de tipo "SQL Injection".
![Page 10: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/10.jpg)
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
• ??????
![Page 11: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013](https://reader035.fdocuments.ec/reader035/viewer/2022081811/55b7162cbb61eb8c568b457f/html5/thumbnails/11.jpg)
Gracias!!Gracias!!