Source: http://docplayer.es/2267563-Practicas-servicios-de-red-e-internet.html
Timestamp: 2017-09-22 01:36:40+00:00

Document:
PRACTICAS. SERVICIOS de RED e INTERNET - PDF
PRACTICAS. SERVICIOS de RED e INTERNET
Download "PRACTICAS. SERVICIOS de RED e INTERNET"
María Cristina de la Fuente Domínguez
1 PRACTICAS SERVICIOS de RED e INTERNET
2 Servicios de Red e Internet (SRI) Rango y Distribución IP's en el Aula 07: La Red asignada al aula es: / 24 El Gateway asignado al aula es: DNS: Cada alumno tiene asignado un rango de 10 IP's dentro de la Red /24 de la siguiente manera: xx a yy donde xx empieza por 11, 21, 31,... e yy acaba en 20, 30, 40,. y así sucesivamente en modo ascendente, ejemplo: Ordenador Profesor a Ordenador alumno a Ordenador alumno a Ordenador alumno a Ordenador alumno a Ordenador alumno a Ordenador alumno a Ordenador alumno a Ordenador... Disposición Real de ordenadores y terminación IP en el Aula: Profesor 11 a 20 Unai 21 a 30 Juan Carlos 31 a 40 Javi 41 a 50 Juan 51 a 60 Kleber 61 a 70 Agustin 71 a 80 Maialen 131 a 140 Jon Ander 121 a 130 Andoni 111 a 120 Gorka 101 a 110 Mikel 91 a 100 Aritz 81 a 90 Xabi 141 a 150 Itziar 151 a 160 Unai 161 a 170 Gonzalo 171 a 180 Jon Ander 181 a 190 Joseba 191 a 200 Diego 201 a 210 Diego 211 a 220
3 Configuración ordenador para las practicas: VirtualBox (Maquinas virtuales) MaquinaRealxx DesarrolloW7xx ServidorLinuxxx ServidorW2008xx RAM: 512MB HD: 20GB RAM: 256MB HD: 8GB RAM: 512MB HD: 20GB Donde xx es la IP asignada a la maquina y dentro del rango de 10 IP's asignado, en este caso: MaquinaReal Ordenador físico con XP y VirtualBox/VMware para maquinas virtuales DesarrolloW Maquina virtual de Windows 7 ServidorLinux Maquina virtual de Linux Server, Ubuntu 64 ServidorW Maquina virtual de Windows server 2008 Estandar Nota: En las maquinas virtuales el usuario sera: alumno y la contraseña: Aa El Grupo de trabajo sera: SRIxxx donde xxx las iniciales de Nombre y primer apellido. Ejemplo: Juan Carlos Ruiz = SRIJCR Servicios: DNS FTP HTTP Correo El nombre de Zona (nombre de dominio) para DNS a añadir a cada nombre de equipo, sera xxxdomain.edu donde xxx son las tres iniciales del alumno ejemplo: Juan Carlos Ruiz = jcrdomain.edu, así ServidorW quedaría como ServidorW jandomain.edu en mi caso.
4 Windows 7 cliente DesarrolloW752 Instalación de Windows 7 en Maquina Virtual con VirtualBox Con VirtualBox se utiliza el formato de maquina virtual VMDK que en teoría es compatible con Vmware (se ha probado con Vmware Fusión, versión para Mac OS X y funciona) Proceso de creación de la maquina virtual: 1. Pinchar en Nueva e introducir los datos que se piden. 1. Nombre: El nombre asignado a esa maquina virtual en este caso DesarrolloW Tipo: De que tipo es el sistema operativo, en este caso Microsoft Windows. 3. Versión: Versión de sistema operativo a instalar, en este caso Windows 7 64bits. 4. Tamaño de memoria: el que se necesite, generalmente por defecto, en este caso 512MB. 5. Unidad de disco duro: Create a virtual Hard drive now y Crear, da varias opciones de tipo de archivo, VDI (por defecto) es el utilizado por VirtualBox, VMDK es soportado por virtualbox y es el utilizado por Vmware. Entre otras opciones, escogemos VMDK para tener compatibilidad también con Vmware. 6. Almacenamiento en unidad de disco duro: Reservado dinamicamente y marcamos Dividir en archivos de menos de 2GB, si vamos a tener o mover la maquina virtual en unidades con formato FAT32 (que no soporta archivos de mas de 4GB), tamaño en disco lo fijo en 20GB. 7. Ubicación del archivo y tamaño: le indicamos la carpeta donde alojar los archivos de la maquina virtual, en este caso una carpeta llamada DesarrolloW752 en el escritorio (En ubicación: se selecciona la carpeta y en Guardar como: el nombre para los archivos, en este caso el mismo, osea DesarrolloW752). 8. Con esto queda creada la maquina virtual, en este caso para Windows. 2. Pinchar en configuración y seleccionar una ISO del sistema operativo a instalar. 1. En almacenamiento seleccionar el CD (marcado como vació) y Atributos se pincha en el símbolo del CD y se elige seleccionar un archivo de disco virtual CD/DVD... y se selecciona la ISO del sistema operativo a instalar. 2. En la pantalla de configuración podemos configurar otros aspectos de la maquina virtual, por ejemplo en el caso de USB 2.0, esta característica no esta marcada y para poder utilizarla hay que descargar un paquete de extensiones de la pagina web: (https://www.virtualbox.org/wiki/downloads) Tras instalas las extensiones se podrá activar compatibilidad con USB Pinchar en iniciar y se iniciara la maquina virtual, en este caso arrancara primero la ISO de instalación para instalar el sistema operativo, una vez completado el proceso de instalación, podemos quitar en Configuración Almacenamiento y seleccionando el CD en el lado de Atributos Eliminar disco de la unidad virtual.
5 Proceso de instalación de Windows 7 en la maquina virtual: 1. En la selección del sistema operativo a instalar escogemos la opción: Windows 7 Enterprise X64 2. Se escoge nueva instalación y se sigue el proceso de instalación, en principio todo por defecto, excepto lo indicado a continuación: 1. Nombre usuario: alumno 2. Contraseña: Aa 3. En nombre equipo: DesarrolloW752 (el que tengamos asignado para la practica) 4. Cuando pregunta por escoger como se actualiza, marcar Preguntarme mas tarde una vez hecha la instalación, en windows update se escogerá que no busque actualizaciones. 5. En ubicación actual del equipo: Red domestica 6. Con esto queda terminada la instalación y se hace el arranque inicial de windows. Como hacer puntos de restauración En las maquinas virtuales tenemos la opción de volver a un punto determinado, para ello se hacen puntos de restauración. En Vmware con VM/Snapshot En VirtualBox Seleccionando la Maquina/instantáneas Sobre las instantáneas: se hacen en la ventana principal de VirtualBox, Seleccionando la maquina virtual de la que queremos las instantánea y pinchando en Instantáneas (esto ocupa espacio adicional). Se pincha en Estado actual y con botón derecho Tomar instantánea, ponemos un nombre y en comentarios el estado o lo hecho al tomar esa instantánea. Se da un nombre con fecha y una descripción del estado. Nada mas terminar la instalación hacemos una instantánea del estado de la maquina virtual y a partir de aquí después de cada practica, sobre todo si esta correcta, en caso de hacer algo mal podemos volver atrás a un punto de restauración/instantánea anterior.
6 Windows 7 cliente DesarrolloW752 Practica - Configuración DesarrolloW752 Windows 7 tiene la característica de no tener que aprender las ubicaciones, en la mayoría de los casos utilizare inicio buscar. Configuración interface de Red, pongo IP y entre las búsquedas sale ver conexiones de Red y en conexión de área local configuro la IP, mascara, gateway y dns Panel de control Centro de Redes y recursos compartidos Cambiar configuración del adaptador Compruebo en una terminal (ejecutar y cmd) que tengo internet haciendo ping a una web conocida, en este caso al proveedor de dns, con ping Y con Ipconfig /all veo la configuración de los interfaces de red reales y virtuales.
7 Cambiamos el nombre del equipo, si no le hemos puesto un nombre enn la instalacion, procederemos a cambiarlo y darle el nombre de equipo asignado, podemos hacer como antes en buscar poner nombre de equipo y escoger entre las opciones propuestas. En este caso escogemos Cambiar nombre de equipo y ponemos el nombre asignado a la maquina (pinchando en cambiar). En mi caso el mostrado en la pantalla (que ya había puesto al hacer la instalación), también cambiamos el grupo que sera: SRIXXX (donde XXX es las iniciales de nombre y primer apellido), en mi caso SRIJAN, para ello pinchamos en la opción Id. de Red y escogemos: Este equipo forma parte de una red organizativa y lo utilizo para conectarme a otros equipos en el trabajo, dentro de esta opción escogemos: Mi organización usa una red sin dominio y aquí cambio el nombre: Quedaría así: Instalo también las Guest additions para poder tener carpetas compartidas entre los diferentes sistemas y terminada la configuración hasta aquí, hacer una instantánea en este punto.
8 Nota: Como habilitar la respuesta ping en el firewall de windows: En Firewall, configuración avanzada y Reglas de Entrada Activamos la regla de permitir petición de eco en Ipv4 en Archivos e impresoras compartidas. Antes: después:
9 Windows 7 cliente DesarrolloW752 Practica - Configuración Windows 7 como cliente DNS (esto se hace después de completar la practica Configuración del Servidor como DNS primario (Maestro) de una zona de resolución inversa, PTR en el ServidorW200854). Poner como servidor DNS preferido la IP del ServidorW (que es el que hará la resolución de nombres DNS), en esta caso Panel de control Centro de Redes y recursos compartidos Cambiar configuración del adaptador Cambiar el sufijo DNS y poner el mismo que se puso para el ServidorW20054, que es jandomain.edu En propiedades del sistema - Nombre de equipo, pinchar en cambiar y la pantalla Cambios en el dominio o nombre del equipo, pinchar en Mas..., en la pantalla que sale meter el nombre de zona que tenemos para la red: jandomain.edu.
10 Una vez echo esto esto comprobamos la resolución de nombres (tienen que estar funcionando el resto de maquinas virtuales, ServidorW y ServidorLinux53) con nslookup. Se ve que encuentra las maquinas, poniendo el nombre, la IP y el alias.
11 Servidor Ubuntu 64bit ServidorLinux53 Instalación de Ubuntu Server 64 en Maquina Virtual con VirtualBox Con VirtualBox se utiliza el formato de maquina virtual VMDK que en teoría es compatible con Vmware (se ha probado con Vmware Fusión, versión para Mac OS X y funciona) Proceso de creación de la maquina virtual: 1. Pinchar en Nueva e introducir los datos que se piden. 1. Nombre: El nombre asignado a esa maquina virtual en este caso ServidorLinux Tipo: De que tipo es el sistema operativo, en este caso Linux. 3. Versión: Que versión de sistema operativo se va a instalas, en este caso Ubuntu (64bits). 4. Tamaño de memoria: el que se necesite, generalmente por defecto, en este caso 256MB. 5. Unidad de disco duro: Create a virtual Hard drive now y Crear, da varias opciones de tipo de archivo, VDI (por defecto) es el utilizado por VirtualBox, VMDK es soportado por virtualbox y es el utilizado por Vmware. Entre otras opciones, escojemos VMDK para tener compatibilidad tambien con Vmware. 6. Almacenamiento en unidad de disco duro: Reservado dinamicamente y marcamos Dividir en archivos de menos de 2GB si vamos a tener o mover la maquina virtual en unidades con formato FAT32 (que no soporta archivos de mas de 4GB), el tamaño de disco lo dejamos en 8GB. 7. Ubicación del archivo y tamaño: le indicamos la carpeta donde alojar los archivos de la maquina virtual, en este caso una carpeta llamada ServidorLinux53 en el escritorio (En ubicación: se selecciona la carpeta y en Guardar como: el nombre para los archivos, en este caso el mismo, osea ServidorLinux53). 8. Con esto queda creada la maquina virtual, en este caso para Linux. 2. Pinchar en configuración y seleccionar una ISO del sistema operativo a instalar. 1. En almacenamiento seleccionar el CD (marcado como vació) y Atributos se pincha en el símbolo del CD y se elige seleccionar un archivo de disco virtual CD/DVD... y se selecciona la ISO del sistema operativo a instalar. 2. En la pantalla de configuración podemos configurar otros aspectos de la maquina virtual, por ejemplo en el caso de USB 2.0, esta característica no esta marcada y para poder utilizarla hay que descargar un paquete de extensiones de la pagina web: (https://www.virtualbox.org/wiki/downloads) Tras instalas las extensiones se podrá activar compatibilidad con USB Pinchar en iniciar y se iniciara la maquina virtual, en este caso arrancara primero la ISO de instalación para instalar el sistema operativo, una vez completado el proceso de instalación, podemos quitar en Configuración Almacenamiento y seleccionando el CD en el lado de Atributos Eliminar disco de la unidad virtual.
12 Proceso de instalación de Ubuntu server en la maquina virtual: 1. En la instalación de Ubuntu server se elige la primera opción: Instalar Ubuntu Server 2. En selección de ubicación: España 3. Detectar la configuración del teclado siguiendo los pasos 4. En nombre de las maquina (dejar por defecto): ubuntu 5. Nombre completo para el nuevo usuario: alumno 6. Nombre de usuario para la cuenta: alumno 7. Contraseña del usuario: Aa 8. Cifrar carpeta personal: NO 9. Time/zone: Europe/Madrid 10. Método particionado (por defecto): Guiado utilizar el disco completo y configurar LVM 11. En las preguntas de particionado: todo por defecto y SI a los cambios 12. Comienza la instalación de software 13. Cuando pregunta Información de proxy HTTP: dejar en blanco 14. Como desea administrar actualizaciones en este sistema: Sin actualizaciones automáticas 15. En elegir los programas a instalar: Continuar sin escoger ninguno 16. Desea instalar el cargador de arranque GRUB en el registro principal de arranque: SI 17. Termina la instalación y se da continuar para arrancar el sistema instalado. Como hacer puntos de restauración En las maquinas virtuales tenemos la opción de volver a un punto determinado, para ello se hacen puntos de restauración. En Vmware con VM/Snapshot En VirtualBox Seleccionando la Maquina/instantáneas Sobre las instantáneas: se hacen en la ventana principal de VirtualBox, Seleccionando la maquina virtual de la que queremos las instantánea y pinchando en Instantáneas. Se pincha en Estado actual y con botón derecho Tomar instantánea, ponemos un nombre y en comentarios el estado o lo hecho al tomar esa instantánea. Se da un nombre con fecha y una descripción del estado. Nada mas terminar la instalación hacemos una instantánea del estado de la maquina virtual y a partir de aquí después de cada practica, sobre todo si esta correcta, en caso de hacer algo mal podemos volver atrás a un punto de restauración/instantánea anterior.
13 Servidor Ubuntu 64bit ServidorLinux53 Practica - Visualizar usuario root Cuando se inicia el servidor linux en modo terminal escribimos: ubuntu login: alumno Password: Aa Una vez metido el usuario y contraseña saldrá el prompt del home del usuario: En el prompt del usuario alumno descubrimos el usuario root con sudo -s: $ sudo -s pide una contraseña, no metemos nada y salimos con Ctrl C, que nos devuelve al prompt del usuario alumno. Tecleamos sudo passwd root y metemos la contraseña para el usuario root, pedirá primero la contraseña del usuario alumno que en este caso es Aa y luego 2 veces la contraseña para el usuario root, que en este caso pondremos igualmente como Aa. Una vez configurada y activada la cuenta de root, salimos con exit y vuelve a pedir usuario y contraseña (ubuntu login: y Password), entramos con el usuario root y la contraseña que le hemos asignado ( Aa) y ya entraríamos como superusuario. Practica - Configuración Servidor Vemos que el sistema ha asignado unos nombres a las interfaces, tecleando ifconfig -a veo las interfaces configuradas. Observo que tengo una IP asignada automáticamente por DHCP, como ver esto?, como configurar una IP nueva? Para ver esto edito el fichero /etc/network/interfaces con un editor como por ejemplo nano: # nano /etc/network/interfaces
14 Y configuro para eth0 la nueva IP, mascara, gateway y dns que se me proporcione, en este caso la IP: , mascara: , Gateway: y dns: , como se indica: auto eth0 iface eth0 inet static address netmask gateway dns-nameservers Cuando termino la configuración, guardo con Ctrl O y salgo con Ctrl X. Importante: siempre que modifique un archivo de configuración hay que restaurarlo después, en este caso con: # /etc/init.d/networking restart Después se realizan una serie de comprobaciones de la configuración: Compruebo la configuración del interface con ifconfig Compruebo fichero que contiene las dns, con cat al fichero /etc/resolv.conf. # cat /etc/resolv.conf Miramos el nombre de la maquina con el comando hostname, para editar este nombre lo hago en el fichero /etc/hostname con un editor como nano y cambiamos ubuntu por ServidorLinux53. # nano /etc/hostname
15 Se edita también el archivo /etc/hosts y donde ponga ubuntu se pone el nuevo nombre, en este caso ServidorLinux53. Y una vez cambiado en este fichero se reinicia con el comando reboot (con poweroff se apaga), al reiniciar ya tiene el nuevo nombre, para lo que en el prompot pondrá: # nombre nombre maquina Tras estas configuraciones y comprobaciones, se comprueba que se tiene acceso a internet, haciendo ping al proveedor de dns. Nota: En virtualbox hay que tener la Red configurada en adaptador puente.
16 Servidor Ubuntu 64bit ServidorLinux53 Practica - Funcionamiento DNS Utilizaremos el comando nslookup, esta orden permite realizar consultas personalizadas a servidores de DNS, pasos para la comprobación: 1) En la terminal bajo root 2) Tecleo: nslookup Observamos que el servidor DNS que responde es el que esta configurado en las propiedades TC/IP ( ). Se podrá ver que existen diferentes IPs asociadas a un mismo Dominio. nslookup Vamos a utilizar el comando nslookup para obtener las direcciones IP asociadas al nombre DNS pero preguntándole al servidor nslookup Observar que indica Respuesta no autoritativa: Realizamos la consulta con el comando pero preguntando por un nombre de servidor. nslookup ns1.google.com Realizando la consulta con el comando dig y a un nombre
17 Realizando la consulta con el comando dig -x Realizando la consulta con el comando dig a una dirección IP Realizando la consulta con el comando
18 Practica - Configuración ServidorLinux53 como cliente DNS (esto se hace después de completar la practica Configuración del Servidor como DNS primario (Maestro) de una zona de resolución inversa, PTR en el ServidorW200854). Poner como servidor DNS preferido la IP del ServidorW200854, Para ver esto edito el fichero /etc/network/interfaces con un editor como por ejemplo nano: # nano /etc/network/interfaces Importante: siempre que modifique un archivo de configuración hay que restaurarlo después, en este caso con: # /etc/init.d/networking restart Compruebo fichero que contiene la dns introducida, con cat al fichero /etc/resolv.conf. # cat /etc/resolv.conf Miramos el nombre de la maquina con el comando hostname, para editar este nombre lo hago en el fichero /etc/hostname con un editor como nano y cambiamos ServidorLinux53 por ServidorLinux53.jandomain.edu. # nano /etc/hostname Se edita también el archivo /etc/hosts y donde ponga ServidorLinux53 se pone el nuevo nombre, en este caso ServidorLinux53.jandomain.edu. Se reinicia la maquina y comprobamos la resolución de nombres con DIG y nslookup. Usamos el comando DIG para comprobar que el servidor DNS resuelve consultas directas sobre nombres de la zona jandomain.edu.
20 Servidor Ubuntu 64bit ServidorLinux53 Practica Instalación del Servidor Web Apache 2.2 en Linux Instalaremos el servidor web en linux desde los repositorios de ubuntu y probaremos el funcionamiento del servidor estableciendo conexiones desde la maquina virtual DesarrolloW752, el comando para la instalación es el siguiente: apt-get install apache2 Una vez instalado, se crearan los ficheros de configuración. Se crea el usuario www-data que se añade al grupo www-data, se crea el fichero index.html que esta en /var/www (directorio virtual por defecto de apache para la pagina web). Se va al directorio /var/www y tras hacer un ls, veré que hay un fichero index.html. Si miro el fichero /etc/passwd, veo que esta el usuario www-data. Y si miro el fichero /etc/group veo los grupos creados y estará www-data cat /etc/group more Compruebo que el servidor esta iniciado de la siguiente manera: ps -ef grep apache
21 Compruebo que esta escuchando por el puerto 80 TCP con: netstat -ltn Para consultar el contenido de /var/www/index.html, utilizo cat /var/www/index.html Edito la pagina web index.html con nano nano /var/www/index.html <html> <head> </head> <body> <h2> Servidor Web Linux JAN </h2> <p> Esta es la pagina web que sirve el ServidorLinux53 por medio de Apache </p> <p> La pagina esta pendiente de construccion <br> See you later </p> </body> </html> Se comprueban las conexiones del servidor con Windows 7 (DesarrolloW752), para ello en la maquina virtual de Windows 7 se abre el navegador web y se pone la IP del Servidor de linux ( ) y se observa que apache sirve por defecto el fichero index.html que esta en /var/www (si se hace la prueba con ServidorW200854, también sale esta pagina)
22 Practica - Ficheros de configuración y directivas en Linux Primer acercamiento, en esta practica analizaremos los ficheros de configuración y el valor de algunas directivas del servidor web apache 2.2 Ficheros de configuración: accedo al directorio de apache con: cd /etc/apache2 y con ls veo los ficheros.conf veo fichero apache2.conf con cat, observo que aparece Serverroot, user,... veo el fichero ports.conf Servidor virtual por defecto esta en etc/apache2/sites-available veo lo que hay con ls -l veo con cat que contiene el archivo de configuración default. Hago una copia de seguridad de este archivo ya que lo modificare: cp etc/apache2/sites-available/default default_copia En /var/www creo los siguientes ficheros (que se utilizaran mas adelante) despliegue.html con nano. Que dentro ponga curso despliegue (por poner algo) fp.html con nano que dentro ponga cursos de FP Creo una carpeta llamada ciclos con mkdir mkdir ciclos dentro de ciclos meto los ficheros listado.html, asir.html, dam.html y daw.html nano ciclos/asir.html, nano ciclos/dam.html y nano ciclos/daw.html Una vez creado esto veo desde windows 7 que al poner la Ip del servidor la pagina que me sirve es la pagina index.html, pero si pongo la ip y el nombre de otro fichero html con /despliegue me sale el contenido de ese fichero html, si pongo la carpeta ciclos con /ciclos me sale listado el contenido de la carpeta. Ficheros a servir por defecto: renombro index.html por indice.html con mv index.html indice.html y veo que pasa si abro la dirección web del servidor desde windows 7- Da error, ya no encuentra el fichero index.html que tiene por defecto para servir. Para tener una pagina de inicio edito el fichero etc/apache2/sites-available/default <VirtualHost *:80> ServerAdmin DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all y en la primera parte del fichero añado lo siguiente (marcado como 'Cambio1'), de tal manera que ahora sea despliegue.html el fichero por defecto:
23 <VirtualHost *:80> ServerAdmin #directorio Raiz# DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None #ruta ubicación de la pagina web# <Directory /var/www/> ####Cambio1 pagina a servir por defecto###### DirectoryIndex despliegue.html ####Cambio1############################ Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all Para que tengan efecto los cambios hay que reiniciar el servidor Apache: ~# service apache2 stop o con: sudo /etc/init.d/apache2 stop el resultado sera: *Stopping web server apache2 waiting [OK] ~# service apache2 start o con: sudo /etc/init.d/apache2 start el resultado sera: *Starting web server apache2 [OK] ~# service apache2 restart Con este comando se reinicia sin parar los servicios. Compruebo desde windows 7 que pagina sale por defecto y sale la que hemos configurado ahora. Crear directiva para /var/www/ciclos dentro del archivo default, para que cuando se ponga /ciclos en un navegador web no liste el contenido, esta parte se añade a continuación de la parte puesta mas arriba (Cambio2). ####Cambio2 Directorio con contenido web que no se lista### <Directory /var/www/ciclos/> Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ####Cambio2######################################### Hay que volver a reiniciar el servidor para que tengan efecto los cambios. Al comprobar desde windows /ciclos, ya no lista el contenido de la carpeta ciclos, es porque la opción: Options FollowSymLinks MultiViews ya no lleva el Indexes, sin embargo si puedes ver una de las paginas de la carpeta si sabes como se llama.
24 Practica - Configurar el servidor virtual por defecto para que cuando retorne el código de error 404 (pagina no encontrada), envié el texto 'Pagina no encontrada en el ServidorLiniux53'. Para ello iré al directorio etc/apache2/sites-available, y edito el fichero default. Debajo de la linea 'CustomLog ${APACHE_LOG_DIR}/access.log combined' pongo un comando y un mensaje: ErrorDocument 404 y un texto entre "" (Cambio3): CustomLog ${APACHE_LOG_DIR}/access.log combined ###########Cambio3 insertar un codigo de error########################## ErrorDocument 404 "Pagina web no encontrada en ServidorLinux53" ###########Cambio3################################################ Otra opción es llamar a un fichero cuando se produzca el error con ErrorDocument 404 y la ruta al fichero (Cambio4): CustomLog ${APACHE_LOG_DIR}/access.log combined ###########Cambio3 insertar un codigo de error################ #ErrorDocument 404 "Pagina web no encontrada en ServidorLinux53" ###########Cambio3############################################# ###########Cambio4 llamar a un fichero con el codigo de error## ErrorDocument 404 /error404.html ###########Cambio4############################################# Y el contenido del fichero situado en /var/www/ y con nombre error404.html es: <html> <head> </head> <body> <h2> Error 404 </h2> <p> La pagina especificada no se ha encontrado </p> </body> </html> Y se comprueba con windows 7 cliente que al meter en el navegador web una pagina que no existe da el error que hemos configurado.
25 Practica Creación de alias Crear el directorio /home/alumno/apuntes (al que haremos alias) y dentro una pagina web llamada apuntes.html de prueba. Edito el fichero etc/apache2/sites-available/default y añado lo siguiente (encima de la linea de alias) de tal manera que no tenga que poner la ruta en el navegador para acceder a la carpeta, si no que solo haga falta poner el alias asignado en este caso "apuntes" ##########Cambio5 Creacion de Alias############################# Alias /apuntes /home/alumno/apuntes <Directory /home/alumno/apuntes> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from all ###########Cambio5############################################## Alias /doc/ "/usr/share/doc/" Se comprueba con Windows 7 que se accede con /apuntes y lista el contenido: Practica - Hacer re-direcciones Se va a crear un redirect para la pagina fp.html, de tal manera que cuando se la llame no salga el contenido de la pagina, si no que se direccione a otro sitio. Edito el fichero etc/apache2/sites-available/default y creo un redirect para fp y que en vez de salir lo que esta en fp salga otra cosa, en este caso: Se pone debajo del alias creado anteriormente lo siguiente (Cambio6): ############Cambio6 Redireccion############################ Redirect /fp ############Cambio6###################################### Se comprueba con Windows 7 que al poner /fp se accede a la dirección especificada (para esta prueba se necesita acceso a internet, si no se tiene simplemente dirá pagina no encontrada pero en el navegador aparecerá la dirección especificada).
26 Practica Módulos de Apache Apache es un servidor modular. El núcleo del servidor tiene las funcionalidades básicas que se pueden ampliar añadiendo módulos adicionales. Cada modulo agrupa un conjunto de directivas y funcionalidades para configurarlas. Existen múltiples módulos que puedes consultar en: Existen 2 tipos de módulos módulos estáticos, Se añaden cuando se compila apache. Para ver los módulos estáticos que se han cargado al compilar tecleo: apache2ctl -l módulos dinámicos, se cargan cuando se inicia el servidor. Para comprobar los módulos que se han cargado dinamicamente al arrancar el servidor, consultaremos el directorio /etc/apache2/mods-enabled y listamos con ls -l. editamos por ejemplo cat dir.load y observamos como se utiliza una directiva load module para cargar el modulo y observamos cual es la ruta donde esta el código del modulo (archivo.so) Editamos el fichero dir.conf y observaremos que todos tiene un programa con un IF Para ver módulos que están en el repositorio de ubuntu hare con: apt-cache search libapache2-mod cargo el modulo a2enmod userdir Visualizo el contenido de userdir.conf cat /etc/apache2/mods-anabled/userdir.conf
27 <IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </IfModule> Observamos que he habilitado el uso de directorios personales para todos los usuarios excepto para el usuario root y que public_html es el nombre del subdirectorio que pueden crear los usuarios en su directorio /home para poner sus paginas personales. Entro como el usuario alumno y creo la carpeta public_html y dentro un fichero llamado personal.html y veo que desde windows 7 accedo. Compruebo que desde windows 7 accedo a la carpeta web personal del usuario, en este caso alumno, pongo en el navegador: /~alumno/.
28 Practica Control de acceso por IP y nombre de dominio Creo en /var/www una carpeta llamada profesor y dentro un fichero llamado profesor.htm y dentro el contenido: Solo puede entrar la IP asignada. Edito el fichero etc/apache2/sites-available/default y hago el cambio 7 para que solo entren los equipos con las IP especificadas. #########Cambio7 control acceso por IP y autenticacion BASIC##### <Directory "/var/www/profesor"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from Allow from #AuthType Basic #AuthName "Acceso restringido" #AuthUserFile "/etc/apache2/passwd" #Require user profesor1 profesor2 ################################################################### Las directivas marcadas con # se configuran en el paso siguiente, autenticacion BASIC Se comprueba que se accede desde windows 7 Sin embargo con windows 2008 no debería entrar:
29 Practica Autenticacion BASIC (sin encriptar) y Autenticacion DIGEST Configuraremos la autenticacion BASIC sobre el directorio /var/www/profesor para que puedan acceder solamente los profesores: profesor1 y profesor2 con la contraseña: Aa Iniciamos linux como administrador, comprobamos si existe el modulo auth_basic y si esta ejecutándose (enable), se mira en la ruta /etc/apache2/mods-enabled para cargarlo si no esta es con a2enmod auth_basic Nota : para deshabilitarlo seria con a2dismod auth_basic Para usar la autenticacion basic hay que usar un fichero accesible por apache en el que se guardaran los usuarios y sus contraseñas, para crear el fichero se utiliza el comando: htpasswd -c /etc/apache2/passwd profesor1 y meto al profesor1 (nota el -c se pone sola la primera vez que se crea el fichero), se repite el comando para profesor2: htpasswd /etc/apache2/passwd profesor2. Para verlas uso cat /etc/apache2/passwd (estan encriptadas) Una vez hecho esto vuelvo al archivo default y configura las nuevas directivas (dentro del cambio7). #########Cambio7 control acceso por IP y autenticacion BASIC##### <Directory "/var/www/profesor"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from Allow from AuthType Basic AuthName "Acceso restringido" AuthUserFile "/etc/apache2/passwd" Require user profesor1 profesor2 ################################################################### Supuestamente al entrar con Windows 7 debería pedir contraseña de acceso.
30 Y una vez autorizados muestra el contenido. Configuraremos la autenticacion DIGEST para el directorio /var/www/departamentos para que solo puedan acceder los usuarios admin1 y admin2, supón que hubiera 50 usuarios. Iniciamos linux como root y se mira si esta cargardo digest en la ruta: /etc/apache2/mods-enabled y como no esta lo cargamos con: a2enmod auth_digest Y reinicio el servidor Para usar la autenticacion digest hay que usar un fichero accesible por apache en el que se guardaran los usuarios y sus contraseñas, asociados a un dominio, el fichero se creara para el usuario admin1 perteneciente al dominio informatica de la siguiente manera: htdigest -c /etc/apache2/digest informatica admin1 htdigest /etc/apache2/digest informatica admin2 y veo con cat /etc/apache2/digest Creo en /var/www la carpeta departamentos y dentro el fichero departamento.html Y modifico el fichero default añadiendo el cambio8 con lo referente a digest
31 ########Cambio8 control de acceso por autenticacion DIGEST######### <Directory /var/www/departamentos> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AuthType Digest AuthName "informatica" AuthDigestProvider file AuthUserFile "/etc/apache2/digest" Require valid-user ################################################################### Se hace un restart al servidor y se prueba en windows 7, tiene que pedir usuario y contraseña de acceso. Y accede:
32 Practica Alojamiento virtual de sitios web en Linux Se desea crear el sitio virtual software y hardware, en el servidor de DNS (windows 2008) debo relacionar software y hardware con la IP Se crean los siguientes directorios (sitios web) con su pagina index.html: /var/www/hardware/index.html (dentro de mete un texto que identifique la pagina) /var/www/software/index.html (dentro de mete un texto que identifique la pagina) Dentro de software se crea una carpeta con nombre privado y archivo index.html para el acceso con contraseña: /var/www/software/privado/privado.html Se crea fichero /etc/apache2/software.digest con usuario linux y contraseña Aa, para que al sitio privado solo entre el usuario linux que se configurara mas adelante. htdigest -c /etc/apache2/ software.digest software linux Se deshabilita el sitio default (el comando para deshabilitar un sitio es a2dissite xxx ):: cd etc/apache2/sites-available a2dissite default Se coge el archivo default original sin tocar y se copia con los nombres software y hardware. cp etc/apache2/sites-available/default_copia software cp etc/apache2/sites-available/default_copia hardware Se habilitan estos sitios creados (el comando para habilitar un sitio es a2ensite xxx ): a2ensite software a2ensite hardware Se da un nombre DNS a cada sitio y se añade la ruta al sitio, para lo que se edita el archivo correspondiente. nano etc/apache2/sites-available/software y se añade lo siguiente: ServerAdmin ServerName software.jandomain.edu DocumentRoot /var/www/software <Directory /> Options FollowSymLinks AllowOverride None <Directory /var/www/software> ####pagina a servir por defecto################ DirectoryIndex index.html ####Cambio1############################ Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all
33 nano etc/apache2/sites-available/hardware y se añade lo mismo pero cambiando software por hardware en este caso. ServerAdmin ServerName hardware.jandomain.edu DocumentRoot /var/www/hardware <Directory /> Options FollowSymLinks AllowOverride None <Directory /var/www/hardware> ####pagina a servir por defecto################ DirectoryIndex index.html ###################################### Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all Debo relacionar software y hardware con la IP , para ello tengo que ir al servidor DNS que es ServidorW y configurar dos nuevos host que relacionen los nombres hardware.jandomain.edu y software.jandomain.edu con la IP Esto se realiza para que al poner en el navegador web software y hardware me lleve a las paginas index.html de cada uno de los sitios. Una vez realizados estos cambios recargo el servidor apache para que coja los cambios con: service apache2 restart recarga el servidor sin provocar corte de servicio. Y pruebo en windows 7 que accedo a las paginas creadas y configuradas. En server 2008 hay que crear en DNS un A-host que apunte a software.jandomain.edu con la IP y hardware.jandomain.edu con la IP , se puede crear un alias con software y hardware que apunte a la IP anteriormente puesta. Configuramos la autenticacion DIGUEST para el directorio /var/www/software/privado para que solo pueda acceder el usuario linux. Modifico el fichero software añadiendo el cambio con lo referente a digest ########Cambio8 control de acceso por autenticacion DIGEST######### <Directory /var/www/software/privado> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from AuthType Digest AuthName "software" AuthDigestProvider file AuthUserFile "/etc/apache2/software.digest" Require valid-user Require user linux #############################################################
34 Nota: Puede no coger los cambios a la primera y haya que reiniciar windows 2008 y linux Se cambia el nombre del fichero ErrorLog y CustomLog por software y Hardware en cada uno de los archivos de configuración. ######Nuevo nombre para los archivos log##################### ErrorLog ${APACHE_LOG_DIR}/software.error.log CustomLog ${APACHE_LOG_DIR}/software.access.log combined ############################################################# Se hace un restart al servidor y se prueba en windows 7, con software.jandomain.edu va a la pagina index que sirve por defecto. Con software.jandomain.edu/privado tiene que pedir usuario y contraseña de acceso (usuario: linux contraseña: Aa)....
35 Contenido del fichero default tras los cambios realizados: <VirtualHost *:80> ServerAdmin DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None <Directory /var/www/> ###Cambio1 pagina a servir por defecto## DirectoryIndex despliegue.html #########Cambio1######################## Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all #Cambio2 Directorio con contenido web que no se lista#### <Directory /var/www/ciclos/> #Se quita Indexes de la siguiente linea y no lista el contenido# Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all #######Cambio2############################################ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ################Cambio3 insertar un codigo de error################ #ErrorDocument 404 "Pagina web por defecto del ServidorLinux53 falta" ################Cambio3############################################# ################Cambio4 llamar a un fichero con el codigo de error## ErrorDocument 404 /error404.html ################Cambio4############################################# ###########Cambio5 Creacion de Alias############################### Alias /apuntes /home/alumno/apuntes <Directory /home/alumno/apuntes> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from all ############Cambio5################################################# #############Cambio6 Redireccion#################################### Redirect /fp #############Cambio6#############################################
36 #########Cambio7 control acceso por IP y autenticacion BASIC##### <Directory "/var/www/profesor"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny allow from Allow from AuthType Basic AuthName "Acceso restringido" AuthUserFile "/etc/apache2/passwd" Require user profesor1 profesor2 ################################################################### ########Cambio8 control de acceso por autenticacion DIGEST######### <Directory /var/www/departamentos> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AuthType Digest AuthName "informatica" AuthDigestProvider file AuthUserFile "/etc/apache2/digest" Require valid-user ################################################################### Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from / ::1/128 </VirtualHost> Fichero /etc/apache2/mods-anabled/userdir.conf: <IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </IfModule>
37 Nota: Si hacemos las pruebas en casa y el ordenador principal tiene otra dirección IP que no coincide con el rango /24, aunque tengamos configurada la maquina virtual en Bridge (puente), la maquina virtual de Linux no se podrá conectar a internet para la descarga de los repositorios de Apache, una solución sencilla, es volver a poner momentáneamente la maquina virtual en modo NAT y re-configurar el archivo /etc/network/interfaces en dchp de la siguiente manera (recordar que una vez re-configurado hay que hacer un restart del la configuración con etc/init.d/networking restart): Observar como se ha introducido una nueva linea: iface eth0 inet dhcp, ahora ya esta maquina virtual cogerá automáticamente la IP asignada mediante NAT y tendrá salida a internet. Y para que no tengan efecto las siguientes lineas que habíamos configurado se ha puesto delante el símbolo #, una vez que ya no necesitemos conexión a internet (terminada la instalación de los paquetes de apache) ponemos el # a la linea nueva que hemos metido y se lo quitamos a las demás, ademas deberemos volver a dejar la configuración de la maquina virtual en Bridge (Puente).
38 Servidor Ubuntu 64bit ServidorLinux53 Practica Servidor HTTPS por defecto en Linux Realiza la siguiente configuración en el servidor apache de Linux 1º Habilita el servidor virtual por defecto a2ensite default 2º Deshabilita los servidores virtuales creados en las practicas anteriores a2dissite software a2dissite hardware 3º Habilita el modulo mod_ssl cd /etc/apache2/ a2enmod ssl Hago un restart al servidor ( service apache2 restart ) y se comprueba que en /etc/apache2/modsenable esta el fichero ssl.conf y ssl.load Veo el contenido del fichero ports.conf Veo que escucha por el puerto 80 y el puerto 443 si esta instalado el modulo mod_ssl.c
39 También si uso netstat veo que escucha por el puerto 80 y el puerto 443. Con nmap también lo veo (hay que instalarlo con apt-get install nmap), poniendo nmap localhost *con nmpa -sp /24 veo todos los ordenadores que hay en la red Habilito el servidor virtual por defecto, default-ssl a2ensite default-ssl Compruebo que en /etc/apache2/sites-enabled esta activado el sitio. El servidor apache utiliza por defecto un certificado digital auto-firmado creado al instalar apache. Un certificado auto-firmado no esta firmado por una autoridad de certificación (3ª parte de confianza) y por tanto no existen mecanismos automáticos que garanticen su autenticidad. Por eso los navegadores pedirán confirmación cuando el servidor se lo envié. Veo el fichero de configuración default-ssl que esta en /etc/apache2/sites-available. En windows 7 (DesarrolloW752) pongo la dirección https:// , sale un aviso de certificado, tras aceptarlo sale Curso despliegue (practicas anteriores). Hasta aquí el ssh por defecto.
40 Practica Se desea realizar lo siguiente: Servidor virtual https en linux llamado seguro, realiza la siguiente configuración en el servidor linux: Crear sitio llamado seguro hay que crear dns a este sitio en el servidorw200854, configuro un host A con el nombre seguro y que apunte a la IP creo en /var/www la carpeta seguro y dentro la pagina index.html que lo identifique. mkdir /var/www/seguro y nano /var/www/seguro/index.html Creo un certificado digital auto-firmado usado openssl para ello me voy al directorio home del usuario y creo una clave privada: openssl genrsa -out seguro.key 2048 ahora genero una solicitud de certificado csr (relleno los datos): openssl req -new -key seguro.key -out seguro.csr esta solicitud de certificado creada, la podría enviar a una autoridad de certificación para generase el certificado crt. En este caso lo firmamos nosotros, es decir creamos un certificado auto-firmado usando la clave privada. Openssl x509 -req -days 365 -in seguro.csr -signkey seguro.key -out seguro.crt
41 Lo siguiente que haremos es mover la clave y el certificado creados a los directorios que utiliza por defecto apache y configurar los permisos adecuados (se habrán creado en el directorio en el que estuviéramos al ejecutar los comandos anteriores). mv seguro.key /etc/ssl/private/ mv seguro.crt /etc/ssl/certs/ chown root:ssl-cert /etc/ssl/private/seguro.key chmod 640 /etc/ssl/private/seguro.key chown root:root /etc/ssl/certs/seguro.crt Creo el archivo de configuración seguro (hago una copia del default-ssl con el nombre seguro) cd /etc/apache2/sites-available cp default-ssl seguro Edito el fichero de configuración seguro para realizar algunos cambios (cambios 1 a 5). nano /etc/apache2/sites-available/seguro ServerAdmin ##cambio 1 asigno nombre dns##### ServerName seguro.jandomain.edu ##cambio 1##################### ##cambio 2 directorio inicio #### DocumentRoot /var/www/seguro ##cambio 2################## ##cambio 3 directivas ############################# <Directory /var/www/seguro> DirectoryIndex index.html Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ##cambio 3######################################
42 Cambio los nombres de los ficheros de log ##cambio 4 cambio el nombre del log de errores######## ErrorLog ${APACHE_LOG_DIR}/seguro.error.log ##cambio 4############################################## ##cambio 5 cambio el nombre del log################### CustomLog ${APACHE_LOG_DIR}/seguro_access.log combined ##cambio 5############################################ Deshabilito el servidor virtual ssl por defecto (default-ssl) y el sitio default a2dissite default-ssl a2dissite default Activo el sitio seguro que se ha creado a2ensite seguro hago un reload con service apache2 restart Se comprueba con windows 7 que el sitio esta operativo: https://seguro.jandomain.edu https:// Sale una pantalla de advertencia, y se añade la excepción. Ya tras esto sale la pagina index.html del sitio seguro.
43 Contenido archivo de configuración seguro tras los cambios. <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin ##cambio 1##################### ServerName seguro.jandomain.edu ##cambio 1##################### ##cambio 2################## DocumentRoot /var/www/seguro ##cambio 2################## <Directory /> Options FollowSymLinks AllowOverride None ##cambio 3####################################### <Directory /var/www/seguro> DirectoryIndex index.html Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ##cambio 3###################################### ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ##cambio 4 cambio el nombre del log de errores######## ErrorLog ${APACHE_LOG_DIR}/seguro.error.log ##cambio 4############################################## # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn ##cambio 5 cambio el nombre del log################### CustomLog ${APACHE_LOG_DIR}/seguro_access.log combined ##cambio 5############################################ Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from / ::1/128 # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # A self-signed (snakeoil) certificate can be created by installing # the ssl-cert package. See # /usr/share/doc/apache2.2-common/readme.debian.gz for more info. # If both key and certificate are stored in the same file, only the # SSLCertificateFile directive is needed. SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
44 # Server Certificate Chain: # Point SSLCertificateChainFile at a file containing the # concatenation of PEM encoded CA certificates which form the # certificate chain for the server certificate. Alternatively # the referenced file can be the same as SSLCertificateFile # when the CA certificates are directly appended to the server # certificate for convinience. #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt # Certificate Authority (CA): # Set the CA certificate verification path where to find CA # certificates for client authentication or alternatively one # huge file containing all of them (file must be PEM encoded) # Note: Inside SSLCACertificatePath you need hash symlinks # to point to the certificate files. Use the provided # Makefile to update the hash symlinks after changes. #SSLCACertificatePath /etc/ssl/certs/ #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt # Certificate Revocation Lists (CRL): # Set the CA revocation path where to find CA CRLs for client # authentication or alternatively one huge file containing all # of them (file must be PEM encoded) # Note: Inside SSLCARevocationPath you need hash symlinks # to point to the certificate files. Use the provided # Makefile to update the hash symlinks after changes. #SSLCARevocationPath /etc/apache2/ssl.crl/ #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl # Client Authentication (Type): # Client certificate verification type and depth. Types are # none, optional, require and optional_no_ca. Depth is a # number which specifies how deeply to verify the certificate # issuer chain before deciding the certificate is not valid. #SSLVerifyClient require #SSLVerifyDepth 10 # Access Control: # With SSLRequire you can do per-directory access control based # on arbitrary complex boolean expressions containing server # variable checks and other lookup directives. The syntax is a # mixture between C and Perl. See the mod_ssl documentation # for more details. #<Location /> #SSLRequire ( %{SSL_CIPHER}!~ m/^(exp NULL)/ \ # and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ # and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ # and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ # and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ # or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ #</Location> # SSL Engine Options: # Set various options for the SSL engine. # o FakeBasicAuth: # Translate the client X.509 into a Basic Authorisation. This means that # the standard Auth/DBMAuth methods can be used for access control. The # user name is the `one line' version of the client's X.509 certificate. # Note that no password is obtained from the user. Every entry in the user # file needs this password: `xxj31zmtzzkva'. # o ExportCertData: # This exports two additional environment variables: SSL_CLIENT_CERT and # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the # server (always existing) and the client (only existing when client # authentication is used). This can be used to import the certificates # into CGI scripts.
45 </VirtualHost> </IfModule> # o StdEnvVars: # This exports the standard SSL/TLS related `SSL_*' environment variables. # Per default this exportation is switched off for performance reasons, # because the extraction step is an expensive operation and is usually # useless for serving static content. So one usually enables the # exportation for CGI and SSI requests only. # o StrictRequire: # This denies access when "SSLRequireSSL" or "SSLRequire" applied even # under a "Satisfy any" situation, i.e. when it applies access is denied # and no other module can change it. # o OptRenegotiate: # This enables optimized SSL connection renegotiation handling when SSL # directives are used in per-directory context. #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire <FilesMatch "\.(cgi shtml phtml php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars # SSL Protocol Adjustments: # The safe and default but still SSL/TLS standard compliant shutdown # approach is that mod_ssl sends the close notify alert but doesn't wait for # the close notify alert from client. When you need a different shutdown # approach you can use one of the following variables: # o ssl-unclean-shutdown: # This forces an unclean shutdown when the connection is closed, i.e. no # SSL close notify alert is send or allowed to received. This violates # the SSL/TLS standard but is needed for some brain-dead browsers. Use # this when you receive I/O errors because of the standard approach where # mod_ssl sends the close notify alert. # o ssl-accurate-shutdown: # This forces an accurate shutdown when the connection is closed, i.e. a # SSL close notify alert is send and mod_ssl waits for the close notify # alert of the client. This is 100% SSL/TLS standard compliant, but in # practice often causes hanging connections with brain-dead browsers. Use # this only for browsers where you know that their SSL implementation # works correctly. # Notice: Most problems of broken clients are also related to the HTTP # keep-alive facility, so you usually additionally want to disable # keep-alive for those clients, too. Use variable "nokeepalive" for this. # Similarly, one has to force some clients to use HTTP/1.0 to workaround # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and # "force-response-1.0" for this. BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # MSIE 7 and newer should be able to use keepalive BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
46 Windows 2008 Server ServidorW Instalación de Windows 2008 server en Maquina Virtual con VirtualBox Con VirtualBox se utiliza el formato de maquina virtual VMDK que en teoría es compatible con Vmware (se ha probado con Vmware Fusión, versión para Mac OS X y funciona) Proceso de creación de la maquina virtual: 1. Pinchar en Nueva e introducir los datos que se piden. 1. Nombre: El nombre asignado a esa maquina virtual en este caso ServidorW Tipo: De que tipo es el sistema operativo, en este caso Microsoft Windows. 3. Versión: Versión de sistema operativo a instalar, en este caso Windows Tamaño de memoria: el que se necesite, generalmente por defecto, en este caso 512MB. 5. Unidad de disco duro: Create a virtual Hard drive now y Crear, da varias opciones de tipo de archivo, VDI (por defecto) es el utilizado por VirtualBox, VMDK es soportado por virtualbox y es el utilizado por Vmware. Entre otras opciones, escogemos VMDK para tener compatibilidad también con Vmware. 6. Almacenamiento en unidad de disco duro: Reservado dinamicamente y marcamos Dividir en archivos de menos de 2GB, si vamos a tener o mover la maquina virtual en unidades con formato FAT32 (que no soporta archivos de mas de 4GB) y tamaño 20GB. 7. Ubicación del archivo y tamaño: le indicamos la carpeta donde alojar los archivos de la maquina virtual, en este caso una carpeta llamada ServidorW en el escritorio (En ubicación: se selecciona la carpeta y en Guardar como: el nombre para los archivos, en este caso el mismo, osea DesarrolloW752). 8. Con esto queda creada la maquina virtual, en este caso para Windows. 2. Pinchar en configuración y seleccionar una ISO del sistema operativo a instalar. 1. En almacenamiento seleccionar el CD (marcado como vació) y Atributos se pincha en el símbolo del CD y se elige seleccionar un archivo de disco virtual CD/DVD... y se selecciona la ISO del sistema operativo a instalar. 2. En la pantalla de configuración podemos configurar otros aspectos de la maquina virtual, por ejemplo en el caso de USB 2.0, esta característica no esta marcada y para poder utilizarla hay que descargar un paquete de extensiones de la pagina web: (https://www.virtualbox.org/wiki/downloads) Tras instalas las extensiones se podrá activar compatibilidad con USB Pinchar en iniciar y se iniciara la maquina virtual, en este caso arrancara primero la ISO de instalación para instalar el sistema operativo, una vez completado el proceso de instalación, podemos quitar en Configuración Almacenamiento y seleccionando el CD en el lado de Atributos Eliminar disco de la unidad virtual.
47 Proceso de instalación de Windows 2008 server en la maquina virtual: 1. En la selección del sistema operativo a instalar escogemos la opción: Windows Server 2008 Enterprise (instalación completa) 2. Se escoge Personalizada (Avanzada) y se sigue el proceso de instalación, en principio todo por defecto, excepto lo indicado a continuación: 1. Contraseña (Administrador): Aa 2. Con esto queda terminada la instalación y se hace el arranque inicial. Como hacer puntos de restauración En las maquinas virtuales tenemos la opción de volver a un punto determinado, para ello se hacen puntos de restauración. En Vmware con VM/Snapshot En VirtualBox Seleccionando la Maquina/instantáneas Sobre las instantáneas: se hacen en la ventana principal de VirtualBox, Seleccionando la maquina virtual de la que queremos las instantánea y pinchando en Instantáneas. Se pincha en Estado actual y con botón derecho Tomar instantánea, ponemos un nombre y en comentarios el estado o lo hecho al tomar esa instantánea. Se da un nombre con fecha y una descripción del estado. En VMware se hacen pinchando en Tomar snapshot, se le da un nombre y una descripción y ya tenemos una instantánea de ese momento. Nada mas terminar la instalación hacemos una instantánea del estado de la maquina virtual y a partir de aquí después de cada practica, sobre todo si esta correcta, en caso de hacer algo mal podemos volver atrás a un punto de restauración/instantánea anterior.
48 Windows 2008 Server ServidorW Practica - Configuración ServidorW Voy a inicio Panel de control Centro de redes y recursos compartidos Administrar conexiones de Red. Propiedades de conexión de área local y en Protocolo de Internet versión 4 (TCP/IPv6) configuro: Compruebo en una terminal (ejecutar y cmd) que tengo internet haciendo ping a una web conocida, en este caso al proveedor de dns, con ping Nota: En la configuración de la maquina virtual hay que poner la Red en modo puente (Bridge) Y con Ipconfig /all veo la configuración de los interfaces de red reales y virtuales.
49 Cambiamos el nombre del equipo, procederemos a cambiarlo y darle el nombre de equipo asignado, en Inicio Panel de control Sistema y pinchando en Configuración avanzada del sistema. En Propiedades del sistema escogemos Nombre de equipo y ponemos el nombre asignado a la maquina (pinchando en cambiar). También cambiamos el grupo que sera: SRIXXX (donde XXX es las iniciales de nombre y primer apellido), en mi caso SRIJAN, para ello pinchamos en la opción Grupo de trabajo y cambiamos el nombre, quedando así: Instalo también las Guest additions para poder tener carpetas compartidas entre los diferentes sistemas y terminada la configuración hasta aquí, hacer una instantánea en este punto.
50 Nota: Como habilitar la respuesta ping en el firewall de windows: En Inicio Herramientas administrativas - Firewall de windows con seguridad avanzada y Reglas de Entrada Activamos la regla de permitir petición de eco en Ipv4 en Archivos e impresoras compartidas. Antes: después:
51 Windows 2008 Server ServidorW Practica - Funcionamiento DNS Utilizaremos el comando nslookup, esta orden permite realizar consultas personalizadas a servidores de DNS, pasos para la comprobación: 1) Abro windows 7 2) Abro una terminal 3) Tecleo: nslookup Observamos que el servidor DNS que responde es el que esta configurado en las propiedades TC/IP ( ). Se podrá ver que existen diferentes IPs asociadas a un mismo Dominio. nslookup Vamos a utilizar el comando nslookup para obtener las direcciones IP asociadas al nombre DNS pero preguntándole al servidor nslookup Observar que indica Respuesta no autoritativa: Realizamos la consulta con el comando pero preguntando por un nombre de servidor. nslookup ns1.google.com
52 Practica Configuración de DNS (cache) Primeramente se comprueba que en Inicio Herramientas administrativas, no hay ninguna opción de DNS. Para instalar DNS se siguen los siguientes pasos: Voy a Inicio Administrador del servidor - Funciones y escojo Agregar funciones. Sale también una pantalla de advertencia de cosas que tienen que estar ya configuradas.
53 A continuación selecciono Servidor DNS y siguiente, se confirma la instalación. Sale una pantalla con información útil acerca de DNS.
54 Sale una pantalla para confirmar la instalación y damos a Instalar. Una vez finalizada la instalación se cierra el asistente (si se quiere quitar un componente de pincha en Inicio Administrador del servidor Funciones y se escoge Quitar funciones.
55 Se comprueba que tras la instalación en, Inicio Herramientas administrativas esta la opción DNS Y pinchando sobre DNS aparecerá Mi nombre de servidor DNS. Para que el equipo resuelva las direcciones propias, se le pone como Servidor DNS preferido a el mismo, en este caso (IP asignada al equipo) o mejor aun que es mi propio ordenador.
56 Como veo la memoria cache o DNS Cache? Voy a Inicio - Herramientas administrativas DNS y pincho en SERVIDORW y escojo Ver y Avanzada. Y ya me sale un menú mas completo donde aparece Búsquedas cache,. Desactivo la memoria cache si no la quiero visualizar. Practica Configuración del servidor como primario (Maestro) para una zona de resolución directa. El servidor solo dará servicio a la red local, no da servicio a equipos de Internet. No se permitirán actualizaciones dinámicas. El servidor DNS servirá al dominio ServidorW jandomain.edu, es decir el nombre completo del equipo donde esta instalado en DNS. Se configuraran los siguientes nombre de Dominio (registros NS): registros A (Host): DesarrolloW que sera: DesarrolloW752.jandomain.edu ServidorLinux que sera: ServidorLinux53.jandomain.edu ServidorW que sera: ServidorW jandomain.edu registros CNAME (alias) ns alias de ServidorW jandomain.edu asterix alias de DesarrolloW752.jandomain.edu obelix alias de ServidorLinux53.jandomain.edu panoramix alias de ServidorW jandomain.edu
57 Configuración del sufijo DNS en Inicio Panel de control Sistema y pinchando en Configuración avanzada del sistema, en Propiedades del sistema escogemos Nombre de equipo, escogemos cambiar y pinchamos en Mas... y introducimos el nombre de dominio elegido, en mi caso jandomain.edu. Voy a Inicio Herramientas administrativas DNS, escojo Zonas de búsqueda directa y Zona nueva y dentro de esta escogemos Zona principal y metemos el nombre de mi dominio, aceptamos todo por defecto, en la opción Actualización dinámica dejamos la que viene por defecto.
58 Veo que ha creado la zona de resolución directa, observamos también que se han credo dos registros (SOA y NS), indicando que el servidor del dominio es el propio equipo ServidorW Hago click en propiedades y en Servidores de nombres veo que la dirección IP es desconocida, esto es debido a que no hemos creado el registro A.
59 Creo los registros A para los equipos de la Red, me coloco sobre la zona jandomain.edu, escojo Registros nuevos y escojo Host nuevo (A o AAAA). Y voy agregando los equipos y su IP asociada. Seguimos el mismo procedimiento para los CNAME, que son los alias o nombres alternativos que asignamos a las maquinas, de tal manera que podamos poner un nombre mas familiar o reconocible para referirnos a ellas.
60 Con esto esta terminada esta parte de la configuración. Practica - Comprobación de la configuración de la zona de resolución directa Usando el comando nslookup comprobamos que el servidor DJNS resuelve consultas directas sobre los nombres de las zonas, como por ejemplo DesarrolloW752.jandomain.edu Comprobamos que si hacemos nslookup solo a la maquina sin incluir la zona, también lo resuelve, lo mismo que si ponemos el alias. Intentamos hacer un nslookup de resolución inversa y observaremos que no resuelve nombres. Practica - Configuración del Servidor como DNS primario (Maestro) de una zona de resolución inversa, PTR. El servidor solo dará servicio a la red local, es decir la / 24 Me posiciono en zona de búsqueda inversa y doy a zona nueva, Zona principal, zona de búsqueda inversa para Ipv4, y en 'Id. de Red:' meto la IP de la Red y veo el nombre que da a la zona de búsqueda inversa y el resto todo por defecto.
61 Observar que el nombre de la zona de búsqueda inversa va al revés...' in-addr.arpa' Observamos que si nos posicionamos en la nueva zona creada (el nombre lo pone al revés), nos muestra los mismos archivos que antes y si pincho en propiedades del registro NS si aparece la IP, esto es porque ya se creo un registro A. En la zona de búsqueda directa también aparece ya la IP:
62 Como crear los registros de resolución inversa PTR?, me posiciono en la nueva zona que he creado ' in-addr.arpa.dns' y click en botón derecho del ratón. Elijo nuevo puntero PTR, y si le doy a examinar, puedo buscar el equipo que voy a incluir y ya me pone el todos los datos.
63 Nota cuando se selecciona un equipo en la dirección IP del host pone la Ip completa y hay que borrar toda la IP dejando solo la parte final. Realizamos la misma operación con todos los equipos (DesarrolloW752, ServidorLinux53 y ServidorW200854) y ahora ya si resuelve nombres si ponemos la IP. Con esto queda finalizada esta parte de la configuración, lo que respecta a DNS (acordarse de hacer una instantánea en el caso de VirtualBox o VM/Snapshot si se trata de Vmware, una vez todo funcione).
64 Windows 2008 Server ServidorW Practica Instalación servidor Apache Se descarga la versión de apache Win32 binari including openssl versión de la web: Primero escojo 'Apache httpd Released' de la pagina web: y pincho en download, que me lleva a la web: escojo 'Apache HTTP Server (httpd) ', la versión que hay es la y como quiero la versión pincho en 'others', dentro del directorio navego por 'binaries' y 'win32', la dirección web a la que se llega es la siguiente: y escojo la versión: httpd win32-x86-openssl-0.9.8t.msi ejecuto el paquete (se instala) todo por defecto y acepto licencia. En la pantalla Server information comprobar los datos y Next. En Network Domain: jandomain.edu En Server name: ServidorW jandomain.edu En Administrator's Address: marcar opción: 'for all users, on Port 80, as a Service (Recommended). El resto por defecto pero escogiendo modo custom y luego todo por defecto. Una vez instalado observo que abajo a la derecha hay un icono que es el monitor de apache. Dando click en el icono selecciono Open apache monitor y veo que se esta ejecutando. Compruebo que el servidor esta escuchando en el puerto 80 TCP con un terminal y el comando: netstat -a -p tcp -n Consulta el contenido de la carpeta htdocs: C:\Archivos de programa\apache software Foundation\apache2.2\htdocs\index.html
65 Se instala notepad++ y Chrome o firefox Edito la pagina web con Notepad++ y le cambio el contenido para identificar que es la del servidor de windows. pongo por ejemplo 'Contenido web del servidor apache en windows 2008' Desde la maquina DesarrolloW752 (Windows 7 cliente), compruebo que al poner en el navegador web la dirección IP del ServidorW ( ), No me abre la pagina web que sirve y que acabo de editar. Tengo que incluir el programa apache en el firewall de windows para que no lo bloquee. Inicio Panel de control Firewall de windows, selecciono 'Permitir un programa a través del Firewall de Windows', en 'Excepciones' selecciono 'Agregar programa', y añado httpd.exe que esta en C:\Archivos de programa\apache software Foundation\apache2.2\bin\httpd.exe. Vuelvo a comprobar con el Navegador web de la maquina DesarrolloW752 (Windows 7 cliente) que ya puedo acceder a la pagina web. Practica - Configuración básica de Apache en windows. Creación de ficheros y directorios de prueba en la siguiente ruta: C:\Archivos de programa\apache software Foundation\apache2.2\htdocs dentro de htdocs creamos: despliegue.html, fp.html, carpeta ciclos y dentro lista.html, asir.html, daw.html, dam.html Se escribe un texto que identifique cada pagina como por ejemplo: <html> <body> <h3> contenido Web del servidor Apache en windows server 2008</h3> <p> Pagina del fichero <b>despliegue.html</b> </p> </body> </htnl> compruebo con un navegador en windows 7 que accedo a las diferentes paginas de prueba que he creado y por defecto carga la de index.html (si pongo ciclos lista el contenido). Edito el fichero C:\Archivos de programa\apache software Foundation\apache2.2\conf\httpd.conf con notepad++ y en la seccion indicada añado el cambio 1, asi la pagina de inicio es despliegue.html. <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">... ####Cambio1 Para que sea despliegue la pagina de inicio########### DirectoryIndex despliegue.html #########################################################...
66 Añado a continuación del cambio anterior, el cambio 2 para que no liste el contenido de la carpeta ciclos. ######Cambio2 Para que no liste el contenido de la carpeta ciclos ###################### <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/ciclos"> Options FollowSymLinks Order allow,deny Allow from all ############################################################################ Creo un alias para que acceda a apuntes sin meter toda la ruta, previamente creo en C:\Usuarios\Administrador\ la carpeta apuntes y dentro el fichero apuntes.html y en el fichero de configuración añado el cambio3 (a continuacion del cambio2). ###Cambio3 alias para la carpeta apuntes ########################################## Alias /apuntes C:/Users/Administrador/apuntes <Directory "C:/Users/Administrador/apuntes"> Options Indexes FollowSymLinks Order allow,deny Allow from all ########################################################################### Alias a modo de ejemplo para poder acceder al contenido del disco duro. #######alias para acceder al contenido del disco duro ################### Alias /hd C:/ <Directory "C:/"> Options Indexes FollowSymLinks Order allow,deny Allow from all ############################################################### Crear mensaje de error cuando no encuentre una pagina, cambio 4 (se pone a continuación del cambio3). #######Cambio4 configurar codigo de error ########################### ErrorDocument 404 "Pagina web no encontrada en ServidorW200854" ############################################################### Re-direcciones (se pone a continuación del cambio4). ###Cambio5 redirect############################################## Redirect /fp ############################################################### Para que tengan efecto los cambios, en el monitor del Apache le damos a restart y comprobamos con una navegador en windows 7 que funciona todas las directivas creadas.
67 Cargo el modulo userdir (Habilita el uso de directorios personales para los usuarios), se busca en el fichero de configuración y se desmarca, cambio7 (le quito la #). ######Cambio6 cargo el modulo userdir################# LoadModule userdir_module modules/mod_userdir.so ################################################## Activo la llamada al include, se busca en el fichero de configuración y se desmarca (le quito la #), cambio8.????? #######Cambio 7 activo esta directiva###### Include conf/extra/httpd-userdir.conf ##################################### Voy a C:\Archivos de programa\apache software Foundation\apache2.2\conf\extra\ y veo el contenido del fichero httpd-userdir.conf que mas adelante configurare. Veo que esta habilitado el uso de directorios personales para todos los usuarios y que My documents/my Website es el nombre del subdirectrio que pueden crear los usuarios para crear sus paginas personales. # Settings for user home directories # # Required module: mod_userdir # # UserDir: The name of the directory that is appended onto a user's home # directory if a ~user request is received. Note that you must also set # the default access control for these directories, as in the example below. # UserDir "Documentos/My Website" # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # <Directory "C:/Users/*/Documentos/My Website"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> Rehago el fichero httpd-userdir.conf para que este mi propio directorio o el directorio que me haya creado (solo modifico lo que se ha marcado en negrita), en este caso web en la carpeta del usuario Administrador.... UserDir "web/my Website"... <Directory "C:/Users/*/web/My Website">... Se reinicia el servidor para aplicar los cambios y se crea el directorio C:/Users/*/web/My Website y dentro creo el fichero personal.html.
68 Compruebo con Windows 7 que accedo a este directorio.
69 Windows 2008 Server ServidorW Practica servidor virtual HTTPS por defecto en Windows Edito con notepad ++ httpd.conf que esta en C:\Archivos de programa\apache software Foundation\apache2.2\conf\httpd.conf Habilito el modulo ssl quitandole la # (por la linea 121) LoadModule ssl_module modules/mod_ssl.so Habilito el servidor virtual por defecto default-ssl le quito la # (por la linea 522) Include conf/extra/httpd-ssl.conf Guardo los cambios y cierro el fichero edito el fichero httpd-ssl.conf que esta en C:\Archivos de programa\apache software Foundation\apache2.2\conf\extra\httpd-ssl.conf Existen dos directivas para definir el certificado digital y la clave privada del servidor, compruebo que no tienen # delante y están habilitados (por la linea 117 y 125). SSLCertificateFile C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt SSLCertificateKeyFile C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key Creamos el certificado auto-firmado openssl me voy al siguiente directorio: cd "C:\Program Files\Apache Software Foundation\Apache2.2\conf" Es en este directorio donde se va a crear el certificado y se guardaran los ficheros, si se hiciera en otro directorio, tendría que mover los ficheros creados a este. Estando en este directorio ejecuto openssl que esta en "C:\Program files\apache software Foundation\Apache2.2\bin": "C:\Program Files\Apache Software Foundation\Apache2.2\bin"\openssl y el prompt cambia a OpenSSL> Genero una clave privada rsa de 2048 bits OpenSSL> genrsa -out server.key 2048 Dara el siguiente resultado o similar: Loading 'screen' into random state - done Generating RSA private key, 2048 bit long modulus e is (0x10001) Ahora genero una solicitud de certificado csr (relleno los datos): OpenSSL> req -config openssl.cnf -new -key server.key -out server.csr Country Name (2 letter code) [AU]:es State or Province Name (full name) [Some-State]:bi Locality Name (eg, city) []:bi Organization Name (eg, company) [Internet Widgits Pty Ltd]:aaaaa Organizational Unit Name (eg, section) []:elorrieta Common Name (e.g. server FQDN or YOUR name) []:juan Address Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: Aa An optional company name []: Aa
70 Creo el certificado digital auto firmado usando la clave privada. OpenSSL> x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Loading 'screen' into random state - done Signature ok Getting Private key Reinicio el servidor y compruebo desde Windows 7 en un navegador web (firefox) que al poner https:\\ me abre la pagina web que teníamos configurada por defecto (sale la advertencia del certificado que aceptamos).

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución