📗
Servicios
  • Instalación y administración de servicios de red
  • introduccion
  • bbdd
    • ADMINISTRACIÓN DE MYSQL
  • comunicaciones
    • Ejercicio 10 - Streaming y Videoconferencia
    • Ejercicio 9 - Servidor Mensajería
  • correo
    • Ejercicio 7 - Servidor correo
  • dhcp
    • Ejercicio 2 - Servidor DHCP
  • directorio
    • Ejercicio 12 - Servidor Directorio
  • dns
    • Ejercicio 3 - Servidor DNS
  • ficheros
    • Ejercicio 6a - Servidor ficheros FTP
    • Ejercicio 6b - Servidor ficheros NFS - solución
    • Ejercicio 6c - Servidor ficheros SMB - solución
  • firewall
    • Ejercicio 11 - Cortafuegos
  • ids
    • Ejercicio 15 - Sistema Detección Intrusos
  • impresion
    • Ejercicio 13 - Servidor Impresión - solución
  • proxy
    • Ejercicio 4 - Servidor Proxy caché
  • remoto
    • Ejercicio 8 - Control Remoto
  • repaso
    • Ejercicio 0a - repaso Virtualización - ejercicio
    • Ejercicio 0b - repaso TCPIP - ejercicios
    • Ejercicio 0b - repaso TCPIP - test solución
    • Ejercicio 0b - repaso TCPIP - test
    • Ejercicio 0c - repaso Linux - RAID
    • Ejercicio 0c - repaso Linux - comandos Unix ejercicio
    • Ejercicio 0c - repaso Linux - comandos Unix solución
    • Instalación de Linux
    • Ejercicio 0d - repaso Windows Server - ejercicio
    • Ejercicio 0e - Planificar servicios
  • router
    • Ejercicio 1 - compartir internet y enrutamiento
  • vpn
    • Ejercicio 14 - Redes Privadas Virtuales
  • web
    • Ejercicio 5 - Servidor web
Powered by GitBook
On this page
  • PREGUNTAS
  • EJERCICIO DE INVESTIGACIÓN: ESCALABILIDAD DE GRANDES SITIOS WEB
  • PRÁCTICA WINDOWS
  • PRÁCTICA LINUX BÁSICA
  • PRÁCTICA LINUX: HOSTS VIRTUALES
  • PRÁCTICA LINUX: HTTPS
  • PRÁCTICA LINUX: SERVIDOR WEB DINÁMICO
  • PRÁCTICA LINUX: TU SERVIDOR WEB EN INTERNET
  • PRÁCTICA LINUX EXTRA: CONVIÉRTETE EN UN PROVEEDOR DE ESPACIO WEB
  • PRÁCTICA LINUX: SEGURIDAD
  • PRÁCTICAS LINUX EXTRA
  • REFERENCIAS

Was this helpful?

  1. web

Ejercicio 5 - Servidor web

PREGUNTAS

  1. ¿En qué consiste HTTP? ¿y HTTPS? ¿Qué puertos y protocolo en la capa de transporte utilizan?

  2. Dibuja el esquema de una red donde hay un servidor de HTTP sirviendo páginas a los ordenadores de la intranet. Dicho servidor HTTP se comunica con un servidor SQL de bases de datos para resolver páginas dinámicas ASP o PHP.

  3. ¿Cuál és la sintaxis de la instrucción GET del protocolo HTTP? ¿Qué otras instrucciones existen en dicho protocolo?

  4. En la petición de una página web mediante el protocolo HTTP, ¿qué tipos de respuestas son las indicadas por los códigos 1xx, 2xx, 3xx, 4xx y 5xx?

  5. En el protocolo HTTP ¿Cuáles son los cinco campos que te parecen más importantes en los "headers" de la petición de una página web y de la respuesta?

  6. Viene algún software de servidor de HTTP con Windows Server? ¿Desde dónde se instala y desde dónde se administra? ¿Y para Windows no server?

  7. ¿Cuál es el software de servidor de HTTP más conocido para Unix/Linux? ¿Y el software de servidor más ligero de HTTP?

  8. Al instalar un servidor de HTTP, ¿Qué parámetros a configurar piensas que serán los más importantes?

  9. De qué maneras un servidor web puede servir páginas de más de un nombre de dominio ("virtual hosting"). Es decir, si necesitamos que un servidor web aloje las páginas de www.pepe.com y www.jose.com, ¿Cómo podemos conseguir qué distinga cuál le están pidiendo?

  10. ¿Cuál es la sintaxis completa de una URL?

