Servicios De Red - Don Bosco...instalado. Proceda a instalarlo con el comando “apt-get install...

19
Servicios De Red Número de práctica: No.5 Nombre de la práctica: Apache Web Server Lugar: Laboratorio de Redes 3.21A Tiempo estimado: 2 h 30 min

Transcript of Servicios De Red - Don Bosco...instalado. Proceda a instalarlo con el comando “apt-get install...

Servicios De Red

Número de práctica: No.5

Nombre de la práctica: Apache Web Server

Lugar: Laboratorio de Redes 3.21A

Tiempo estimado: 2 h 30 min

I. Descripción de la práctica.

O b je t iv o s de la

p r áctica. Que el estudiante:

Instale el

servidor Web

Apache para su

posterior

configuración.

Configure el

servidor de tal

forma de poder

desplegar una

página o una

aplicación Web en

el para sus

clientes.

Configure

diferentes módulos

los cuales ayudan

a mejorar el

rendimiento y la

administración del

mismo.

Materia le s y equipo. Guía de

laboratorio.

Estación de

trabajo con

software

VirtualBox.

MV con

Ubuntu Server.

MV con

Ubuntu Desktop.

La presente guía de laboratorio estudia el servidor web Apache, desde su instalación,

configuración básica y alguno de los módulos más utilizados para tener mejores opciones a

la hora de la administración y la seguridad del mismo.

II. Introducción teórica.

Apache Web Server

Apache es un servidor web de distribución libre

y de código abierto, siendo el más popular del

mundo desde abril de 1996, con una penetración

actual del 50% del total de servidores web del

mundo.

Apache fue la primera alternativa viable para el

servidor web de Netscape Communications,

actualmente conocido como Sun Java System

Web Server.

Apache es desarrollado y mantenido por una

comunidad abierta de desarrolladores bajo el

auspicio de la Apache Software Foundation.

La aplicación permite ejecutarse en múltiples

sistemas operativos como Windows, Novell

NetWare, Mac OS X y los sistemas basados en

Unix.

La principal competencia de Apache es el IIS

(Microsoft Internet Information Services) de

Microsoft.

III. Desarrollo de la práctica.

√ PARTE I – INSTALACIÓN DE APACHE

1. Inicie la máquina virtual del servidor Ubuntu y verifique que el adaptador de red este configurado como

puente en la interfaz eno1 y la configuración de la IP sea por DHCP.

2. Instale Apache: para instalar el servicio de Apache, deberá de descargar el paquete respectivo haciendo

uso del comando “apt-get install apache2”, donde posteriormente se le preguntará si se desea continuar,

presione la tecla “s” y luego “Enter” para proceder con la descarga.

3. Para que el módulo de autenticación básica funcione de manera correcta se deberán de instalar un

paquete complementario a Apache llamado “apache2-utils”.

Con el comando “grep” se realiza el filtro de los paquetes de apache2, si el paquete “utils” no está

instalado. Proceda a instalarlo con el comando “apt-get install apache2-utils”.

4. Configure el adaptador de la máquina virtual como Red Interna y Configure la IP estática de la guía

anterior:

IP: 192.168.1.1 /24, 192.168.1.4/24, DNS: 192.168.1.1

5. Inicie la máquina virtual de Cliente1, configure el adaptador de red como adaptador puente y la IP de las

máquinas virtuales sea por DHCP.

6. Verifique que el servidor DNS y DHCP funcionen correctamente, puede verificar los estatus de ambos

servidores y utilizar NSLOOKUP para la resolución de nombres.

7. Verifique que se pueda establecer conexión entre el Cliente1 y el servidor, esta prueba la puede realizar con

el comando ping.

√ PARTE II – CONFIGURACIÓN DE APACHE

8. Inicie sesión en el servidor, para este punto ha de haber instalado Apache2 y el paquete de

“apache2-utils”, ver PARTE I.

9. Diríjase a la carpeta donde ha sido instalado el servicio (/etc/apache2) y enliste los archivos que hay en

ella. El archivo llamado apache2.conf es el más utilizado dentro de Apache a la hora de su configuración,

aunque existen otros que se irán mostrando a lo largo de esta guía.

10. Apache trae por defecto una página de prueba default cuando es instalado, la cual podremos cambiar

