380 likes | 933 Views
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.
E N D
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 • 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)
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
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
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
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
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
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
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?
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
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.
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”)
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
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
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.
Actividades • Hoja de prácticas 1.- Protocolo HTTP
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
Actividades • Actividad 4.- Busca información en Internet sobre dos ataques web muy extendidos XSS y SQL Injection.
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
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
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
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
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.
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
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
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
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
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