EJERCICIO DE INVESTIGACIÓN: ESCALABILIDAD DE GRANDES SITIOS WEB

  • Extensión de trabajo: 1 ó 2 páginas

  • Tiempo del trabajo: 4 horas

  • Tiempo de la presentación: 10 minutos

Deberéis escoger uno de los sitios web de la lista del final o proponer al profesor un sitio nuevo. Del sitio escogido debéis encontrar la siguiente información para posteriormente presentarla a la clase (es obligatorio citar la referencia de la información encontrada).

  1. Presentar el sitio: a qué se dedica, qué información almacena, cómo nació y pequeña historia.

  2. Presentar estadísticas: número de visitas diarias y visitas simultáneas (media y picos), cantidad de información almacenada, número de usuarios actualmente.

  3. Presentar que software utiliza: sistema operativo, servicios, y lenguages de programación en páginas dinámicas.

  4. Presentar qué hardware utiliza actualmente: hardware de los equipos, número de equipos, centros de datos.

  5. Presentar la historia del crecimiento sitio: con cuántos equipos comenzó y cómo ha ido creciendo.

La lista de algunos sitios:

Podéis encontrar información buscando en:

  • Y también en la web del sitio escogido

PRÁCTICA WINDOWS

  • Instalaremos Internet Information Server para Windows Server. Exploraremos la interfície gráfica de administración del servidor web, configurando los parámetros básicos.

  • Configuraremos el servidor para que sirva páginas de dos nombres de dominio diferentes mediante tres métodos: puerto, ip, y nombre de host.

  • Generaremos un certificado digital y lo integraremos en el servidor web para que lo utilice en HTTPS.

PRÁCTICA LINUX BÁSICA

Instala Apache. Pruébalo navegando des de un cliente sobre una página web. Explora los ficheros de configuración.

  1. En una máquina virtual Linux instala el servidor web apache2. Entrega captura de pantalla de la instalación.

  2. Crea una sencilla página web con tu nombre y apellidos en este equipo, en la carpeta donde el servidor web guarda por defecto las páginas web. Entrega captura de pantalla de la carpeta donde dejas tu página web.

  3. Entrega captura de pantalla del navegador de la máquina anfitrión accediendo a la página web vía el servidor web de la máquina virtual.

  4. Accede al directorio de configuración de Apache y explica qué función tienen los diferentes archivos y carpetas que allá se encuentran.

PRÁCTICA LINUX: HOSTS VIRTUALES

Configura el servidor para que sirva páginas de dos nombres de dominio diferentes mediante hosts virtuales, por ejemplo www.mired.org e intranet.mired.org.

  1. En la máquina virtual donde has instalado Apache, crea dentro de /var/www/html dos carpetas: "sitio1" y "sitio2", cada una con un fichero "index.html" que contendrá una página diferente, por ejemplo "Bienvenido a sitio1 de nombre apellidos" la primera página, y "Bienvenido a sitio2 de nombre apellidos" la segunda página.

    Entrega captura de pantalla de las carpetas creadas con los ficheros dentro.

  2. En la carpeta "sites-available" de Apache crea dos ficheros, "sitio1.conf" y "sitio2.conf" que contendrán la configuración de los respectivas webs. Para la configuración puedes usar esta plantilla:

    <VirtualHost *:80>
      ServerName sitio
      DocumentRoot /ruta_a_carpeta
    </VirtualHost>

    Entrega captura de pantalla de la configuración que has escrito en estos ficheros.

  3. Habilita las dos webs ¿Con qué comando se activa una web en Apache?

    Entrega captura de pantalla del listado del directorio "sites-enabled" de Apache.

  4. Haz los canvios necesarios en tu servidor DNS para que los nombres de host "www.mired.org" i "intranet.mired.org" apunten a la IP del servidor DNS, que también es el servidor web.

    Entrega captura de pantalla del fichero de configuración del servidor DNS.

    Entrega captura de pantalla del navegador accediendo a las páginas "www.mired.org" e "intranet.mired.org".

PRÁCTICA LINUX: HTTPS