posteriormente por nuestra página web, dicha página está alojada en “/var/www/html”, diríjase a dicha

ruta y enliste el contenido de la misma en donde podrá apreciar la página llamada “index.html”.

11. Diríjase a la MV cliente y digite la dirección ip del servidor dentro del navegador web Firefox para

poder visualizar la página anteriormente mencionada alojada en el servidor.

12. Retorne al servidor y en la carpeta /var/www/html proceda a crear un archivo llamado “ejercicio.html”.

13. Proceda a crear la página web (ejercicio.html) que reemplazará la página por defecto, para ello utilice

el siguiente código donde se utilizará HTML y CSS.

14. Siempre dentro de la carpeta “/var/www/html” cree un segundo archivo llamado “Estilo.css” y proceda a

digitar el siguiente código.

15. Enliste nuevamente el contenido de la carpeta “/var/www/html” y ahora podrá observar además de la

página index.html los dos archivos previamente creados.

16. Para poder visualizar la nueva página diríjase al cliente proceda a escribir la dirección ip del servidor

seguida del nombre de la página junto con su extensión.

17. Como se puede observar ahora se pueden ver las dos páginas al mismo tiempo. Se procederá a sustituir la

página por defecto por la nueva página creada, para ello realice una copia de seguridad llamada

“index.html.bk” y sustituya el archivo ejercicio.html por index.html.

cp /var/www/html/index.html /var/www/html/index.html.bk

cp /var/www/html/ejercicio.html /var/www/html/index.html

18. Diríjase a la carpeta “/etc/apache2/sites-available”, en esta carpeta están alojados algunas de las

configuraciones de los diferentes sitios web alojados en el servidor, proceda a abrir el archivo llamado

“000-default.conf”.

19. Una vez abierto el archivo agregue la siguiente línea “ServerName www.udb.edu.sv”, para

asignarle un nombre al sitio web y así poder visualizarlo tanto por nombre como por ip.

20. Agregue los punteros respectivos en el DNS (registro A y registro PTR) para que los datos puedan ser

reconocidos desde el cliente.

www.udb.edu.sv -> 192.168.1.1 hv1.udb.edu.sv -> 192.168.1.1 hv2.udb.edu.sv -> 192.168.1.1 hv3.udb.edu.sv -> 192.168.1.4

21. Una vez creados proceda desde el cliente y abra dos ventanas o pestañas del navegador, proceda a

visualizar la página ingresando la ip y el nombre previamente registrados, como se puede observar ahora la

página original ha sido sustituida por la página que se deseaba mostrar en ambos casos.

√ PARTE III – CONFIGURACIÓN DE MÓDULOS DE APACHE

22. Una vez echado a andar el servidor y su página web veremos que podemos personalizar diferentes

funciones del mismo para poder realizar otras tareas que pueden ser de administración y/o seguridad, a

continuación se mostrará la configuración de algunos de los principales módulos utilizados en Apache Web

Server.

CONFIGURACIÓN MÓDULO USERDIR

23. Apache posee una gran cantidad de módulos que pueden ir siendo activados uno a uno, según sea

conveniente por parte del administrador, dichos módulos están alojados en la carpeta llamada

“/etc/apache2/mods-available”, diríjase a ella y enliste el contenido de la misma con el comando “ls –

a”.

Como puede observar son varios módulos los que se pueden activar, hay algunos módulos previamente

habilitados por defecto, estos se encuentran en la carpeta “/etc/apache2/mods-enabled”. Diríjase a la

misma y enliste nuevamente el contenido de dicha carpeta.

24. Como se puede observar la cantidad de módulos activados es menor que la cantidad de módulos pre-

instalados, esto es debido a que Apache es modular y cada parte de él se va habilitando a medida se vaya

necesitando, conservando de manera adecuada los recursos del servidor.

25. El primer módulo que se habilitará será el módulo “userdir”, para que los diferentes usuarios de la red

puedan compartir archivos con diferentes personas dentro de la red LAN o simplemente poder visualizarlos

desde otro equipo atreves de la red. Para habilitar el módulo hay que seguir dos pasos esenciales:

a) Habilitarlo con el comando “a2enmod nombre_del_módulo”

b) Reiniciar el servidor para que los cambios tenga efecto.

*** En algunos de los módulos se pedirá además aplicar un comando “reload”

