domingo, 11 de marzo de 2012

SERVIDORES WEB

Cecilia Quintana Bustos Grupo 408

SERVIDOR WEB
Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronascon el cliente generando o cediendo una respuesta en cualquier lenguaje o Aplicación del lado del cliente. El código recibido por el cliente suele ser compilado y ejecutado por un navegador web. Para la transmisión de todos estos datos suele utilizarse algún protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.

Caracteristicas principales de dos de ellos.

APACHE WEB SERVER
El servidor HTTP de código abierto más utilizado del mundo.

Apache es un servidor de páginas web de código abierto multiplataforma y modular, cuyo nombre se debe a que en sus orígenes era sólo en un conjunto de parches a aplicar al servidor web de NCSA. En inglés era "a patchy server", es decir, un servidor parcheado..
El servidor Apache fue creado en el año 1996 y se desarrolla con todo éxito dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

Presenta entre otras características: mensajes de error altamente configurables, bases de datos de autentificación y negociado de contenido.

Su flexible sistema modular, permite cargar y descargar módulos sin necesidad de tocar el kernel. Dispone de una herramienta (APXS) que facilita la compilación e instalación de estos módulos, ya sean del mismo Apache o de 3º partes. Los módulos se cargan en memoria cuando los necesita y se descargan automáticamente cuando dejan de utilizarse.

El proceso de instalación de Apache variará dependiendo del tipo de sistema operativo que empleemos y de si tenemos o no, privilegios de administrador.

Características principales:

- Trabaja sobre múltiples plataformas (Unix, Linux, MacOSX, Vms, Win32, OS2, etc.)
- Incluye módulos que se cargan de forma dinámica
- Soporta CGI, Perl, PHP
- Soporte para Bases de datos
- Soporte SSL para transacciones seguras
- Incluye soporte para host virtuales
- Soporta HTTP 1.1
- Código Abierto
- Rápido
- Eficiente

INTERNET INFORMATION SERVER
El cambio es una constante en el mundo de la informática, aunque pocas cosas han cambiado tanto en tan poco tiempo como el producto Microsoft Information Server IIS). La versión 2 de IIS, incluida en el CD-ROM de Windows NT Server 4.0, ya era obsoleta cuando NT 4 se puso a la venta. Pasó muy poco tiempo antes del lanzamiento de la versión 3 en forma de actualización gratuita. Actualmente, la versión 4 forma parte de Windows NT 4.0 Option Pack, que puede descargarse gratuitamente. Dado que IIS sigue siendo un complemento gratuito de NT 4 y que la versión 4,0 es mucho más potente y robusta que la 2.0 y la 3.0, no debería dudar en actualizarse.
IIS es un producto compuesto por varios servicios: WWW, FTP y MTS, entre otros. World Wide Web (WWW) es el servicio fundamental. Proporciona contenidos Web a los usuarios finales por medio del envío de archivos que, normalmente, son documentos HTML y archivos gráficos GIF o JPEG, No obstante, IIS también puede enviar otros tipos de archivos, incluyendo OCX, CAB, DLL y EXE. IIS 4.0 admite el uso de HTTP 1.1, que transfiere los archivos de manera más eficaz.
Las páginas Web que ven los usuarios suelen ser el resultado de la combinación de numerosos archivos. El primero que se transfiere es el propio documento HTML, que contiene el texto de la página Web. Los archivos HTML suelen contener vínculos a otros archivos gráficos o de sonido que enriquecen la página. Las versiones anteriores de IIS funcionaban con HTTP 1.0. Este protocolo establece una nueva sesión por medio de una negociación TCP de tres vías cada vez que transfiere un archivo. Una vez finalizada la transferencia, interrumpe la sesión por medio de otra negociación de tres vías. Además del envío de seis paquetes adicionales por archivo, cada nueva sesión TCP requiere su propio proceso de inicio lento, lo que anula toda la ventaja obtenida de la optimización de este tipo de proceso.
Algunas de las novedades más significativas de IIS 4.0 son:
·                    Protocolo de Transferencia de Hipertexto (HTTP 1.1). 
·                    Protocolo Simple de Transferencia de Correo (SMTP). 
·                    Protocolo de Transferencia de Noticias de la Red (NNTP). 
·                    Contenidos Web activos. 
·                    Características de seguridad. 
·                    Extensiones de servidor de Front Page y Posting Acceptor.

IDENTIFICACION DE PROTOCOLOS RELACIONADOS CON APLICACIONES Y SERVICIOS WEB

Protocolos Web


HTTP, HTTPS
HTTP de HyperText Transfer Protocol (Protocolo de transferencia de hipertexto) es el método más común de intercambio de información en la world wide web, el método mediante el cual se transfieren las páginas web a un ordenador. Todas las páginas web están escritas en lenguaje de hypertexto (hyper-text markup language (HTML)), por lo que el hipertexto es el contenido de las páginas web.
El protocolo de transferencia es el sistema mediante el cual se transfiere información entre los servidores y los clientes (por ejemplo los navegadores).
Hay una versión de http para la transferencia segura de información llamada https que puede utilizar cualquier método de cifrado siempre que sea entendido tanto por el servidor como por el cliente.