Genera un certificado digital e intégralo en el servidor web para que lo utilice en HTTPS con un sitio web.

  1. Habilita el módulo de HTTPS para Apache.

    ¿Con qué comando habilitas el módulo "ssl"?

    ¿Con qué comando puedes reiniciar apache?

    ¿Cón qué comando puedes recargar la configuración de Apache sin tener que reiniciarlo?

    ¿Con qué comando compruebas que ahora Apache escucha por el puerto 443?

  2. ¿Cómo utilizas los comandos make-ssl-cert y/o openssl para crear un certificado?

    ¿En qué directorio guardas el fichero con el certificado?

  3. Configura tu página para que utilice dicho certificado.

    ¿Qué líneas debes añadir a esta nueva configuración de la intranet para que utilice el certificado?

    <VirtualHost *:443>
      ServerName intranet.mired.org
      DocumentRoot /var/www/html/sitio2
      ...
    </VirtualHost>

    Aviso: algunas directivas (SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile, ...) serán necesarias o no dependiendo del tipo de certificado que hayas generado.

    Entrega captura de pantalla del fichero de configuración de la intranet.

    Entrega capturas de pantalla de un cliente (a) aceptando el certificado, y (b) navegando por dicha pàgina.

  4. Intenta que http://intranet.mired.org/ redirija a https://intranet.mired.org/

PRÁCTICA LINUX: SERVIDOR WEB DINÁMICO

Instala PHP y MySQL. Integra Apache y PHP, para que el servidor pueda ejecutar páginas dinámicas PHP. Pruébalo instalando y administrando gestores de contenido.

  1. Instala PHP. Integra Apache y PHP, para que el servidor pueda ejecutar páginas dinámicas PHP.

    Pruébalo con esta página llamada index.php en uno de los sitios web que ya tienes:

    <?php
       phpinfo();
    ?>

    Entrega comandos, pantallas de configuración, y pantalla de prueba de phpinfo.

  2. Instala MySQL/MariaDB. Configura los parámetros de seguridad de acceso: usuarios que pueden acceder / acceder des de red o no / IPs que pueden acceder.

    Entrega comandos, pantallas de configuración, y pantalla de prueba de PHPMyAdmin/Adminer/DBeaver.

  3. Prueba el servidor web dinámico instalando algunos gestores de contenido: Wordpres, Drupal, Joomla, MediaWiki, Moodle, Alfresco, Prestashop, SeaFile, NextCloud, GitLab, Mantis-bt, Glpi, RackTables, OpenStack, etc.

    Entrega todos los pasos para la instalación y configuración del gestor de contenido.

PRÁCTICA LINUX: TU SERVIDOR WEB EN INTERNET

Vas tener tu propio servidor web en Internet, donde moverás todo lo hecho hasta ahora.

  1. Instala en dicha instancia lo practicado hasta ahora: servidor web que pueda servir contenidos dinámicos, gestor de contenido, https.

  2. Abre puertos en los dos cortafuegos para poder probar tu web des de el exterior: el cortafuegos de red y el cortafuegos del host.

  3. Crea tu página web.

  4. Haz que el registro DNS Freenom para tu dominio apunte al servidor DNS de Oracle Cloud o Amazon AWS, y configura el servidor DNS de Oracle Cloud o Amazon AWS para que el registro www apunte a la IP de tu host.

Entrega la URL de tu web, así como todos los pasos para la instalación y configuración.

PRÁCTICA LINUX EXTRA: CONVIÉRTETE EN UN PROVEEDOR DE ESPACIO WEB

  • a ti, crear usuarios y nuevos dominios web.

  • a los usuarios, gestionar su hosting web, subir archivos.

Entrega los pasos para la instalación y configuración, y capturas de pantalla de la administración del panel.

PRÁCTICA LINUX: SEGURIDAD

Realiza un estudio de las directivas y módulos de Apache que ayudan a fortalecer la seguridad en el servidor web.

