SERVICIOS DE RED E INTERNET TEMA 4: INSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS Nombre: Adrián de la Torre López WEB CONFIGURACIÓN DE UN SERVIDOR WEB. Instalación, configuración y uso 13/01/2013 1. En windows: - Lo primero que se hace será descargar e iniciar la instalación de la versión de apache, desde su pagina oficial. - Después procederemos a su instalación. Adrián de la Torre López Instalar un servidor web en nuestro PC nos permitirá, entre otras cosas, poder montar nuestra propia página web sin necesidad de contratar hosting, probar nuestros desarrollos en local, acceder a los ficheros de nuestro ordenador desde un PC remoto (aunque para esto existen otras alternativas, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que están viendo la luz últimamente. Uno de los servidores web más populares del mercado, y el más utilizado actualmente, es Apache, de código abierto y gratuito, disponible para Windows y GNU/Linux, entre otros. Su instalación es bastante sencilla. 2 CONFIGURACIÓN DE UN SERVIDOR WEB. 13/01/2013 En la siguiente ventana aceptamos la licencia del programa y continuamos: Adrián de la Torre López Después aparece la siguiente ventana con una explicación sobre Apache y la URLs de la web donde descargar las ultimas versiones: 3 CONFIGURACIÓN DE UN SERVIDOR WEB. 13/01/2013 Podemos darle a instalación típica o avanzada, nosotros le damos a típica y más adelante configuraremos las opciones avanzadas. Adrián de la Torre López En la siguiente ventana debemos de configurar: -Network domain: En esta casilla debemos de poner el nombre del dominio o la dirección IP que empleara Apache para utilizar el servicio HTTP. -Server name: Nombre de dominio que empleara el servidor WEB. -Administrator’s Email address: Dirección de correo electrónico del Administrador del servidor. 4 CONFIGURACIÓN DE UN SERVIDOR WEB. 13/01/2013 Elegimos el directorio de donde instalar Apache y se realizo correctamente la instalación del servidor en Windows. Adrián de la Torre López 5 CONFIGURACIÓN DE UN SERVIDOR WEB. 13/01/2013 Configuración del servidor Apache en Windows: Toda la configuración para el funcionamiento de Apache se guarda en un archivo de texto nombrado: httpd.conf que se encuentra en la ruta C:\Apache\conf, lo podemos editar en cualquier editor de texto. En el archivo http.conf destacamos las siguientes opciones para su configuración: La línea Listen indica el puerto y dirección IP por el que el servidor va a recibir las peticiones, puedes usarla de las siguientes maneras: El servidor va solo a recibir peticiones del mismo PC: Listen localhost:80 Recibirá peticiones de cualquier otra maquina en la red local: Listen 80 Recibirá peticiones una maquina especifica de la red local: Listen 12.13.3.1:80 - En la linea DocumentRoot es donde se especifican las rutas que se usaran para servir HTTP y donde por logica encontraremos los archivos WEB (index.html). Ejemplo: Adrián de la Torre López - DocumentRoot “C:\servidor_web1” “C:\servidor_web2” - La línea Directory establece los permisos necesarios para acceder a los directorios anteriores. Ejemplo: <Directory “C:\servidor_web1”> Allow any </Direcotry> 6 CONFIGURACIÓN DE UN SERVIDOR WEB. En Linux: 13/01/2013 Para instalar Apache 2, ejecuta en el terminal de tu consola: sudo apt-get install apache2 Para comprobar que funciona perfectamente ejecuta: sudo /etc/init.d/apache2 restart Ubuntu a veces no define el nombre del servidor para Apache así que es bueno que lo hagamos. Adrián de la Torre López Edita apache2.conf: sudo gedit /etc/apache2/apache2.conf y añade esta línea: ServerName "your-server-name" que debería ir cerca a esta línea: ServerRoot "/etc/apache2" Para comprobar que todo está en orden entra desde un navegador a: http://localhost La mayor parte de la configuración se realiza en el fichero apache2.conf o http.conf, según el sistema en el que estemos usando. 7 CONFIGURACIÓN DE UN SERVIDOR WEB. Uso: 13/01/2013 Apache es usado principalmente para enviar páginas web estáticas y dinámicas en la World Wide Web. Muchas aplicaciones web están diseñadas asumiendo como ambiente de implantación a Apache, o que utilizarán características propias de este servidor web. Adrián de la Torre López Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos de Apache, desde donde pueden ser compartidos. Los programadores de aplicaciones web a veces utilizan una versión local de Apache con el fin de previsualizar y probar código mientras éste es desarrollado. 8 CONFIGURACIÓN DE UN SERVIDOR WEB. Autenticación y control de acceso 13/01/2013 2. La autenticación es el proceso por el que se comprueba la identidad de alguien o algo, para ver si es lo que dice ser. Ese "alguien" o "algo" se denomina principal. La autenticación requiere pruebas de identidad, denominadas credenciales. Por ejemplo, una aplicación cliente puede presentar una contraseña como sus credenciales. Si la aplicación cliente presenta las credenciales correctas, se asume que es quien dice ser. Adrián de la Torre López La autenticación Web es una comunicación entre el explorador y el servidor Web donde participan un pequeño número de encabezados del Protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol) y mensajes de error. El flujo de comunicación es el siguiente: 1. 2. El explorador Web hace una solicitud, por ejemplo, HTTP-GET. El servidor Web realiza una comprobación de autenticación. Si no es correcta porque se requiere autenticación, responde con un mensaje de error similar al siguiente: No está autorizado a ver esta página No tiene permiso para ver este directorio o página con las credenciales proporcionadas. El explorador Web puede utilizar la información incluida en este mensaje para volver a enviar la solicitud como una solicitud autenticada. 3. El explorador Web utiliza la respuesta del servidor para crear una nueva solicitud que contiene información de autenticación. 4. El servidor Web realiza una comprobación de autenticación. Si la comprobación es correcta, devuelve al explorador Web los datos solicitados inicialmente. 9 CONFIGURACIÓN DE UN SERVIDOR WEB. En primer lugar, la autenticación, que identifica al usuario o a la maquina que trata de acceder a los recursos, protegidos o no. 2. En segundo lugar, procede la cesión de derechos, es decir, la autorización, que dota al usuario de privilegios para poder efectuar ciertas operaciones con los datos protegidos, tales como leerlos, modificarlos, crearlos, etc. Por defecto todas las paginas y servicios del servidor web se pueden acceder anónimamente, es decir, sin necesidad de identificarse ante el servidor y sin ningún tipo de restricción. En maquinas NT, el usuario anónimo pertenece al grupo invitados y tiene asignada la cuenta IUSR:nombremaquina, donde nombremaquina toma el valor del nombre del servidor: para una maquina llamada Mordor, la cuenta de acceso anónimo a Internet seria IUSR_MORDOR. Esta cuenta anónima debe tener permiso para conectarse localmente. En linux, en cambio, no es necesario crear una cuenta en la maquina para los usuarios anónimos. Adrián de la Torre López 1. 13/01/2013 El control de acceso constituye una poderosa herramienta para proteger la entrada a una web completa o solo a ciertos directorios concretos e incluso a ficheros o programas individuales. Este control consta generalmente de dos pasos: Análogamente, toda la información que viaja por las redes de comunicaciones lo hace en claro, de manera que puede ser fácilmente interceptada por un atacante. De ahí la necesidad de proteger los datos mientras se encuentran en transito por medio de un canal cifrado, para lo que se utiliza normalmente SSL. 10 CONFIGURACIÓN DE UN SERVIDOR WEB. Control por dirección IP, nombre de host o dominio Control por nombre y contraseña La forma más extendida Los tipos más comunes: • Autenticación básica • Autenticación mediante resúmenes • Autenticación de Windows integrada Adrián de la Torre López Recursos accesibles exclusivamente por ordenadores que posean determinada dirección IP, cierto nombre de host o pertenezcan a un dominio dado Se aplican una serie de reglas sencillas • Permitir a todos menos a unos cuantos • Denegar a todos menos a unos cuantos 13/01/2013 Los control de acceso más usados son los siguientes: 11 CONFIGURACIÓN DE UN SERVIDOR WEB. Registro y monitorización del servicio Web En un sistema Linux podemos encontrar estos archivos de registro o logs en la carpeta /var/log En esta carpeta encontraremos casi todos los archivos de registros de un sistema, pero cabe destacar que muchas aplicaciones crean estos archivos en sus propias carpetas fuera de /var/log. Ahora bien, ¿En que nos sirve los logs para monitorear nuestro sistema? pues muy sencillo, los principales archivos logs que estan en la carpeta /var/log van almacenando información de casi todos los eventos que ocurren en tu PC prácticamente desde que la enciendes y en ellos podremos ver por ejemplo que pasa internamente en Linux cuando conectas una Memoria USB, un Modem USB o cuando estas conectado a internet puedes ver los intentos de entrada bloqueados por tu firewall. En otras circunstancias podremos ser capaces de observar algun mensaje de error que se pueda producir cuando estas conectando algún hardware nuevo o si tienes un servicio web instalado podrás ver quienes están conectados a tu equipo. Adrián de la Torre López Los archivos de registros o archivos log como se conocen comúnmente, son archivos en donde se van almacenando un registro de todos los eventos que ocurren en un sistema durante un periodo de tiempo en particular. Estos archivos son usados tanto por el sistema operativo como por las aplicaciones o demonios (procesos) para registrar datos o información sobre un evento en particular. 13/01/2013 3. Algunas herramientas para poder monitorizar el servicio web son: 1. Montastic 2. Service Uptime 3. Site Uptime 4. Free Site Status 5. Host Tracker 12 CONFIGURACIÓN DE UN SERVIDOR WEB. Tipos MIME • Texto en conjuntos de caracteres distintos de US-ASCII; • adjuntos que no son de tipo texto; • cuerpos de mensajes con múltiples partes (multi-part); • información de encabezados con conjuntos de caracteres distintos de ASCII. Adrián de la Torre López Multipurpose Internet Mail Extensions o MIME (en español "extensiones multipropósito de correo de internet") son una serie de convenciones o especificaciones dirigidas al intercambio a través de Internet de todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario. Una parte importante del MIME está dedicada a mejorar las posibilidades de transferencia de texto en distintos idiomas y alfabetos. En sentido general las extensiones de MIME van encaminadas a soportar: 13/01/2013 4. Prácticamente todos los mensajes de correo electrónico escritos por personas en Internet y una proporción considerable de estos mensajes generados automáticamente son transmitidos en formato MIME a través de SMTP. Los mensajes de correo electrónico en Internet están tan cercanamente asociados con el SMTP y MIME que usualmente se les llama mensaje SMTP/MIME.1 Los tipos de contenido definidos por el estándar MIME tienen gran importancia también fuera del contexto de los mensajes electrónicos. Ejemplo de esto son algunos protocolos de red tales como HTTP de la Web. HTTP requiere que los datos sean transmitidos en un contexto de mensajes tipo e-mail aunque los datos pueden no ser un e-mail propiamente dicho. En la actualidad ningún programa de correo electrónico o navegador de Internet puede considerarse completo si no acepta MIME en sus diferentes facetas (texto y formatos de archivo). 13 CONFIGURACIÓN DE UN SERVIDOR WEB. WebDAV WebDAV es un grupo de trabajo del Internet Engineering Task Force. El término significa "Edición y versionado distribuidos sobre la web", y se refiere al protocolo (más precisamente, la extensión al protocolo) que el grupo definió. Adrián de la Torre López El objetivo de WebDAV es hacer de la World Wide Web un medio legible y editable, en línea con la visión original de Tim Berners-Lee. Este protocolo proporciona funcionalidades para crear, cambiar y mover documentos en un servidor remoto (típicamente un servidor web). Esto se utiliza sobre todo para permitir la edición de los documentos que sirve un servidor web, pero puede también aplicarse a sistemas de almacenamiento generales basados en web, que pueden ser accedidos desde cualquier lugar. La mayoría de los sistemas operativos modernos proporcionan soporte para WebDAV, haciendo que los ficheros de un servidor WebDAV aparezcan como almacenados en un directorio local. 13/01/2013 5. WebDAV es una extensión al procolo HTTP 1.1 que sigue un lema muy explícito: "makes the Web Writable". El objetivo es conseguir convertir la web, a través del protocolo http, en un espacio de colaboración, donde varias personas distintas puedan participar conjuntamente en la elaboración de documentos. 14 CONFIGURACIÓN DE UN SERVIDOR WEB. Adrián de la Torre López PROPFIND - Usado para recuperar propiedades, almacenadas como XML, desde un recurso. También está sobrecargado para permitir recuperar la estructura de colección (alias jerarquía de directorios) de un sistema remoto. PROPPATCH - Usado para cambiar y borrar múltiples propiedades de un recurso en una simple operación atómica (atomic commit). MKCOL - Usado para crear colecciones (alias directorio) COPY - Usado para copiar un recurso desde un URI a otro. MOVE - Usado para mover un recurso desde un URI a otro. LOCK - Usado para bloquear (lock) un recurso. WebDAV soporta tanto bloqueos compartidos como exclusivos. UNLOCK - Para desbloquear un recurso. 13/01/2013 WebDAV añade los siguientes métodos a HTTP: 15 CONFIGURACIÓN DE UN SERVIDOR WEB. Adrián de la Torre López PROPFIND - Usado para recuperar propiedades, almacenadas como XML, desde un recurso. También está sobrecargado para permitir recuperar la estructura de colección (alias jerarquía de directorios) de un sistema remoto. PROPPATCH - Usado para cambiar y borrar múltiples propiedades de un recurso en una simple operación atómica (atomic commit). MKCOL - Usado para crear colecciones (alias directorio) COPY - Usado para copiar un recurso desde un URI a otro. MOVE - Usado para mover un recurso desde un URI a otro. LOCK - Usado para bloquear (lock) un recurso. WebDAV soporta tanto bloqueos compartidos como exclusivos. UNLOCK - Para desbloquear un recurso. 13/01/2013 WebDAV añade los siguientes métodos a HTTP: 16