Módulo III Servidores Web y Aplicaciones Web Servidores Web Dirección IP Un identificador para una computadora o dispositivo en una red TCP / IP. Las redes que utilizan los mensajes del protocolo TCP / IP ruta en función de la dirección IP del destino. 74.125.73.99 = google.com Nombres de Dominio Es el nombre que usa un servidor web para ser accedido de una manera mas rápida y simple sin necesidad de recordar su dirección IP. 74.125.73.99 = google.com Hypertext Transfer Protocol Hypertext Transfer Protocol o HTTP, es el protocolo usado en cada transacción de la World Wide Web. HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie de RFC. Es un protocolo orientado a transacciones y sigue el esquema peticiónrespuesta entre un cliente y un servidor. Al cliente que efectúa la petición (generalmente un navegador web) se lo conoce como "user agent". A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Uniform resource locator Un localizador de recursos uniforme, más comúnmente denominado URL, es una secuencia de caracteres, de acuerdo a un formato modélico y estándar, que se usa para nombrar recursos en Internet para su localización o identificación, como por ejemplo documentos textuales, imágenes, vídeos, presentaciones digitales, etc. Los localizadores uniformes de recursos fueron una innovación en la historia de la Internet. Fueron usadas por primera vez por Tim Berners-Lee en 1991, para permitir a los autores de documentos establecer hiperenlaces en la World Wide Web. Servidores Web Los Servidores web son equipos que ofrecen páginas o servicios web. Cada servidor Web tiene una dirección IP y, posiblemente, un nombre de dominio. ¿Cómo funcionan los Servidores Web? ¿Cómo funcionan los Servidores Web? ¿Qué pasa cuando tecleas en el navegador http://www.google.com/images ? El servidor diferencia la URL en tres partes: El protocolo (“http”) El nombre del servidor (www.google.com ) El nombre del directorio o archivo (“images”) El buscador inicia la conexión comunicándose con un servidor web para traducir el nombre del dominio en la URL (www.google.com) en una Dirección IP válida. ¿Cómo funcionan los Servidores Web? Después utiliza la Dirección IP para conectar al destino web. El navegador establece una conexión al servidor web en una dirección IP en específico en el puerto 80 (el Puerto 80 es el puerto por default). De acuerdo con el protocolo HTTP, el navegador manda un “GET” obtener solicitud al servidor, para recuperar el archivo o subdirectorio “ http://www.google.com/images “ Después el servidor manda el texto HTML de la página en particular en el navegador. ¿Cómo funcionan los Servidores Web? Como ejemplo del intercambio entre un navegador de Web y el servidor de google, www.google.com. http://www.google.com el navegador envía la siguiente solicitud HTTP a www.googlecom: GET / HTTP/1.1 Connection: Keep-Alive User-Agent: Mozilla/5.0 (compatible; Konqueror/2.2-11; Linux) Accept: text/*, image/jpeg, image/png, image/*, */* Accept-Encoding: x-gzip, gzip, identity Accept-Charset: Any, utf-8, * Accept-Language: en, en_US Host: www.google.com ¿Cómo funcionan los Servidores Web? En respuesta al navegador, el servidor www.google.com envía la siguiente respuesta: HTTP/1.1 200 OK Date: Thu, 24 Jan 2002 17:33:52 GMT Server: Apache/1.3.14 Last-Modified: Mon, 21 Jan 2002 22:08:33 GMT Etag: “47bc6-25e0-3c4c9161” Accept-Ranges: bytes Content-Length: 9696 Connection: close Content-Type: text/html Servidores Web Defacement Defacement • Un deface ocurre cuando un intruso maliciosamente altera la apariencia visual de una página web mediante la inserción o sustitución de datos mediante mensajes provocativos y frecuentemente ofensivos. • Un defacement expone a los visitantes a propaganda o información engañosa hasta que el cambio no autorizado descubierto y corregido. • • • • • • • • Falta de una política apropiada de seguridad y procedimientos Malas configuraciones en servidores o sistemas operativos Bugs en el software, sistema operativo y aplicaciones web Implementación del servidor web con configuración default Sistemas operativos y software sin parches o actualizaciones Backups innecesarios y archivos de muestra visibles Permisos a directorios y archivos inapropiados Servicios innecesarios habilitados incluyendo administración remota • Cuentas con contraseñas por default Comprometer cuentas de usuario Manipulación de datos Ataques secundarios desde el sitio web Defacement del sitio web Robo de datos Acceso root a otras aplicaciones o servidores Tipos de Riesgo Bugs / problemas de errores de configuración en el servidor que permite usuarios remotos no autorizados: •Robo de información clasificada. •Ejecutar comandos en el servidor y modificar el sistema. •Recuperar la información basada en el host para ayudarlos en poner en peligro el sistema. •Lanzar ataques de negación de servicio “Denial-of-Service”, deshabilitando la máquina temporalmente. IIS IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Este incluye servicios como : BITS, FTP, NNTP, SMTP, WWWS los cuales no están habilitados por default. Apache Wb Server Apache, un servidor web de código abierto desarrollado por un grupo de programadores. La primera versión de Apache, basado en el servidor Web NCSA httpd, fue desarrollado en 1995. Sun One Web Server Un servidor web de Sun que se ejecuta en Windows, Solaris y HP-UX. Es compatible con JavaServer Pages (JSP), servlets Java y JavaScript del lado del servidor (SSJS). Nginx Es software libre y de código abierto, licenciado bajo la Licencia BSD simplificada. Es multiplataforma, por lo que corre en sistemas tipo Unix (GNU/Linux, BSD, Solaris, Mac OS X, etc.) y Windows. lighttpd lighttpd es un servidor web diseñado para ser rápido, seguro, flexible. Está optimizado para entornos donde la velocidad es muy importante, y por eso consume menos CPU y memoria RAM que otros servidores, es software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux y UNIX de forma oficial. Para Microsoft Windows Adobe ColdFusion Coldfusion es un servidor de aplicaciones y un lenguaje de programación usado para desarrollar aplicaciones de Internet, generalmente sitios web generados dinámicamente. ColdFusion trabaja con el servidor HTTP para procesar peticiones de páginas web. Códigos de Error • 1xx: Respuestas informativas • 2xx: Peticiones correctas • 3xx: Redirecciones • 4xx Errores del cliente • 5xx Errores de servidor THC Hydra Logon Cracker Técnicas para incrementar la seguridad Uso de Firewalls perimetrales o de host Cambio de cuenta de administrador No utilizar las cuentas de administrador por default; root, admin, administrator, etc. No utilizar configuración default No utilizar configuraciones por defecto, modificar accesos innecesarios. Restringir administración remota Restringir permisos de administración remota por IP o host. Actualizar parches y fixes Mantener al día los parches, actualizaciones, fixes del software para servidores y o sistema operativo. Bloquee todos los puertos innecesarios, Internet Control Message Protocol tráfico(ICMP), y los protocolos innecesarios, tales como NetBIOS y SMB. Endurecer el stack de TCP/IP Aplicar constantemente todos últimos parches y actualizaciones del sistema. Si se usan protocolos inseguros tales como telnet, pop3, smtp, ftp, se deben tomar las medidas apropiadas para proporcionar una autenticación y la comunicación segura, por ejemplo, mediante el uso de directivas IPSec. Si el acceso remoto es necesario, asegúrese de que la conexión remota está restringida, mediante el uso de túneles seguros y protocolos de cifrado. Deshabilite WebDAV si no es requerido por la aplicación o manténgalo seguro si este es requerido. Escanear en busca de vulnerabilidades y parches faltantes con regularidad. Antes de aplicar algún service pack, hotfixes o parche de seguridad se debe leer la documentación de los mismos. Aplicar todas las actualizaciones, independientemente de su tipo “según sea necesario“. Prueba de los service packs y los hotfix en un ambiente representativo (de prueba) antes de ser desplegado en un ambiente de producción. Asegúrese de que los service packs, parches y los parches de seguridad están al mismo nivel en todos los servidores. Asegúrese de que el apagado de los servidores estén programados y exista un juego completo de copias de seguridad y discos emergencia. Asegúrese de tener un plan de rollback que le permita que el sistema y de la empresa puedan volver a su estado original, si la implementación falla. Programe actualizaciones periódicas como parte de las operaciones de mantenimiento y nunca deje pendientes mas de 2 actualizaciones importantes. Preguntas Wanna Play a Game Bibliografía Information Security Fundamentals: autores: John A. Blackley, Justin Peltier, Thomas R. Peltier , Editorial Auerbach Publications; 1 edición (Octubre 1, 2003) Computer and Information Security Handbook (The Morgan Kaufmann Series in Computer Security) : John R. Vacca, Editorial: Morgan Kaufmann (Junio 5, 2009) Gray Hat Hacking: Allen Harper , Shon Harris, Jonathan Ness, Chris Eagle, Gideon Lenkey, Terron Williams, Editorial: McGraw Hill 3era edicion. Fundamentals| Information Security, EC-Council Wikipedia