PRÁCTICAS LINUX EXTRA

  1. (Extra) Instala en el servidor el módulo de Webmin para administrar Apache.

  2. (Extra) Modifica Apache para que un sitio web trabaje con el protocolo HTTP/2 en lugar de HTTP/1.1 , utilizando el módulo http2.

  3. (Extra) Modifica Apache para que automáticamente cada usuario del sistema tenga una página web personal en su "home", utilizando el módulo userdir.

  4. (Extra) Elimina o cambia la información de versión de Apache.

  5. (Extra) Redirige al usuario que visita tu página a otra url. Por ejemplo, que al acceder a http://localhost/vete vaya a https://www.gnu.org/

  6. (Extra) Configura el servidor web para que no liste el contenido de un determinado directorio. Crea antes un par de ficheros en dicho directorio.

  7. (Extra) Configura el servidor web para que al entrar a un directorio concreto pida autorización de usuario y contraseña. ¿Viaja la autorización encriptada?

  8. (Extra) Crea una carpeta fuera del directorio raíz de Apache i "mapeala" a la URL http://localhost/carpetaExterna/

  9. (Extra) ¿Qué es "leeching" o "hot linking", y cómo puede perjudicar a tu servidor? Añade las directivas oportunas a tu fichero de configuración para que si alguien enlaza a tus imágenes des de una página externa, tu servidor muestre una imagen alternativa.

REFERENCIAS

Previousweb

Last updated 3 years ago

Was this helpful?

( En caso de no tener servidor de DNS, puedes hacer un "apaño" con el fichero "" del cliente )

Genera un certificado. Para que tu servidor "intranet.mired.org" pueda servir páginas seguras con el protocolo HTTPS, necesita un certificado. Dicho certificado permitirá que tu servidor utilice cifrado para iniciar una trasmisión segura de información. El cliente deberá aceptar el certificado directamente del servidor, ya que generaremos un certificado "autofirmado". Si queremos evitarlo, deberíamos comprar un certificado a una entidad certificadora confiable, pero tiene un precio que no merece la pena pagar en un entorno educativo. (Si quieres aprender un poco más visita la página )

Prueba a instalar , o , o , y entonces acceder a la gestión de las bases de datos desde un navegador.

Inicia una instancia de Linux en o .

En reserva un nombre de dominio gratuito (.tk, .ga, etc.) para tu web.

Crea e instala para tu web un certificado digital gratuito de . Dichos certificados sólo demuestran que administras el dominio, y expiran a los tres meses. Lo ideal sería que utilizaras para . Si en lugar de utilizar certbot prefieres hacerlo será tedioso repetir el proceso cada tres meses.

Si has realizado los pasos del 1 al 3 de la práctica anterior, ahora instala un (ISPConfig, Virtualmin, GNUPanel, etc.) que permita vía navegador:

(Extra) Cambia la página de error 404 que viene por defecto. Por ejemplo:

wikipedia
youtube
google
facebook
twitter
ebay
paypal
amazon
flickr
instagram
pinterest
tumblr
slashdot
meneame
diggit
sourceforge
github
netflix
uber
http://highscalability.com/blog/category/example
http://www.google.es/search?q=%22nombresitio+architecture%22
http://www.google.es/search?q=%22nombresitio+statistics%22
hosts
http://httpd.apache.org/docs/current/ssl/
PHPMyAdmin
Adminer
DBeaver
Oracle Academy Cloud
AWS Academy
Freenom
Let's Encrypt
certbot
renovar dicho certificado automáticamente
a mano
panel administrativo
https://www.tecmint.com/apache-security-tips/
https://www.apachecon.eu/
https://geekflare.com/apache-web-server-hardening-security/
https://wiki.debian.org/Apache/Hardening
https://tecadmin.net/hide-apache-version-from-http-header/
http://www.lego.com/jjj
https://httpd.apache.org/docs/current/custom-error.html
https://httpd.apache.org/docs/current/urlmapping.html#redirect
https://wiki.apache.org/httpd/DirectoryListings
https://httpd.apache.org/docs/current/howto/auth.html
https://httpd.apache.org/docs/current/urlmapping.html#outside
https://httpd.apache.org/docs/current/rewrite/access.html#blocked-inline-images
http://en.wikipedia.org/wiki/Web_servers
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
http://en.wikipedia.org/wiki/Media_type
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP
http://news.netcraft.com/archives/web_server_survey.html
http://en.wikipedia.org/wiki/Comparison_of_web_server_software
https://jvns.ca/blog/2017/01/31/whats-tls/
http://www.xtec.net/~acastan/textos/Tuning%20LAMP.pdf
https://blog.avast.com/create-a-secure-web-server-avast
https://mythemeshop.com/blog/web-server-security/