seguridad en aplicaciones web por diego rostagnol de hexa gug agosto 2013

11
Generando Aplicaciones Seguras Generando Aplicaciones Seguras con GeneXus con GeneXus Diego Rostagnol - Diego Rostagnol - PedidosYA PedidosYA

Upload: cinthia-soca

Post on 28-Jul-2015

273 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: 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

Page 2: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013

Dos grandes áreas

Servidor Aplicación

Page 3: Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013

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

¿ 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

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

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

• 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

{"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

¿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

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

Gracias!!Gracias!!