1 SEGURIDAD EN SERVIDORES WEBPEZZENTE, ARMANDO SAJAMA, EMANUEL
2 WEB Red informática mundial es un sistema de distribución de información basado en hipertexto o híper medios enlazados y accesibles a través de Internet. Con un navegador, un usuario visualiza sitios Web compuestos de páginas Web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.
3 Servidor web Un Servidor es una computadora que forma parte de la red y provee servicios a otras computadoras denominadas clientes. Un Servidor Web es un programa diseñado para alojar y transferir paginas web. Estos servidores se mantienen a la espera de peticiones de clientes.
4 Tipos de servidores Servidores Web Servidores de CorreoServidores de Archivos (FTP) Servidores de Chat Servidores de Bases de Datos Servidores Proxy
5 HTTPS (protocolo seguro de transferencia de hipertexto)El sistema HTTPS utiliza un cifrado basado en SSL/TLS (protocolos criptográficos) para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar. El puerto estándar para este protocolo es el 443.
6 Conceptos básicos Ataques ScriptsConsiste en aprovechar alguna debilidad o vulnerabilidad en el software, en el hardware, e incluso en las personas que forman parte de un ambiente informático, a fin de obtener un beneficio, causando un efecto negativo en la seguridad del sistema . Scripts Son un conjunto de instrucciones generalmente almacenadas en un archivo de texto que deben ser interpretados línea a línea en tiempo real para su ejecución, estos se distinguen de los programas ya que deben ser convertidos a un archivo binario ejecutable. Los scripts pueden estar embebidos en otro lenguaje para aumentar sus funcionalidades, como es el caso de los scripts PHP o Java scripts en código HTML.
7 Conceptos básicos Cookie: es una pequeña información enviada por un sitio web y almacenada en el navegador del usuario, de manera que el sitio web puede consultar la actividad previa del usuario. Sus principales funciones son: Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo, una cookie no identifica a una persona, sino a una combinación de servidor-navegador-usuario. Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware (programas espía), por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus detractores.
8 Tipos de ataques Ataques Pasivos Ataques ActivosEl pirata informático no modifica ningún tipo de información sino que escucha o ve la información que se encuentra en el servidor. La mayor ventaja de este ataque es que casi no deja huella, ya que al no provocar ninguna alteración de información es difícil de detectar. Ataques Activos Se dedican a modificar de alguna manera la información o a los paquetes enviados Ataques a Nivel de Sistema Consiste en atacar directamente el sistema operativo del servidor intentando obtener privilegios de administrador mediante un terminal remota.
9 Tipos de ataques Ataques a Nivel Aplicación SpoofingSe basa en intentar modificar los datos que nos permita la aplicación atacada sin ejecutar código en el sistema operativo Spoofing Consiste en suplantar la identidad de otra maquina de la red para tener acceso a los recursos de un tercer sistema de manera maliciosa, basándose en algún tipo de confianza ya sea el nombre o la dirección IP. Una de las técnicas más típicas del spoofing es el phising.
10 Ataques más comunes a servidoresInyección SQL XSS Pérdida de Autenticación y Gestion de Sesiones Referencia Directa Insegura a Objetos CSRF
11 Ataques más comunes a servidoresDefectuosa Configuración de Seguridad Almacenamiento Criptográfico Inseguro Buffer Overflow Falla de Restricción de Acceso a URL Pretección Insuficiente en la Capa de Transporte Redirecciones y reenvíos no validos
12 Inyección SQL SQL es un lenguaje textual utilizado para interactuar con bases de datos relacionales. En los servidores Web se utiliza este lenguaje para acceder a bases de datos y ofrecer páginas dinámicas o nuevas funcionalidades a los sistemas.
13 Inyección SQL Es una vulnerabilidad que afecta a los sitios web que dependen de bases de datos relacionadas a aplicaciones a nivel de base de datos. Envía instrucciones adicionales a partir de parámetros de entrada ingresados por el usuario como una consulta de SQL.
14 Inyección SQL - Ejemplo
15 Inyección SQL - EjemploIngresar como administrador
16 Inyección SQL - PeligrosLe permite al atacante: Saltar restricciones de acceso Elevar privilegios de Usuario Obtener base de datos completa (SELECT) Modificar información (INSERT) Destruir parte o la totalidad de la base de datos (DELETE) Ejecutar comandos del sistema dentro del servidor Apagado remoto del servidor (Denegación de Servicio DoS)
17 Inyección SQL - PrevenciónVariables de alcance: Es la más poderosa protección contra el SQL Injection. Imposibilita la concatenación de instrucciones SQL donde puedan aplicarse variables en las instrucciones anexadas. Validación de la entrada: Validación fuerte en el lado del servidor para entrada de usuario. Validación de datos para filtrar la entrada del usuario de caracteres SQL. Verificar tanto el tamaño como el tipo de los datos y sintaxis de las entradas de usuario.
18 Inyección SQL - PrevenciónVerifique el formato de los datos de entrada y, en particular, si hay caracteres especiales No deje que se vean mensajes de error explícitos que muestren la consulta o parte de la consulta de SQL Elimine las cuentas de usuario que no se usen y especialmente las predeterminadas No acepte cuentas sin contraseñas; Mantenga al mínimo los privilegios de las cuentas que se usan Elimine los procedimientos almacenados
19 Cross Site Scripting (XSS)Consiste en inyectar en páginas Web código JavaScript (o lenguaje script similar), evitando medidas de control. Es posible encontrar una vulnerabilidad XSS en aplicaciones que tenga entre sus funciones presentar la información en un navegador Web. Puede haber aplicaciones locales vulnerables a XSS.
20 Cross Site Scripting (XSS)
21 XSS – Tipos Directa (también llamada Persistente):Es comúnmente filtrado. Consiste en embeber código HTML peligroso en sitios que lo permitan. Incluye etiquetas como