Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Servidores Web 1
a. Los equipos están en la red 192.168.1.0/24 (Se supone que dicha red es a la que pertenece los
equipos de vuestra casa. Si no fuera ésta, usar la red apropiada.)
b. La MV Linux pertenecerá a la red anterior con IP 192.168.1.Y3, con puerta de enlace la de vuestro
router-modem de casa y tierra como nombre de host. Sustituye el valor de Y con el número de
puesto habitual de clase. Por ejemplo si la red de casa es 192.168.1.0/24 y usas el puesto 7 en clase,
la IP de la MV Linux sería 192.168.1.73.
c. La MV Windows Server se denominará marte, tendrá como IP 192.168.1.Y4 y como puerta de
enlace la de vuestro router-modem de casa.
d. La MV Linux (tierra) será un servidor DNS y tendrá autoridad sobre el dominio sistema.sol. De igual
forma actuará como servidor maestro y tendrá autoridad sobre la zona de resolución inversa de la red
192.168.1.0/24. Por lo tanto el servidor DNS del dominio será tierra.sistema.sol.
e. Los nombres de los equipos y su IP serán:
mercurio.sistema.sol 192.168.1.Y1 (host imaginario)
venus.sistema.sol 192.168.1.Y2 (host imaginario)
tierra.sistema.sol 192.168.1.Y3 (máquina virtual Linux)
marte.sistema.sol 192.168.1.Y4 (máquina virtual Windows Server)
f. Las dos MVs usarán como servidor DNS el instalado en tierra y añadirán el sufijo sistema.sol a los
nombres de dominio no FDQN.
g. Probar con el comando nslookup desde las dos MVs que los nombres de dominio se resuelven
adecuadamente. Si el servicio DNS no funciona, no se puede seguir con los ejercicios…
Se quiere crear y habilitar dos servidores web para los dominios apolo.sistema.sol y soyuz.sistema.sol
alojados en el host tierra.sistema.sol. Las características de éstos dos dominios se detallarán en la
lista de pasos que se deberán realizar.
1. Configurar el servidor DNS para que resuelva los nombres apolo.sistema.sol y soyuz.sistema.sol
como alias de tierra.sistema.sol.
Se debe añadir dos RR de tipo CNAME al archivo de registros de recursos de la zona sistema.sol
apolo.sistema.sol. IN CNAME tierra.sistema.sol.
soyuz.sistema.sol. IN CNAME tierra.sistema.sol.
2. A continuación probar mediante nslookup o dig que ambos nombres de dominio se resuelven
adecuadamente.
alumno@tierra:~$ nslookup apolo.sistema.sol
Server: 192.168.1.103
Address: 192.168.1.103#53
3. Crear los directorios raíz de cada uno de los servidores. Por ejemplo pudieran ser /var/www/apolo
y /var/www/soyuz.
a) Añadir a cada uno de los directorios anteriores respectivamente un archivo de nombre
apolo.html e soyuz.html con el contenido en HTML que se desee.
b) Al directorio /var/www/apolo añadirle dos archivos de texto (apolo1.txt y apolo2.txt)
c) Al directorio /var/www/soyuz añadirle dos archivos de texto (soyuz1.txt y soyuz2.txt)
4. Crear con Apache los dos servidores virtuales web para los dos dominios. Cada servidor virtual
usará un fichero de configuración diferente de nombres webapolo.conf y websoyuz.conf alojados en
el directorio /etc/apache2/sites-available.
Características a cumplir en ambos servidores:
// Archivo /etc/apache2/sites-available/webapolo.conf
<VirtualHost *:80>
ServerName apolo.sistema.sol
DocumentRoot /var/www/apolo
ErrorDocument 403 "No tiene permisos de acceso"
ErrorDocument 404 /messages/notfound.html
<Directory /var/www/apolo>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog /messages/apolo.error.log
LogLevel warn
CustomLog /messages/apolo.access.log combined
</VirtualHost>
// Archivo /etc/apache2/sites-available/websoyuz.conf
<VirtualHost *:80>
ServerName soyuz.sistema.sol
DocumentRoot /var/www/soyuz
ErrorDocument 403 "No tiene permisos de acceso"
ErrorDocument 404 /messages/notfound.html
<Directory /var/www/soyuz>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog /messages/soyuz.error.log
LogLevel warn
CustomLog /messages/soyuz.access.log combined
</VirtualHost>
6. Habilita los dos servidores virtuales, y reinicia el servicio Apache comprobando que no hay
errores.
$sudo a2ensite webapolo.conf
$sudo a2ensite websoyuz.conf
$sudo systemctl restart apache2
Teniendo en cuenta lo anterior, se quiere añadir un nuevo servidor virtual para un nuevo dominio
discovery.sistema.sol usando como directorio raíz /var/www/transbordador. El sitio usará autentificación
tipo HTTP Digest de forma que sólo el usuario commander podrá acceder a dicho sitio web.
4. Para la autentificación Digest hay que crear un archivo accesible por Apache en el que se
guardarán los usuarios, grupos y contraseñas. Para ello se usa el comando htdigest de la forma:
$ sudo htdigest -c /etc/apache2/archivo_de_claves grupo_de_usuarios usuario
$ cat /etc/apache2/claves-digest
commander:astronauts:19c426e5b25e9bd568eaa17b5f0a6503
En la sección <Directory> del servidor virtual, añadir a las directivas habituales, las siguientes:
AuthType Digest
AuthName "astronauts"
AuthUserFile "/etc/apache2/claves-digest"
Require user commander
<Directory /var/www/transbordador>
Options Indexes FollowSymLinks
DirectoryIndex hello.html
AllowOverride None
AuthType Digest
AuthName "astronauts"
AuthUserFile "/etc/apache2/claves-digest"
Require user commander
</Directory>
</VirtualHost>
8. Desde el navegador web accede al sitio web con su URL. Se presentará una ventana de
autentificación como la siguiente donde teclear los credenciales del usuario, para luego
presentarse el contenido del archivo hello.html.
// Archivo /etc/apache2/sites-available/webapolo
<VirtualHost *:80>
ServerName apolo.sistema.sol
DocumentRoot /var/www/apolo
ErrorDocument 403 "No tiene permisos de acceso"
ErrorDocument 404 /messages/notfound.html
<Directory /var/www/apolo>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog /var/www/apolo/messages/apolo.error.log
LogLevel warn
CustomLog /var/www/apolo/messages/apolo.access.log combined
</VirtualHost>
b) A continuación hay que reiniciar el servicio para que los cambios se registren
c) El usuario alumno deberá crear el archivo /home/alumno/satelites/.htaccess con las directivas
necesarias para la nueva configuración que desea para el directorio /home/alumno/satelites. Por
ejemplo:
# El archivo a servir será ahora "otroindex.html"
DirectoryIndex otroindex.html
# Sólo los usuarios de la red 192.168.1.0/24 podrá acceder al directorio virtual
Require ip 192.168.1.0/24
a) Para que el equipo tierra disponga de dos interfaces de red, desde el menú de configuración de la
máquina virtual Linux de VirtualBox añadir otra interfaz de red en modo puente. Al iniciar la
MV se dispondrá de otra interfaz de red la cual se configurará con la IP 192.168.1.Y5/24.
b) En el archivo de zona del dominio sistema.sol hay que hacer corresponder cada IP con cada uno
de los nombre de dominio de los servidores web. Así por ejemplo la IP 192.168.1.Y3 se
mantendrá con el nombre apolo.sistema.sol; y para la nueva IP 192.168.1.Y5 se le añade un
registro tipo A que la asocie al dominio soyuz.sistema.sol. (Evidentemente el registro CNAME del
dominio soyuz.sistema.sol como alias de tierra.sistema.sol habría que eliminarlo de la zona).
c) Reinicia el servidor DNS y comprueba con nslookup que se resuelven los dos nombres de
dominio (apolo.sistema.sol y soyuz.sistema.sol) cada uno con su IP correspondiente.
Name: soyuz.sistema.sol
Address: 192.168.1.105
d) Ahora en el archivo ports.conf deberemos indicar para cada IP, el puerto de escucha de la forma
Listen IP:puerto.
// archivo /etc/apache2/ports.conf
…
Listen 192.168.1.Y3:8081
Listen 192.168.1.Y5:8082
e) A continuación se modifican las directivas <VirtualHost *:80> de cada uno de los dos servidores
virtuales de forma que se indiquen la IP concreta y el puerto de cada servidor de la forma
<VirtualHost IP:puerto>
<VirtualHost 192.168.1.Y3:8081>
…
</VirtualHost>
<VirtualHost 192.168.1.Y5:8082>
…
</VirtualHost>
f) Reinicia el servicio Apache y accede a cada uno de los servidores usando en la URL del
navegador la IP y el puerto.
g) Ahora accede a cada uno de los servidores usando en la URL del navegador el nombre de
dominio y el puerto.
# Archivo /etc/apache2/sites-available/webseg.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName webseg.sistema.sol
DocumentRoot /var/www/webseg
<Directory /var/www/webseg>
SSLRequireSSL
DirectoryIndex sitioseg.html
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/webseg.error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/webse.access.log combined
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/cer-sistema.pem
</VirtualHost>
</IfModule>
10. Para probar el servidor web debemos usar el protocolo HTTPS en la URL del navegador. de la
forma https://webseg.sistema.sol y aceptar el certificado autofirmado.
Para realizar la conexión desde un cliente, se mapea el sitio web que dispone de WebDAV
con una unidad de red. Esto podemos hacerlo mediante una consola de comandos o usando
un asistente.
- En el primer caso desde, la consola escribimos
C:\Users\carlos>net use * http://wd.aula.izv
Escriba el nombre de usuario para "wd.aula.izv": Administrador
Escriba la contraseña para wd.aula.izv:
C:\Users\carlos>
La unidad Z: está conectada a http://wd.aula.izv.
Se ha completado el comando correctamente.
C:\Users\carlos>z:
Z:\>dir
El volumen de la unidad Z no tiene etiqueta.
Directorio de Z:\
22/11/2016 17:02 <DIR> .
22/11/2016 17:02 <DIR> ..
22/11/2016 17:06 <DIR> Datos
21/11/2016 18:48 25 index.html
1 archivos 25 bytes
3 dirs 196.663.373.824 bytes libres
- En el caso de querer usar el asistente, podemos hacerlo pulsando en el botón Equipo del
escritorio, y activando Conectar con una unidad de red de la barra superior. En la
ventana seleccionamos la letra de unidad que queramos, escribimos en Carpeta
http://wd.aula.izv y marcamos la casilla Conectar con otras credenciales para poder
teclear luego el nombre del usuario (Administrador) y sus contraseña.
Al realizarse la conexión, nos aparecerá en la ventana del explorador de archivos, una nueva
unidad de red mapeada a la conexión WebDAV del sitio web. Por ejemplo DavWWWRoot
(\\wd.aula.izv)(Z:)
6. Conexión al sitio con otros clientes WebDAV.
En la configuración de WebDAV usamos anteriormente el sistema de autentificación de
Windows (NTLM), pero este método no es soportado por muchos clientes. Para hacer más
compatible la conexión podríamos deshabilitar este tipo de autentificación, e instalar y habilitar
el Rol de autentificación básica.
Este tipo de autentificación es bastante vulnerable (usa la codificación base64), por lo que se
recomienda usarla cuando el sitio web sólo sea accesible mediante HTTPS para que la
información se transmita cifrada.
- WinSCP es una aplicación para Windows que actúa como cliente para diversos protocolos,
entre ellos WebDAV. Puede usarse tanto para conexiones HTTP como HTTPS. No soporta la
autentificación tipo Windows, pero si el tipo básica.
- Para realizar la conexión desde un cliente Linux, podemos usar la opción Conectarse con un
servidor del explorador de archivos nautilus. En la ventana debemos completar el cuadro de
Dirección del servidor con dav://wd.aula.izv o davs://wd.aula.izv si usa una conexión HTTPS.
No soporta la autentificación tipo Windows, pero si el tipo básica.