T4 - Seguridad Web

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

TEMA 4

SEGURIDAD WEB
Objetivo

 Desarrolladores web
 Conocimientos HTML, CSS, JS, BBDD
 Desarrolladores interesados en mejorar la seguridad de sus aplicaciones web

Contenido

• Principios de seguridad
• Entradas y salidas (vias de ataque)
• Tipos de ataque más comunes
• Protección de datos (encriptando, codificando)

PRINCIPIOS DE SEGURIDAD

- Seguridad pasiva

• Nuestra aplicación debe ser segura por defecto (Sin intervención humana)
• Cualquier estado de error no debe proporcionar inseguridad
• Debemos tener cuanto menos puntos de entrada, mejor
• Objetivo: Minimizar oportunidades de ataque

- Seguridad activa

• Acciones conscientes de seguridad


• Revisión periódica del sistema (Buscar fallos)
• Comprobación de vulnerabilidades-auditoría
• Realización de copias de seguridad

SIMPLEZA

• Existe multitud de elementos que comprobar


• Existe multitud de ataques que frenas
• Un puñado de ellos son los más comunes

EL PRINCIPIO DE PARETO

• Regla del 80-20


• No todos lo ataques tienen la misma distribución
• Con el 20% de prevención se puede detener el 80% de los ataques
• Conocer los ataques más comunes, y más frecuentes.

- La seguridad constante y continua

• Aplicamos las medias de seguridad principales


• La seguridad web evoluciona
• Cada día salen nuevos ataques / debilidades / no autorizadas
• Debemos permanecer informados y actualizados
• Debemos restringir el número de accesos abiertos en el servidor
CONTROL DE LOS LUGARES DE ACCESO

• Por dónde pueden recibir los ataques


• Una aplicación web es una aplicación publicada en un servidor web
• Una aplicación puede ser accedida por múltiples sitios a la vez
• Cada lugar de acceso es una oportunidad de entrada (enlaces)

El CLIENTE

• La propia aplicación representa muchas oportunidades


• Los formularios son un punto frecuente de acceso
• Las URLs pueden ser manipuladas
• Las cookies pueden ser leídas
• Los controladores pueden ser interceptados

EL SERVIDOR

• Tenemos mayor control / Objetivo de ataques


• Servicios / Puertos abiertos
• El FTP es un punto de entrada (File Transfer Protocol)
• El servidor de BBDD es un punto de entrada
• SSH es otro punto de entrada /Terminal remoto Unix (Secure Shell)
• VNC es un puerto fácil de atacar (Virtual Network Computing)
• Debemos restringir el número de accesos abiertos en el servidor

LA RED

• Entre el cliente y el servidor existe una red


• La red tiene múltiples nodos intermediarios /Nodo escuchando-interceptando
• Los nodos pueden ser interceptados
• Alguien puede escuchar e incluso modificar nuestras comunicaciones
• Encriptar la comunicación nos puede ayudar a tener privacidad
• (Evitar información interceptada entre el cliente y el servidor)

CONTROL DE ENTRADAS WEB

• El control de las entradas


• Llamamos entrada a cualquier punto de ingreso de información en un sistema de informático
• La entrada más común a un sistema son los formularios
• Las aplicaciones informáticas tienen entradas en el 99% de los casos (Páginas estáticas)
• Las entradas permiten adaptar el comportamiento de la aplicación
• Sitio Web vs Aplicación web
El peligro de las entradas

• Son un peligro pero a la vez necesarias


• El contenido de una entrada pasa desde "el mundo humano" hacia el interior del programa
• El contenido acaba siendo tratado por el programa o por la base de datos o los dos
• Se pueden inyectar cadenas que alteren el comportamiento del programa o de la BBDD

Estrategias

• Mantener al mínimo el número de entradas


• Realizar comprobaciones de los datos antes de darles acceso al programa
• Validación de las entradas web
• Consiste en evaluar el valor de las entradas como paso previo a cualquier otro
• Si el dato tiene la forma esperada, se le deja pasar
• Si el dato no tiene la forma deseada, no se le deja pasar, pudiendo tomar acciones secundarias

Validación en el cliente

• El contenido de una entrada puede ser validado en el lado del cliente


• Tarea mayormente para Javascript
• Ventaja: Interactividad (validación instantánea)
• Desventaja: Inseguridad (pueden leer nuestro código)

Validación en el lado del servidor

• La validación se ejecuta mediante lenguaje de servidor


• Ventaja: la validación es más segura, no es visible
• Desventaja: La validación es menos interactiva
• Posible solución: Validación mediante AJAX
• (Ejemplos números, fechas, etc.)

Validación de entrada en HTML

Javascript

También podría gustarte