26. Enliste ahora el contenido de la carpeta “/mods-enabled”, donde tendrá que visualizar ahora los archivos

del módulo previamente habilitado.

27. Para configurar el módulo proceda a abrir el archivo “userdir.conf” con el editor de texto de su

conveniencia. Y edite los parámetros. En el recuadro rojo se especifica el nombre de la carpeta a

compartir y los usuario propietario, en el recuadro verde se indica la ruta especifica de la carpeta en donde

estarán alojados los archivos “/home/*/public_html/”. Salga y guarde los cambios.

28. Se procederá a crear el usuario en el servidor para que pueda compartir su carpeta personal para

ello utilice el comando “adduser” y establezca como contraseña “123456”, los demás datos puede

dejarlos en blanco.

29. Cree la una carpeta llamada “public_html” dentro del directorio personal del usuario y a asignar los

permisos respectivos y heredando de manera recursiva el contenido de la carpeta al usuario AA101010 y

al grupo AA101010. Reinicie el servicio de Apache con el comando “service apache2 restart”.

mkdir /home/AA101010/public_html

chmod –R AA101010:AA101010 /home/AA101010

chmod 755 –r /home/AA101010

30. Diríjase a la carpeta anteriormente creada “cd /home/AA101010/public_html”, proceda a crear 3 carpetas

y 3 archivos en blanco.

touch /home/AA101010/public_html/archivo1

touch /home/AA101010/public_html/archivo2

touch /home/AA101010/public_html/archivo3

mkdir /home/AA101010/public_html/carpeta1

mkdir /home/AA101010/public_html/carpeta2

mkdir /home/AA101010/public_html/carpeta3

31. Edite el contenido del primer archivo en blanco y guarde los cambios.

32. Desde el cliente proceda a abrir la carpeta compartida, para ello abra el navegador Firefox

e introduzca la URL: “www.udb.edu.sv/~AA101010” donde podrá ver el contenido de la carpeta

“public_html” del usuario AA101010.

Proceda a abrir el archivo1 para poder visualizar su contenido.

*** Este proceso puede ser repetido con cuantos usuarios se requiera, creando idealmente la carpeta

“public_html” dentro de la carpeta /home de cada uno de los mismos.

CONFIGURACIÓN MÓDULO DE AUTENTICACIÓN BASIC

33. Dentro de la carpeta “/vaar/www/html” cree una nueva carpeta llamada “miembros”, la cual a su

vez contenga un archivo llamado “miembros.html”.

34. Edite la página “miembros.html” escribiendo el siguiente código, posteriormente guarde y cierra el

archivo.

35. Proceda a visualizar la página desde el cliente en el navegador Firefox, de la manera en cómo se ,muestra a

continuación

36. Para que el módulo de autenticación básica funcione de manera correcta se deberán de instalar un

paquete complementarios a Apache llamado “apache2-utils”.

37. Dirijase a la carpeta /etc/apache2 y cree un archivo llamado “.htpasswd”, el punto indicará que es un archivo

oculto que dicho archivo manejará los usuarios y contraseñas respectivos para poder tener acceso al

área restringida, dicho archivo únicamente podrá ser visualizado con el comando “ls –la”.

38. Para añadir usuarios válidos se utiliza el comando “htpasswd”, tal cual se muestra a continuación. Es

de aclarar que cuando se crea el primer usuario de la lista el comando deberá ser acompañado del

parámetro “-c”, para los demás usuarios a crear no será necesario. Proceda a crear al “usuario1” y

“usuario2” en ambos usuarios utilice el password “123456”.

Si el archivo es abierto o visualizado en pantalla se podrá observar que las contraseñas establecidas están cifradas,

asegurando la confidencialidad de las mismas.

39. Abra el archivo del sitio default con el comando “vim /etc/apache2.sites-enabled/000-default.conf”, y

edítelo de la siguiente forma.

40. De igual forma edite el archivo apache2.conf ubicado en “/etc/apache2/”, haciendo uso

del comando “vim /etc/apache2/apache2.conf”

41. Dentro del directorio que contiene la página web a proteger, se deberá de crear un archivo “.htacces”. Edite

el archivo de la siguiente forma y guarde los cambios en el. Con esto se están asociando a los únicos

usuarios que contarán con los privilegios de poder visualizar dicha página.

42. Reinicie el servicio de Apache para que los cambios sean aplicados, use el comando “service apache2

restart”.

43. Desde la MV cliente, abra las dos páginas creadas hasta el momento y verá como la petición de

parámetros de autenticación no son requeridos mostrando inmediatamente el contenido de las mismas.

44. Proceda ahora a la página “www.udb.edu.sv/miembros/mienbros.html”, como se puede observar en un

mensaje de tipo pop-up se están pidiendo los parámetros de autenticación. Proceda a iniciar con el

“usuario500” y contraseña “123456”. El acceso deberá de ser denegado, ya que dicho usuario no está

registrado dentro del archivo htacces del directorio miembros.

45. Proceda a iniciar sesión con los parámetros de autenticación correctos (usuario1 para usuario y 123456

como contraseña). Verá como ahora si tiene la autorización para visitar dicho sitio web protegido.

CONFIGURACIÓN MÓDULO SPELING

46. El módulo speling, como su nombre lo indica (deletreo), ayudará a los usuarios cuando digiten

direcciones web y se equivoquen en el uso de mayúsculas, ortografía u omisión de caracteres.

47. Para ver cómo funciona diríjase a la MV cliente y realice la siguiente prueba, como se podrá observar

la inclusión de la “D” cambia por completo la URL de la página a mostrar y al buscar esta página se está

haciendo referencia a otra totalmente distinta que no existe, es por eso que se obtiene la pantalla de error.

48. Habilite el módulo de la manera en como se ha reiniciado anteriormente y posteriormente proceda a reiniciar el

servicio de Apache para que los cambios surjan efecto.

49. Diríjase a la carpeta “mods-enabled” y compruebe que el módulo ha sido habilitado correctamente.

50. Proceda a abrir el archivo “apache2.conf” localice el segmento “<Directory /var/www/> y edítelo de la manera

en que se muestra a continuación. Guarde los cambios y salga del archivo.

51. Abra el archivo llamado speling.conf ubicado en “/etc/apache2/mods-enabled” y edítelo de la siguiente manera,

guarde el documento y salga de él, posteriormente proceda a reiniciar el servicio de Apache.

52. Proceda a realizar la misma prueba efectuada anteriormente, con la diferencia que ahora la letra “E”, será

convertida en “e” y se mostrará la página a la que se desea entrar.

53. Realice las mismas pruebas con la página miembros y verá como esta también es mostrada de manera correcta

pasando la letra “B” a “b”.

CONFIGURACIÓN MÓDULO VIRTUALHOST

El módulo virtualhost servirá para aquellas ocasiones en las que se necesiten tener alojadas más de una

página web o dominio dentro del propio servidor, existen cuatro tipos de host virtuales: por nombre, por

dirección ip, por puerto y mixtos, de los cuales se procederá a continuación a mostrar la configuración de

los tres primeros.

a. Host virtual por nombre.

Aquí utilizará las punteros que creo previamente en el DNS, hv1.udb.edu.sv y hv2.udb.edu.sv.

54. Compruebe la existencia de todos los punteros realice pruebas de conectividad entre cliente y servidor

dando ping a: la ip del server y a los dos nombres de los dominios existentes (Esto quiere decir que habrán

dos nombres apuntando hacia la misma dirección IP, es de ahí su nombre VH por nombre).

55. Proceda a crear la carpeta donde estará alojado el primer host virtual (vh1), proceda a dar permisos sobre la carpeta

y finalmente cree un archivo llamado “index.html” dentro de la misma, una vez creada edítela tal y como se

muestra a continuación:

mkdir /var/www/hv1

chmod 755 –R /var/www/hv1

vim /var/www/hv1/index.html

Realice copias hv2 y hv3, modifique hv1 por hv2 y hv3 correspondientemente.

56. Proceda a crear un nuevo sitio disponible dentro del servidor, para ello copie el archivo “000-default.conf” en una

nueva copia llamada “hv1.conf”, abra el archivo y asigne los siguientes tres parámetros: nombre de dominio,

correo del administrador y carpeta donde estará guardado el sitio a nivel del servidor.

cp /etc/apache/sites-available/000-default.conf /etc/apache2/sites-available/hv1.conf vim /etc/apache2/sites-available/hv1.conf

Realice copias para hv2 y hv3, modifique hv1 por hv2 y hv3 correspondientemente.

57. Diríjase al final del archivo y comentaree las líneas que exigen la autenticación básica con el fin de que cualquier

usuario pueda entrar y visualizar el contenido del sitio. Salga y guarde los cambios.

58. Verifique que el archivo haya sido creado con el comando “ls”, una vez creado y editado proceda a habilitar el

nuevo sitio con el comando “a2ensite”, finalmente recargue el servidor con el comando “reload” y reinicie el

servicio con el comando “restart”.

a2ensite hv1.conf

systemctl reload apache2

59. Finalmente proceda a cargar desde la MV cliente las dos páginas web haciendo uso de los dos nombres de

dominio registrados y verá cómo se muestran los dos sitios diferentes aun estando asociados con la misma

dirección ip.

60. Escriba la dirección ip 192.168.1.1, ¿cuál de los dos sitios se muestra?

.

b. Host virtual por ip.

Como la mayoría debemos conocer, una pc puede tener más de una interfaz de red físicas, cada una con su propia

dirección ip, esto es muy bien aprovechado por Apache ya que en un solo servidor se pueden tener alojados dos

sitios diferentes bajo diferentes ip’s.

61. Para el ejemplo mostrado a continuación se procede a crear interfaces de red virtuales a partir de la que se tiene

(enp0s3), esta es la ip 192.168.1.4/24 que configuro previamente.

62. Verifique de haber creado las carpetas y configuraciones para hv2.

mkdir /var/www/hv2

chmod 755 –R /var/www/hv2

vim /var/www/hv2/index.html

cp /etc/apache/sites-available/hv1 /etc/apache2/sites-available/hv2.conf vim /etc/apache2/sites-available/hv2.conf

63. Verifique que el archivo haya sido creado con el comando “ls”, una vez creado y editado proceda a habilitar el

nuevo sitio con el comando “a2ensite”, finalmente recargue el servidor con el comando “reload” y reinicie el

servicio con el comando “restart”.

64. Finalmente proceda a cargar desde la MV cliente la nueva página web haciendo uso del nuevo nombre y verá

cómo se muestra el nuevo sitio.

65. Proceda a realizar pruebas haciendo uso de la dirección ip, ¿qué fue lo que se mostró en pantalla?

.

c. Host virtual por puerto.

66. Verifique de haber creado las carpetas y configuraciones para hv3.

mkdir /var/www/hv3

chmod 755 –R /var/www/hv3

vim /var/www/hv3/index.html

cp /etc/apache/sites-available/hv1 /etc/apache2/sites-available/hv3.conf vim /etc/apache2/sites-available/hv3.conf

Note que ahora hay un parámetro extra que agregar ya no solo el nombre, el correo y la ruta, sino que además el

puerto al cual estará asociado dicho sitio, esto se puede ver al incio de la imagen en la etiqueta <virtualhost>. Para

este VH en particular se utilizará el puerto 8085.

67. Verifique que el archivo haya sido creado con el comando “ls”, una vez creado y editado proceda a habilitar el

nuevo sitio con el comando “a2ensite”, finalmente recargue el servidor con el comando “reload” y reinicie el

servicio con el comando “restart”.

68. Para que el servidor web sea capaz de escuchar peticiones por dos puertos distintos habrá a su vez que habilitar el

nuevo puerto en el archivo llamado “ports.conf” ubicado en “/etc/apache2”, ábralo y agregue el puerto 8085.

69. Verifique que el archivo haya sido creado con el comando “ls”, una vez creado y editado proceda a habilitar el

nuevo sitio con el comando “a2ensite”, finalmente recargue el servidor con el comando “reload” y reinicie el

servicio con el comando “restart”.

70. Proceda a realizar las pruebas respectivas haciendo uso del “nombre:puerto” así como de “direccionip:puerto”.

IV. Investigación complementaria

Realice un manual sobre la configuración necesaria para instalar y configurar el módulo de “Autenticación Digest”,

explique cuál es o son las diferencias con el módulo “Basic” y a su vez explique cómo funciona, muestre y configure

un “hostvirtual mixto”

Muestre las configuraciones necesarias a realizar explicándolas detalladamente y además realice pruebas para verificar

que el trabajo realizado es correcto.