SRI1819 UT3 1ServidoresWeb
SRI1819 UT3 1ServidoresWeb
DNS Query
Puerto 60779 Puerto 53
DNS Response
Puerto 60779 Puerto 53
Puerto 49210
TCP Syn Puerto 80
Puerto 49210
HTTP Get Puerto 80
Línea de petición
Líneas de cabecera
Método
Operación que
quiere realizar Versión http Cabeceras
el cliente en el Conjuntos de pares nombre/valor que
servidor. determinan cómo será procesada la
Parte relativa de la URL petición por parte del servidor.
Este es un mensaje de petición de la página web. Cada cabecera, ocupa una línea.
Pueden incluir el cuerpo del mensaje.
Las respuestas son similares, pero incluirán códigos de estado o error, su explicación y el cuerpo del
mensaje devuelto en función de la petición enviada (opcional).
2. Características generales de un
servidor web.
Mensajes HTTP: Respuestas. HTTP 200ok
Versión de Código de Mensaje
HTTP estado. explicativo
código de
estado.
Línea de estado
Líneas de cabecera
Cabeceras
Conjuntos de pares nombre/valor que
determinan cómo será procesada la
Cuerpo del mensaje. petición por parte del servidor.
Cada cabecera, ocupa una línea.
Este es un mensaje de petición de la página web. Pueden incluir el cuerpo del mensaje.
Las
2. Características generales de un
servidor web.
Mensajes HTTP: Peticiones.
Los métodos de petición especifican la operación que quiere realizar el
cliente en el servidor. La versión http 1.1 contempla siete métodos de
petición que son:
Método GET.
Método POST.
Método OPTIONS.
Método HEAD.
Método PUT.
Método DELETE.
Método TRACE.
En cuanto a las cabeceras son pares nombre/valor que se pueden incluir
en las cabeceras o en las respuestas HTTP. Definen información sobre
los datos que se intercambian los clientes y los servidores sobre los
propios clientes y servidores.
2. Características generales de un
servidor web.
Ejercicio: Investiga las siguientes preguntas:
Para los métodos GET y POST averigua los siguientes datos:
Para qué se emplean.
Cuando se invocan.
Ejemplo en el que se utilizaría este mensaje.
Sobre las cabeceras, investigan qué información definen las siguientes y pon ejemplos
explicando su uso:
Date
User-Agent
Host
Connection
Accept
Accept-Languaje
Cookie
Content-Type
Server
Obtén la traza de una conexión a la web del instituto, representa los mensajes DNS,
TCP y HTTP y a partir de lo anterior explica el contenido de estos últimos.
2. Características generales de un
servidor web.
GET
El método más utilizado y se usa para obtener información del
servidor.
Se invoca:
Al escribir una URL en el navegador.
Al pinchar un link.
Cuando se envía un formulario con GET.
Permitirá enviar parámetros al servidor en la URL.
Se agrega al final de la URL una “?” y seguido pares de “nombre” y
“valor” separados por &.
2. Características generales de un
servidor web.
1. En el
navegador,
escribo la URL.
2. Se envía un
HTTP GET.
Observad la ruta
relativa /intranet.
3. Se recibe un
Invocación de HTTP/1.1
GET al escribir 200OK
una URL. Contiene el código
HTML.
1. Elijo en el
formulario el
idioma inglés.
2. Se envía un Observad que se
modifica la URL
nuevo HTTP
GET.
3.Se descarga el
nuevo código
Invocación de HTML.
GET al rellenar
un formulario.
2. Características generales de un
servidor web.
Los datos enviados en el POST
son procesados con lenguajes
como PHP, ASP, … que
POST permiten generar contenido
dinámico a partir de ellos.
EJERCICIO: Buscar en
http://www.w3.org/Protocols/rfc2616/rfc2616.html o en otras
webs si no está claro los códigos: 200, 302, 304, 400, 401, 403,
404, 500, 503.
2. Características generales de un
servidor web.
MIME TYPES: Sobre los recursos que se pueden intercambiar
clientes y servidores …
MIME Multipurpose Internet Mail Extensions
Estándar que especifica como deben transferirse en internet todo tipo de
recursos (archivos).
En principio se desarrolló para el protocolo SMTP (correo).
MIME permitía convertir cualquier cosa que se quisiera enviar (imágenes,
audio, video) en texto en ASCII.
MIME define:
Tipos y subtipos de los recursos enviados.
Reglas para codificar mensajes no ASCII.
Caberas para informar sobre tipo de los recursos :
MIME-Versión.
Content-Description
Content-Type
2. Características generales de un
servidor web.
En http se utilizan las cabeceras y tipos MIME en:
Las respuestas del servidor para informar al cliente de los recursos que envía.
El navegador en función del tipo MIME que recibe visualiza el recurso con una
aplicación u otra.
Los mensajes que envían los clientes para informar al servidor de los tipos
MIME que aceptan.
Los desarrolladores de páginas web deberán especificar el tipo MIME
para que los servidores lo envíen y los navegadores puedan mostrar
correctamente la página o el recurso a mostrar. Por ejemplo:
<link rel="stylesheet" href="mi_hoja_de_estilo.css" type="text/css">
<script language="JavaScript" type="text/javascript" src="scripts/mijavascript.js”>
<meta http-equiv=“Content-Type” content=“text/html”>;
5
6
3. Acceso seguro y utilización de
certificados.
Seguridad.
HTTP no es un protocolo seguro
El intercambio de información se realiza en texto plano.
Los mecanismos de autenticación como Basic y Digest no son
seguros.
No hay mecanismos para garantizar que los equipos involucrados en
la transferencia son quienes dicen ser. Susceptibilidad de ataques de
suplantación de identidad (spoofing, man-in-the-middle).
Existen ataques que se basan en el robo o falsificación de cookies y/o
parámetros enviados en la URL o en el contenido de los mensajes, y
que permiten al atacante “robar la identidad a un usuario
suplantándolo en webs (bancos, webmails, redes sociales).
4. Parámetros de configuración del
servicio http.
Parámetros del servidor.
Configuración de red correcta, puerto 80 habilitado y nombre del sitio
añadido en el servidor DNS correspondiente.
Crear un directorio donde se ubicará la raíz del sitio http.
Se puede establecer opcionalmente una jerarquía de páginas y
subdirectorios a efectos de organización.
Webmaster: usuario encargado de gestionar el sitio.
Se deberán alojar las páginas en los directorios correspondientes antes de
iniciar el servicio.
Asegurarse de que los enlaces interconectan las páginas adecuadamente:
creación de un índice.
A continuación ya se podrán configurar parámetros adicionales: soporte
HTTPS (generación de certificados), requerir autenticación, alojamiento
virtual, etc.
4. Parámetros de configuración del
servicio http.
Parámetros del cliente.
Una vez instalado, se pueden instalar elementos adicionales
según las necesidades del usuario (plug-in/add-
on/complemento/extensión).
Plug-in: software adicional que permitirá al navegador ejecutar
muchas de las aplicaciones disponibles en Internet (diferentes
formatos de audio, video, etc).
Configuración del aspecto del navegador, web de inicio,
historial de navegación, gestión de favoritos, etc.
Configuración de la seguridad: instalación de certificados al
conectarnos a un sitio https.
Configuración de un proxy si la red dispone de él.
Configuración de cookies.
5. Configuración servidor http: Windows
(IIS 7.0)
Internet Information Server o IIS es un software que integra:
IIS7
ASP.NET
Windows Communication Foundation
MS Windows Sharepoint Services
Es modular y permite ampliar su funcionalidad inicial
añadiendo nuevos componentes/características.
Versiones existentes:
IIS 6.0 Windows 2003 y Windows XP
IIS 7.0 Windows 2008 R2 y Windows 7
IIS 8.5 Windows 2012 R2
5. Configuración servidor http: Windows
(IIS 7.0)
Características de IIS7:
Herramientas de administración mejoradas.
Nueva herramienta de línea de comandos.
Instalación modular basada en características:
IIS7 está compuesto por más de 40 módulos de características
independientes.
De manera predeterminada sólo se instalan la mitad.
Modelo de configuración distribuída.
Diagnóstico y resolución de problemas.
Arquitectura modular extensible: los usuarios pueden crear sus
propios módulos.
5. Configuración servidor http: Windows
(IIS 7.0)
• Tras realizar la instalación, podremos acceder al Administrador de IIS.
• Por defecto se crea el sitio “Default Web Site”.
• En “configuración básica” veremos que el directorio donde está almacenado es
c:\inetpub\wwwroot.
• Dentro de ese directorio se encuentra el archivo iisstart.htm. Si abrimos una
navegador en el servidor y accedemos a la url http://localhost comprobaremos
que el servidor está funcionando.
• Ejecutando netstat –a –p TCP –n vemos el puerto 80 abierto
5. Configuración servidor http: Windows
(IIS 7.0)
Cómo añadir un sitio nuevo:
5. Configuración servidor http: Windows
(IIS 7.0)
Hay que añadir una entrada en el servidor DNS.
Actividad.
Instalar un servidor IIS en una máquina Windows 2012.
Crear un archivo llamado red.html con el siguiente código html y guárdalo en
c\inetpub\wwwroot.
04/10/11
SSL/TLS
HTTPS.
Con http la información viaja por la red en texto claro.
Pero en ocasiones cliente y servidor puede requerir intercambiar información
confidencial.
Para paliar este problema surge https.
https se apoya en una conexión establecida en SSL/TLS.
La información http viajará encapsulada en el protocolo seguro SSL.
El puerto para este tipo de conexiones será el 443 en lugar del 80.
El cliente accederá a este servicio usando https en la URL en vez de http.
Cuando accedemos a un sitio web con https, necesitamos conocer
previamente que el servidor es realmente quien dice. Para demostrarlo
deberá poseer un certificado que debe estar firmado por una CA que sea de
nuestra confianza.
La obtención de un certificado acreditado por una CA para nuestra web suele
conllevar gastos.
Certificados autofirmados.
Cuando accedemos a un sitio web con https, necesitamos conocer
previamente que el servidor es realmente quien dice. Para demostrarlo
deberá poseer un certificado que debe estar firmado puna CA que sea de
nuestra confianza.
La obtención de un certificado acreditado por una CA para nuestra web
suele conllevar gastos.
Alternativa: utilizar certificados autofirmados, que se pueden generar con
herramientas software como OpenSSL.
Ejercicio
Ejercicio:
Investigar como se puede crear un certificado autofirmado en
IIS7.
Crearlo y comprobar su funcionamiento.
Obtener una traza con Wireshark y comentar la información
obtenida.
5. Sitios web virtuales.
Alojamiento virtual de sitios web.
Consiste en simular que existen varios hosts con sus respectivos sitios web
sobre un solo servidor web en un mismo servidor web, es decir, alojar varios
sitios web en un mismo servidor.
También se usan los términos hosts virtuales, servidores virtuales y sitios
virtuales para referirse a este tipo de configuración.
Permite reducir el número de máquinas físicas necesarias para alojar
millones de sitios web que existen en Internet y al mismo tiempo aprovechar
mejor los recursos (uso de CPU, memoria, …) de los equipos.
La mayoría de los sitios web actuales (Apache, IIS, …) soportan estas
funcionalidades.
Se pueden diferenciar tres tipos de alojamiento virtual:
Alojamiento virtual basado en IPs.
Alojamiento virtual basado en nombres.
Alojamiento virtual basado en puertos.
5. Sitios web virtuales.
Alojamiento virtual basado en IPs.
El servidor tendrá varias direcciones IP.
Dependiendo de la dirección IP utilizada por el cliente, se mostrará un
sitio web u otro.
Es decir, es como si existieran varios servidores web, uno en cada
dirección IP.
Para realizar esto la máquina debe tener:
O bien varias tarjetas de red, una con cada dirección IP.
O bien, una tarjeta de red con varias direcciones IP (alias o interfaces virtuales).
Debéis tener en cuenta, que en el servidor DNS habrá que añadir una entrada por
cada servidor virtual.
5. Sitios web virtuales.
Alojamiento virtual basado en nombres.
El servidor permite alojar varios nombres de dominio sobre la misma
dirección IP.
Cada servidor virtual atiende las peticiones de un nombre de dominio.
Esta es la forma de alojamiento más utilizada ya que se ahorra no solo
recursos de la máquina sino que también direcciones IP.
5. Sitios web virtuales.
Alojamiento virtual basado en puertos.
Cada servidor virtual atiende peticiones en una dirección IP y/o
dominio:puerto diferentes.
Consiste en combiar el alojamiento basado en IP y/o en nombres con el
uso de varios puertos a la escucha.
Esta es la forma de alojamiento más utilizada ya que se ahorra no solo
recursos de la máquina sino que también direcciones IP.
5. Sitios web virtuales.
Ejemplos:
Basado en IP: Tenemos una máquina que tiene dos IPs 10.0.0.1 y 10.0.0.2.
Queremos usarla para servir dos sitios web, uno se llama www.asir1.com y otro
www.asir2.com.
Con el sistema basado en IP, www.asir1.com se serviría por ejemplo en la IP 10.0.0.1 y el
otro www.asir2.com se serviría en otra IP, por ejemplo 10.0.0.2.
En el DNS se añadirá los registros:
www.asir1.com. IN A 10.0.0.1
www.asir2.com. IN A 10.0.0.2
Basado en nombre: Tenemos una máquina con una sola IP.
Queremos usarla para servir dos sitios web. Cuando se acceda con el nombre
www.asir1.com se servirá un sitio y cuando se acceda con www.asir2.com el otro.
Basado en puerto: Tenemos una máquina con una sola IP.
Queremos usarla para servir dos sitios web en la máquina www.asir.com. Dependiendo del
puerto al que se conecten los clientes, se servirá una web u otra.
Por ejemplo, www.asir.com:80 servirá una web y www.asir.com:8080 servirá otra web.
5. Sitios web virtuales.
Ejemplos:
Basado en IP: Tenemos una máquina que tiene dos IPs 10.0.0.1 y 10.0.0.2.
Queremos usarla para servir dos sitios web, uno se llama www.asir1.com y otro
www.asir2.com.
Con el sistema basado en IP, www.asir1.com se serviría por ejemplo en la IP
10.0.0.1 y el otro www.asir2.com se serviría en otra IP, por ejemplo 10.0.0.2.
En el DNS se añadirá los registros:
www.asir1.com. IN A 10.0.0.1
www.asir2.com. IN A 10.0.0.2
Cuando el navegador acceda a la url http://www.asir1.com usará la 10.0.0.1.
Cuando el navegador acceda a la url http://www.asir2.com usará la 10.0.0.2.
5. Configuración servidor virtual en
Windows 2012 Server.
Cómo añadir un sitio nuevo:
IP Puerto
Nombre
Actividad.
Configurar el servidor DNS para que resuelva los nombres www.asir1.net y
www.asir2.net.
Detén el servidor virtual por defecto.
Crear y habilitar el sitio www.asir1.net según las siguientes especificaciones:
Directorio raíz: c:\intepub\asir1.
Servidrá index.html si no se indica ningún fichero en la URL.
Se mostrará un listado del directorio raíz si no se solicita ningún fichero.
Cuando se produzca un error 403 mostrará el mensaje “Página no encontrada
www.asir1.net” .
Crear y habilitar el sitio www.asir2.net según las siguientes especificaciones:
Directorio raíz: c:\intepub\asir2.
Servidrá indice.html si no se indica ningún fichero en la URL.
No se mostrará un listado del directorio raíz si no se solicita ningún fichero.
Cuando se produzca un error 403 mostrará el mensaje “Página no encontrada
www.asir2.net” .
Actividad.
Modifica los sitios anteriores para servir www.asir1.net en
la IP 10.0.0.1 y www.asir2.net en 10.0.0.2 pero dentro de
la misma máquina.
Modifica los sitios para servir www.asir1.net en el puerto
80 y www.asir2.net en el puerto 8080.