1 / 29

Tema 1. Servidores web (HTTP)

Tema 1. Servidores web (HTTP). Servicios de red e Internet. Por D. Rafael J. Montero González. Contenidos. Introducción Componentes y funcionamiento Servidores web Clientes web Protocolo HTTP Seguridad Protocolo HTTPS Alojamiento virtual de sitios web. Introducción.

sidone
Download Presentation

Tema 1. Servidores web (HTTP)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tema 1. Servidores web (HTTP) Servicios de red e Internet Por D. Rafael J. Montero González

  2. Contenidos • Introducción • Componentes y funcionamiento • Servidores web • Clientes web • Protocolo HTTP • Seguridad • Protocolo HTTPS • Alojamiento virtual de sitios web

  3. Introducción • HTTP (Hyper Text Transfer Protocol) • Protocolo de capa de aplicación diseñado para proporcionar acceso a información hipermedia remota. • El protocolo http y el modelo cliente/servidor son la base del WWW (world wide web o simplemente web)

  4. Componentes y funcionamiento • Está formado por los siguientes componentes: • Recursos • Nombres y direcciones (URLs): íntimamete relacionado con los servidores DNS • Clientes y servidores web • Proxies web: intermediarios cortafuegos y cache • Tecnologías web

  5. Nombres y direcciones URLs • Uniform Resource locator. • http://193.168.200.101/pagina.html • http: protocolo • 192.168.200.101: dir IP de la máquina que aloja el recurso • /pagina.html • http://aula.asir.es:8080/datos/practica1.pdf • http: protocolo • Aula.asir.es: nombre DNS donde está el recurso • 8080: puerto en el que escucha peticiones el servidor http • /datos/practica1.pdf

  6. Servidores web • Escuchan, procesan y sirven peticiones • Los recursos deben estar alojados en la máquina • Escuchan peticiones en el puerto 80/TCP • Mas utilizados: • Apache HTTP server • IIS • Nginx • Lighttpd • Servidor de aplicaciones: producto que ofrece diferentes contenedores para ejecutar varios servidores relacionados

  7. Actividades • Actividad 1.- Busca estadísticas de uso de servidores web (web survey). Por ejemplo en la dirección: http://news.netcraft.com/archives/2011/05/02/may-2011-web-server-survey.html

  8. Protocolo HTTP • Utiliza TCP como protocolo de transporte y determina tipos de peticiones, así como el formato y estructura de respuestas • Versión actual HTTP 1.1

  9. Protocolo HTTP • Funcionamiento básico. Pasos • El usuario introduce la URL en la barra de direcciones o clic en hiperenlace • Navegador analiza URL y establece conexión TCP (después de haberse resuelto el nombre) • Después de la conexión el navegador envía un mensaje HTTP de petición • Servidor envía mensaje de respuesta • Se cierra la conexión TCP

  10. Actividades • Actividad 2.- Seguimiento de la conversación cliente servidor HTTP • Inicia sesión en Ubuntu con privilegios de administrador • Inicia captura con wireshark, abre navegador e introduce la dirección web que desees. Observa el tráfico capturado, analizando el inicio de conexión TCP y los mensajes petición y respuesta entre cliente/servidor. • Sitúate sobre un mensaje HTTP y haz clic en la opción Follow TCP stream. • ¿Qué mensaje y que parte del mensaje contiene la resolución de IP del servidor?

  11. Protocolo HTTP • Mensajes HTTP • Dos líneas de texto plano que pueden ser de dos tipos: petición o respuesta • Mensajes de petición: • Formado por tres partes: • Línea inicial de petición: Método usado (GET, POST). Parte relativa al servidor de la URL. Versión del protocolo utilizada • Línea de cabecera: formada por pares nombre/valor. Cada cabecera en una línea • Cuerpo del mensaje: parámetros o ficheros a enviar al servidor

  12. Protocolo HTTP • Mensajes HTTP • Mensajes de respuesta: • Formado por tres partes: • Línea inicial de respuesta (estado): Versión HTTP, código de estado o error (código 200, petición procesada correctamente) • Línea de cabecera: formada por pares nombre/valor. Cada cabecera en una línea • Cuerpo del mensaje: queda determinado por el tipo de recurso solicitado.

  13. Protocolo HTTP • Mensajes HTTP • Códigos de estado y error • Números de 3 cifras de 5 tipos • 100-199 (informativo): el servidor ha recibido la petición pero no ha finalizado de procesarla • 200-299 (éxito): la petición se ha procesado correctamente (200 “ok”) • 300-399 (redirección): petición procesada y redirigida a otra localización (302 “Found”, 304”Not modified”) • 400-499 (error del cliente): error a la hora de solicitar el recurso del cliente (400: “BadRequest”, 401 “Unauthorized”, 403 “Forbidden”, 404 “Notfound”) • 500-599 (errores en el servidor): no resuelve la petición porque ha existido un problema (500 “Internal Server error”, 503 “ServiceUnavailable”)

  14. Protocolo HTTP • Autenticación • Se basan en el código de estado 401 y en las cabeceras WWW-Authenticate y Authoritation. Navegadores muestran un cuadro de identificación. • Mecanismos: • Basic: cliente envía un usuario y clave codificados con el algoritmo base 64. • Digest: cliente envía un usuario y clave hash de la clave al servidor (MD5) • Actualmente lo hacen las web mediante formularios, lenguajes de programación o certificados digitales

  15. Protocolo HTTP • Cookies • Fragmento de información que se envía al cliente para usarse en futuros accesos. • Servidores envían las cookies usando cabeceras (Cookies y Set-Cookie). Detalles: • Nombre • Contenido o valor: texto con el valor • Fecha de expiración • Ruta: donde va a almacenar el cliente • Dominio: de donde viene la cookie

  16. Actividades • Actividad 3.- Consulta la web http://www.w3.org/Protocols/rfc2616/rfc2616.html y busca información sobre los códigos de error y estado disponibles.

  17. Actividades • Hoja de prácticas 1.- Protocolo HTTP

  18. Seguridad • HTTP no es seguro: • Intercambio de información en texto plano, vulnerable a sniffing • Basic y Digest no son seguros • Vulnerables a ataques de suplantación de identidad (spoofing y man-in-the-middle) • Ataques de robos de cookies

  19. Actividades • Actividad 4.- Busca información en Internet sobre dos ataques web muy extendidos XSS y SQL Injection.

  20. Protocolo HTTPS • HTTPS (hypertext transfer protocol secure) usa SSL para encapsular mensajes. • Clientes usan https:// en las URL • Servidores escuchan peticiones por defecto 443/TCP

  21. Alojamiento virtual de sitios web • Consiste en simular que existen varias máquinas con sus respectivos sitios web sobre un solo servidor web. • www.asir.es y www.dam.es en un mismo servidor • Tres tipos, a continuación

  22. Alojamiento virtual de sitios web • Alojamiento virtual basado en IPs • Servidor tiene diferentes IP por cada servidor web virtual. • El servidor debe tener varias tarjetas de red configuradas cada una con una dirección IP

  23. Alojamiento virtual de sitios web • Alojamiento virtual basado en IPs • Ejemplo de configuración • Equipo con 1 adaptador de red • Dos ip configuradas en la tarjeta (193.100.200.101 y 193.100.200.201) • Se configura el servidor para que actúe de modo distinto en cada dirip por http • Si DNS: • www.asir.es IN A 193.100.200.101 • www.dam.es IN A 193.100.200.201

  24. Actividades • Actividad 5.- Configura el adaptador de red de un equipo para que tenga dos direcciones IP estáticas (Opciones avanzadas de las propiedades de TCP/IP v4). Comprueba la configuración aislando el segmento de red de clase y haciendo ping a cada dirección ip desde otro ordenador del segmento.

  25. Alojamiento virtual de sitios web • Alojamiento virtual basado en nombres • Servidor permite alojar varios nombres de dominio en la misma dirección IP • Se configura el DNS que asocie los nombres de dominio con la misma dirección IP

  26. Alojamiento virtual de sitios web • Alojamiento virtual basado en nombres • Ejemplo de configuración • Equipo con 1 adaptador de red • Una ip configurada en la tarjeta (193.100.200.101 • Se configura el DNS: • www.asir.es IN A 193.100.200.101 • www.dam.es IN A 193.100.200.101 • Se configura el servidor para que responda a las peticiones: http://www.asir.es y http://www.dam.es

  27. Alojamiento virtual de sitios web • Alojamiento virtual basado en puertos • Servidor atiende peticiones en una dir IP y/o dominio:puerto diferentes. • Combina el alojamiento basado en IP/nombres con el uso de varios puertos a la escucha

  28. Alojamiento virtual de sitios web • Alojamiento virtual basado en puertos • Ejemplo de configuración • Equipo con 1 adaptador de red • Una ip configurada en la tarjeta (193.100.200.101 • Se configura el DNS: • www.asir.es IN A 193.100.200.101 • www.dam.es IN A 193.100.200.101 • Se configura el servidor para que responda a las peticiones: http://www.asir.es:80 , http://www.asir.es:8080 y http://www.dam.es:80

  29. Actividades • Hoja de prácticas 2.- Instalación Apache XAMPP en Windows • Hoja de prácticas 3.- Configuración Apache XAMPP en Windows • Hoja de prácticas 4.- Instalación Apache linux por defecto • Hoja de prácticas 5.- Configuración Apache linux Parte 1 • Hoja de prácticas 6.- Configuración Apache linux Parte 2

More Related