FTP
FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos perocifrando todo el tráfico.
 TFTP
 son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial).
Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entreordenadores en una red, como cuando un terminal X Window o cualquier otro cliente ligero arranca desde un servidor de red.
Algunos detalles del TFTP:
§  Utiliza UDP (en el puerto 69) como protocolo de transporte (a diferencia de FTP que utiliza el puerto 21 TCP).
§  No puede listar el contenido de los directorios.
§  No existen mecanismos de autenticación o cifrado.
§  Se utiliza para leer o escribir archivos de un servidor remoto.
§  Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail", de los que los dos primeros corresponden a los modos "ascii" e "imagen" (binario) del protocolo FTP.

FTPS
FTPS (también conocido como FTP Secure o FTP-SSL) es una extensión del FTP (File Transfer Protocol) que agrega soporte para los protocolos critográficos TLS (Transport Layer Security) y
SSL (Secure Sockets Layer).

Con este método la transferencia de archivos se cifra, agregando seguridad a la misma. El cifrados puede ser a nivel datos, a nivel comandos o ambos.

Si el canal de comandos no se cifra, se dice que el procotolo está usando un canal de comandos en claro (CCC). Si el canal de datos no está cifrado, se dice que el protocolo usa un canal de datos en claro (CDC).

FTPS no debe ser confundido con el SFTP (
SSH File Transfer Protocol), que es un subsistema para transferencia de archivos seguros por protocolo SSH (Secure Shell). También es diferente del Secure FTP (FTP sobre SSH), que es la práctica de tunneling de FTP a través de una conexión SSH.

Usos más comunes de FTP y SSL:

FTPS explícito (o AUTH TLS)
FTPS implícito
* AUTH como está definido en el 
RFC 2228

SSH
SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un flujo de datos fiable. Se utiliza comúnmente con SSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad. Por lo tanto, la seguridad no la provee directamente el protocolo SFTP, sino SSH o el protocolo que sea utilizado en su caso para este cometido.
En comparación de capacidades con el anterior protocolo SCP, que únicamente permite la transferencia de archivos (copia), el protocolo SFTP permite una serie de operaciones sobre archivos remotos. SFTP intenta ser más independiente de la plataforma que SCP, por ejemplo, con el SCP encontramos la expansión de comodines especificados por el cliente hasta el servidor, mientras que el diseño SFTP evita este problema. Aunque SCP se aplica con más frecuencia en plataformas Unix, existen servidores SFTP en la mayoría de las plataformas.
El Secure Internet Live Conferencing (SILC) define el protocolo SFTP como su protocolo de transferencia de archivos por omisión. En el SILC, los datos del protocolo SFTP no están protegidos con SSH pero el protocolo de paquetes seguros de SILC se utiliza para encapsular los datos SFTP dentro de los paquetes de SILC para que se la llevara de igual a igual (peer to peer, P2P). Esto es posible ya que SFTP está diseñado para ser un protocolo independiente.
SFTP utiliza el puerto 22 de TCP.
SCP
Secure Copy o SCP es un medio de transferencia segura de archivos informáticos entre un host local y otro remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH).
El término SCP puede referir a dos conceptos relacionados, el protocolo SCP o el programa
SCP
El protocolo SCP es básicamente idéntico al protocolo rcp de BSD. A diferencia de rcp, los datos son cifrados durante su transferencia, para evitar que potenciales packet sniffers extraigan información útil de los paquetes de datos. Sin embargo, el protocolo mismo no provee autenticación y seguridad; sino que espera que el protocolo subyacente, SSH, lo asegure.
El modo SCP o simple communication protocol, es un protocolo simple que deja al servidor y al cliente tener múltiples conversaciones sobre una TCP normal. Este protocolo esta diseñado para ser simple de implementar.
El servicio principal de este protocolo es el control del dialogo entre el servidor y el cliente, administrando sus conversaciones y agilizadas en un alto porcentaje, este protocolo le permite a cualquiera de los dos establecer una sesión virtual sobre la normal.
SSL
Secure Sockets Layer (SSL; en español «capa de conexión segura») y su sucesor Transport Layer Security (TLS; en español «seguridad de la capa de transporte») son protocolos criptográficosque proporcionan comunicaciones seguras por una red, comúnmente Internet.
SSL proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar.
SSL implica una serie de fases básicas:
§  Negociar entre las partes el algoritmo que se usará en la comunicación
§  Intercambio de claves públicas y autenticación basada en certificados digitales
§  Cifrado del tráfico basado en cifrado simétrico
Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. Las implementaciones actuales proporcionan las siguientes opciones:
§  Para criptografía de clave pública: RSADiffie-HellmanDSA (Digital Signature Algorithm) o Fortezza;
§  Para cifrado simétrico: RC2RC4IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES y AES (Advanced Encryption Standard);
§  Con funciones hashMD5 o de la familia SHA.