Вы находитесь на странице: 1из 32

Servicios de Red

Servicio Web - HTTP


Zeida Solarte

WWW World Wide Web


Armazn arquitectnico para acceder a documentos vinculados distribuidos en miles de maquinas en Internet 1989 Tim Berners-Lee Prototipo basado en texto 1993- Marc Andreessen Prototipo grafico Mosaic 1994 W3C (World Wide Web Consortium) 1995 Netscape 1995 - IE

Arquitectura
Arquitectura Cliente Servidor Cada pagina puede contener vnculos a otras pginas, y stas a su vez a otras y as sucesivamente - Hipertexto Las pginas se ven mediante un navegador El servidor almacena las pginas

El Cliente
Navegador
Desplegar paginas Web Atrapar los clic sobre la pagina desplegada Seguir los hipervnculos

Pasos
El Navegador determina la URL El navegador se comunica con el servidor de DNS que traduce el nombre a direccin IP para que as se pueda conectar a la mquina destino Entonces el Navegador crea una conexin TCP al servidor de la direccin IP en el puerto 80. El Navegador enva un mensaje solicitando la pagina requerida El servidor enva el texto HTML de la pgina al Navegador. Se libera la conexin El Navegador lee los comandos HTML muestra la pgina en la pantalla.

El Cliente

Fuente: Tanebaum, A. Redes de computadoras, 4 edicion

El Cliente
Si las paginas no son archivos HTML el servidor incluye junto con la pagina la informacin del tipo de archivo (tipo MIME) MIME (extensiones de correo de internet multipropsito), es un estndar que clasifica recursos y provee informacin a programas acerca de cmo manejarlos. Asociado a cada MIME existe un visor adecuado Dos opciones
Plugins: Modulo que se instala como una extensin del navegador, cuando ya no se requiere se elimina de la memoria del navegador. Ej: Flash Aplicaciones auxiliares: Programas completos que se ejecutan de manera independiente del navegador. Ej: Acrobat, word

El Servidor
Almacena las pginas Pasos:
Acepta una conexin TCP de un cliente Obtiene el nombre del archivo solicitado Obtiene el archivo del disco (o del cach) Regresa el archivo al cliente Libera la conexin TCP

Fuente: Tanebaum, A. Redes de computadoras, 4 edicin

URL Uniform Resource Locator


Permiten contestarse tres preguntas:
Cmo se llama la pgina? Dnde esta la pgina? Cmo se puede acceder a la pgina?

HTTP Hipertext Transfer Protocol


Protocolo utilizado en el WWW Especifica mensajes y respuestas
Solicitud mensaje ASCII Respuesta MIME del RFC 822

La comunicacin se realiza a travs de una conexin TCP por el puerto 80 HTTP1.0 Una vez se estableca la conexin, se enviaba una solicitud y se reciba la respuesta, despus se liberaba la conexin HTTP1.1 Permite conexiones persistentes

HTTP Hipertext Transfer Protocol


Mtodos

Fuente: Tanebaum, A. Redes de computadoras, 4 edicin

HTTP Hipertext Transfer Protocol


Mensajes de respuesta cdigos de estado

Fuente: Tanebaum, A. Redes de computadoras, 4 edicin

HTTP Hipertext Transfer Protocol


Encabezados

Fuente: Tanebaum, A. Redes de computadoras, 4 edicin

Servidores Web

Apache
Es un servidor web de cdigo fuente abierto que se distribuye bajo licencia GPL (General Public License), multiplataforma (Unix, GNU/Linux, Windows, Solaris, etc) Apache implementa el protocolo HTTP/1.1 y el concepto de virtual hosting. Su desarrollo se inici en 1995 y se bas en el cdigo fuente del servidor web de la NCSA. De all se deriva su nombre - un conjunto de parches al servidor web de NCSA (National Center for Supercomputing Applications) a patchy server (un servidor parchado !!!).

Apache
Caractersticas:
Mensajes de error altamente configurables. Bases de datos de autenticacin. Negociacin de contenido. Integracin con paquetes de software como MySQL, Postgress, PHP. Virtual hosting. SW Libre desarrollado y mantenido por la comunidad de programadores. Sin embargo, no posee una interfaz grfica para su configuracin.

Apache
Verificar si ya esta instalado el demonio del servicio
rpm q httpd

Si no est instalado
yum install httpd

Activacin de servicio, reinicio, desactivacin


service httpd start service httpd restart service httpd stop

Apache - Estructura
Es modular - el servidor Apache consta de una seccin ncleo (core) y las dems funcionalidades bsicas son provistas por mdulos, entre ellos estn:
mod_ssl - Comunicaciones seguras usando TLS. mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP. mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de pginas dinmicas en Java (servlets y JSP). mod_perl - Pginas dinmicas en Perl. mod_php - Pginas dinmicas en PHP. mod_python - Pginas dinmicas en Python. mod_aspdotnet - Pginas dinmicas en .NET_de_Microsoft

Apache - Configuracin
Los archivos de configuracin estn generalmente en el directorio /etc/httpd/conf/ Los archivos de configuracin bsicos son:
httpd.conf : principal archivo de configuracin del servidor web. .htaccess : permite restringir el acceso a cada directorio del servidor web.

httpd.conf
Esta dividido en 3 partes:
1 Parmetros globales 2 Directivas de Funcionamiento 3 Host Virtuales

