Definir Las Políticas de Seguridad.
Definir Las Políticas de Seguridad.
Definir Las Políticas de Seguridad.
Septiembre 2019
Definir la estrategia para brindar las técnicas, herramientas, políticas y protocolos que le
garanticen la seguridad necesaria de una aplicación web .
DESARROLLO
Una cooperativa desea crear una aplicación web para que sus usuarios puedan realizar sus
transacciones on line (consultas, aportes, retiros, actualizaciones, descarga de certificados,
extractos, etc.). Usted ha sido la persona seleccionada para crear una estrategia que
pueda brindar las técnicas, herramientas, políticas y protocolos que le garanticen la seguridad
necesaria para su buen funcionamiento.
Fase requerimientos:
- Control de autenticación.
- Control de roles y privilegios.
- Requerimientos orientados al riesgo.
- Aprobación de privilegios.
- Validación de entradas.
- Codificación de Salidas.
- Estilo de Programación.
- Manejo de Log de cambios.
- Prácticas Criptográficas.
- Manejo de errores y Logs.
- Manejo de archivos.
- Manejo de memoria.
- Estandarización y reutilización.
- Funciones de Seguridad.
Fase de Pruebas:
- Verificar que los archivos obtenidos de fuentes no confiables se almacenen fuera del
webroot, con permisos limitados, preferiblemente con una fuerte validación.
- Verificar que el servidor web o de aplicación se encuentre configurado por defecto para
negar acceso a recursos remotos o sistemas fuera del servidor web o de aplicación.
- Verificar que el código de la aplicación no ejecute datos cargados obtenidos de fuente no
confiables.
- Verificar que no utiliza FLash, Active-X, Silverlight, NACL, Java del lado del cliente u
otras tecnologías del lado del cliente que no sean soportadas de forma nativa a través de
los estándares de navegador W3C.
- Verificar que archivos no confiables enviados a la aplicación no sean utilizados
directamente por comandos de entrada/salida de archivos, especialmente para proteger
contra manipulaciones de rutas, archivo local incluido, manipulación de tipo mime y
vulnerabilidades de inyección de comandos de sistema operativo.
1. Recopilacion de Informacion
Se centra en recoger tanta información como sea posible, es un paso necesario en una
prueba de intrusión, esta se puede llevar a cabo de muchas formas:
● Spiders, Robots y Crawlers
● Reconocimiento mediante motores de Búsqueda
● Identificación de puntos de entrada de la aplicación
● Pruebas para encontrar firmas de Aplicaciones Web
● Descubrimiento de aplicaciones
● Análisis de códigos de error
4. Pruebas de autenticación
Los atacantes usualmente buscan dañar los mecanismos de autenticación con el fin de
tener acceso a la información que les interese, las vulnerabilidades que los atacantes
usualmente explotan son por ejemplo: la falta de canales de cifrado para intercambiar
información desde el cliente - servidor, contraseñas débiles las cuales son propensas a ser
descifradas con herramientas como las conocidas diccionario de contraseñas o por fuerza
bruta, falta de definición de permisos en la aplicación.
5. Pruebas de autorización
Permite el acceso a recursos solamente a los usuarios que tienen permiso para
modificarlos, estas pruebas consisten en comprender detalladamente como funciona el
mecanismo de autorización y con esta información saltarse el mismo.
Por último hay que tener en cuenta herramientas para hacer análisis de seguridad en nuestras
aplicaciones por ejemplo las que explicamos a continuación:
1. WebScarab
Aplicación para pruebas de seguridad web cuyo desarrollo está inactivo, debido al
lanzamiento de OWASP ZAP. Se solía utilizar como un proxy que intercepta y permite al
usuario alterar las peticiones HTTP y HTTPS en el navegador web y la respuesta del
servidor web.
2. Dir Buster
DirBuster es una aplicación Java multi hilo diseñada para obtener por fuerza bruta los
nombres de directorios y archivos en servidores Web/de aplicación. A menudo ocurre
que lo que ahora parece un servidor Web en una fase de instalación por omisión no lo es,
y tiene páginas y aplicaciones ocultas. DirBuster trata de encontrar estos.
Se puede entender que no tenemos una solución completa a los riesgos que se presentan en el uso
de las aplicaciones desarrolladas, pero con estas pruebas de seguridad y empleando buenas
prácticas a la hora de desarrollarlas podemos mitigar exponencialmente estos riesgos por ello es
esencial estar informados sobre estos estándares de seguridad y mantener un orden en nuestros
proyectos para brindar un producto de excelente calidad al cliente y que la circulación de la
información tenga un nivel de confidencialidad muy alto para así evitar su exposición a terceros.
Para que la seguridad sea eficiente debe ser un conjunto de procesos, tecnologías y personas.
BIBLIOGRAFÍA
https://www.owasp.org/images/5/5e/OWASP-Top-10-2017-es.pdf
https://www.owasp.org/images/8/80/Gu%C3%ADa_de_pruebas_de_OWASP_ver_3.0.pdf
https://www.owasp.org/images/2/2f/OWASP_SUSCERTE.pdf
Ortega Candel, José Manuel (2018). Seguridad en aplicaciones Web Java, pág 92,93. Madrid
España. RA-MA Editorial