Parmetros globales: Todos los parmetros que se establecen dentro de esta seccin son globales para el funcionamiento del servidor.
ServerRoot: especifica la ubicacin del directorio raz donde se encuentra instalado el Apache. KeepAlive: especifica si se utilizarn conexiones persistentes. Listen: esta directiva permite especificar que puerto se utilizar para antender las peticiones. LoadModule: Directiva que sirve para cargar mdulos que incluyen distintas funcionalidades.

httpd.conf
Directivas de funcionamiento:
ServerAdmin: especifica la direccin de correo electrnico del administrador. ServerName: especifica el nombre y el puerto que el servidor utiliza para identificarse. Si el servidor no tiene un nombre registrado en las DNS, se recomienda poner su nmero IP. DocumentRoot: la carpeta raz que se ubica en el servidor, desde la que se servirn los documentos. Si se cambia este directorio por otro, es muy importante que se ponga el nuevo valor, no solo en esta lnea, sino tambin en la seccin <Directory> en la que se establecen los parmetros de configuracin de este directorio. DirectoryIndex: especifica el fichero por defecto que buscar en cada directorio, en caso de que no se especifique ninguno. Por defecto es index.html. En esta directiva se pueden especificar ms de un fichero,

httpd.conf
Host virtuales: se compone de las directivas relacionadas con los hosts virtuales que se definan, las directivas de seguridad, idiomas soportados, manuales.

Opciones de seguridad
Se puede restringir el acceso a ciertos recursos (archivos) de 3 maneras:
1. Configurando la opcin Directory en el archivo httpd.conf. 2. Utilizando un archivo de claves (password file) para autenticar el acceso de los usuarios. Si un usuario no se identifica correctamente el servidor web devuelve el error 401 acceso no autorizado. 3. Usando archivos .htaccess , que contengan las directivas de restriccin del acceso a los recursos.

Opciones de seguridad
1. Configurando la opcin Directory en el archivo httpd.conf.
<Directory /var/www/html>
Order allow,deny Allow from all Deny from 192.168.100.11

</Directory>

Opciones de seguridad
2. Utilizando un archivo de claves (password file) para autenticar el acceso de los usuarios.
Crear un archivo de claves. Crear el directorio para almacenar los archivos a asegurar. Configurar las directivas de autenticacin en el archivo de configuracin httpd.conf. Reiniciar el demonio httpd.

Opciones de seguridad
2. archivo de claves
Para crear un archivo de claves se puede utilizar el comando htpasswd:
htpasswd c /etc/httpd/.htpasswd juan

Crea un archivo de claves con un registro para el nuevo usuario juan, y luego solicita la clave. Para adicionar otros usuarios al archivo de claves creado se puede utilizar el comando de la siguiente manera:
htpasswd /etc/httpd/.htpasswd <nombre_usuario>

Nota: el archivo de claves debe estar ubicado en un directorio donde solo tenga permisos el administrador (root).

Opciones de seguridad
2. archivo de claves
Editar el archivo de configuracin en httpd.conf para la proteccin de un directorio especifico utilizando un archivo de claves creado: Ejemplo:
<Directory /var/www/html/listados> AuthName Listados protegidos AuthType Basic AuthUserFile /etc/httpd/.htpasswd Require valid-user </Directory>

Opciones de seguridad
3. Usando archivos .htaccess , que contengan las directivas de restriccin del acceso a los recursos.
Los archivos .htaccess son pequeos archivos de texto invisibles que permiten controlar algunas funciones de configuracin en un servidor Apache. Para poder utilizar archivos .htaccess el servidor debe tener activada la directiva AllowOverride y, dentro de ella, definidas las variables que nos va a permitir modificar. Cuando la directiva AllowOverride est activa (true) el servidor realiza una bsqueda por todos los directorios hasta encontrar el archivo .htaccess correspondiente y, despus, en consecuencia muestra la pgina al usuario. Si no encuentra ningn .htaccess aplicar las directivas establecidas en la configuracin de Apache.

Opciones de seguridad
3. .htaccess
#Define el tipo de autenticacin. AuthType Basic #Define la ubicacin de los usuarios y los grupos AuthUserFile /etc/httpd/.htpasswd #Define el nombre de los recursos. AuthName Directorio Privado" #permiso a todos los usuarios. Require valid-user

Virtual Hosting
Apache permite administrar ms de un sitio en un solo hostde una manera sencilla y eficiente, es decir que se puedan recibir peticiones para varios servidores web en una misma mquina, los cuales se conocen como host virtuales. Un host virtual se puede configurar usando la directiva <VirtualHost> del archivo httpd.conf . Apache permite 2 tipos de virtual hosting:
1) Basado en nombres, si se tiene una sola IP. 2) Basado en IP, cuando se tienen varias IPs.

Virtual Hosting
Basado en nombres
NameVirtualHost *:80 <VirtualHost *:80>
ServerName www.midominio.com ServerAlias dominio.com *.midominio.com DocumentRoot /www/midominio

</VirtualHost> <VirtualHost *:80>


ServerName www.otrodomnio.com DocumentRoot /www/otrodominio

</VirtualHost>

Virtual Hosting
Basado en direcciones IP
<VirtualHost 192.168.1.15>
ServerName www.midominio.com DocumentRoot /www/midominio

</VirtualHost> <VirtualHost 192.168.1.16>


ServerName www.otrodomnio.com DocumentRoot /www/otrodominio

</VirtualHost>

Bibliografa
TANENBAUM, Andrew S. Redes de Computadores. Cuarta Edicin. Prentice Hall, 2003. GARCIA, Alexander. Notas de Clase. Servicios de Red Unidad 2-HTTP Pagina oficial de Apache. http://www.apache.org/

Вам также может понравиться