Daw MAPS
Daw MAPS
Web). Una red de equipos interconectada a HTTP-> Protocolo diseñado para transferir
través de internet que permite compartir documentos HTML, utilizando por defecto
información. puerto TCP 80 para establecer conexiones.
Está en la capa 7 del modelo OSI (capa de
aplicación) y engloba también DNS, FTP y SSH
Aparece el hipervínculos en los 90's gracias a Aplicaciones web VS aplicaciones de escritorio:
Tim Berners-Lee. Permite crear un sistema de - Facilidad de despliegue software en los
HTML-> Lenguaje de marcas que permite crear
acceso a la información de forma clientes
documentos visualmente agradables y
Estructura de la arquitectura descentralizada desarrollando el protocolo
HTTP(Hypertext Transfer Protocol) y el HTML
facilitan la lectura gracias a la adición de - Centralización de la información.
estilos de texto, imágenes,tablas...etc - Seguridad mejorada con sistemas modernos.
web (Hypertext Markup Language) y las URL
En 2014 W3C saca HTML5 que incorpora - Compatibilidad con cualquier SO.
(Uniform Resource Locator). En 1994 nace Reducción de costes
etiquetas para compatibilidad de audio y video.
W3C( World Wide Web Consortium) que regula
las recomendaciones y los estándares.
Estructura:
URL -> Nomenclatura utilizada para hacer
esquema://servidor/directorio/archivo
referencia a objetos y poder localizar
información de manera rápida y sencilla.
https://apache.org/
Ventajas:
- Descentralización. Info repartida en todos
los nodos.
Despliegue - Escalabilidad. + nodos, + eficiencia
- Carga de trabajo repartida. Todos los nodos
Tema 1 Modelo P2P
Utiliza topología de malla. Todos los equipos
deben estar interconectados entre sí y cada
trabajan igual
Ventajas:
- Mantenimiento. + barato
- Info y recursos centralizados. Lo gestiona el
servidor
- Posibilidad de balanceo de carga entre varios
Información centralizada en un único servidor
Tipos y modelos de Modelo Cliente/Servidor
que atenderá las peticiones de los clientes.
servidores
Puede responder de forma autónoma a todas
arquitectura web las peticiones sin necesidad de más servidores. Inconvenientes: Cliente -> Navegador que realiza peticiones
- Riesgo de congestión por gran número de Servidor-> Equipo preparado para actuar como
peticiones simultáneas. servidor web.
- Servidor caído = no recursos
- Un servidor carga con mucho trabajo.
P2P = +mejor rendimiento, + red
C/S solo un servidor Ventajas:
3C + Servidores según necesidades. - + Seguridad que C/S
- + Flexibilidad al existir servidores
Funcionamiento: especializados
Evolución del modelo C/S. Se añade un - + Rendimiento al compartir las tareas entre
1. Cliente hace petición al servidor
servidor : servidores
web/aplicaciones
Servidor BBDD Almacena y resuelve las
Modelo 3 capas 2. Servidor Web se comunica con BBDD
consultas
3. BBDD procesa las consultas del Web y Inconvenientes:
Servidor web sirve el contenido solicitado por
devuelve las respuestas a Web - Necesario aumentar los servidores
el cliente
4. Devuelve la info a cliente. - +Tráfico de red entre los servidores
- Riesgo de seguridad si está mal configurado
- Mayor tiempo de espera ya que hay más
procesos internos.
Software preparado para escuchar
permanentemente las peticiones de los
clientes y ofrecerla, ya sea entregando una
Necesitamos un software que gestione la
web o listando un mensaje de error si la
BBDD (MySQL, MAriaDB, PostgreSQL, SQLite...)
petición es incorrecta.
También es un servidores ver el equipo físico
que realiza estas funciones
Apache:
El más utilizado del mundo.
Según tipo de licencia:
- Open Source: código abierto. Son gratis
Nginx:
(Apache y Nginx)
Alto rendimiento. Multiplataforma
- Propietarios: De pago (Microsoft IIS, Nginx
Plus)
Microsoft IIS(internet Informatiosm Services):
Características de los No conlleva coste el adquirirlo. Se instala
servidores web libres y como característica desde el panel de control
en Sistemas de escritorio o como "rol" en
propietarios Windows Server
Comparación en los apuntes
Ventajas:
- Son más eficientes que una máquina virtual
al no invertir recursos en emular un SO. Los
Docker comparten los recursos del host
anfitrión
Aislan una aplicación y sus dependencias - Encapsular las aplicaciones y las librerías.
Docker (Contenedor) permitiendo desplegar servicios web en Gracias a eso podemos desplegar el mismo
cuestión de minutos Docker en cualquier equipo evitando el riesgo
de que falten dependencias o discrepancias
entre distintas versiones software
-+ ligero que la máquina virtual. Docker
permite la ejecución de múltiples
contenedores en el mismo host
Necesita un certificado válido firmado por una
CA (Certification Autority) y conlleva un
coste, aunque existen soluciones gratuitas
como certbot
Tipos
Al espoecificar un nombre DNS podremos
Basados en nombre: Tendrá una única dirección alojar varios sitios web. Para que el servidor
IP y asignará a los sitios web nombres DNS pueda atender peticiones a través de internet
para servir los recursos por nombre, en la zona DNS del dominio, el
Funcionamiento de los Virtual registro A debe apuntar a la IP del servidor.
Hosts
Se utiliza para almacenar una relación de
direcciones IPs y un nombre DNS.
Así se realizan búsquedas más rápidas, ya que
Fichero Host
la consulta no pasa por ningún router ni
servidor DNS externo.
Se puede usar para hacer pruebas
RewriteEngine On
Podemos reenviar una petición de un cliente a # This will enable the Rewrite capabilities
otro web o forzar el uso de HTTPS con los La forma más común es a través del módulo
Si queremos forzar el uso de HTTPS tenemos
Redirección HTTPS usando hosts virtuales.
Útil cuando hacemos cambio de dominio, Redirección en Apache.
mod_rewrite, que permite establecer y evaluar
una serie de condiciones para que se produzca
que añadir un código en el virtual Host que
RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is
escuche por el puerto 80. así, todas las
Virtual Hosts queremos hacer una landing page(página de la redirección. La activación del módulo se
peticiones se trasladarán al puerto 443.
not already HTTPS
bienvenida) o queremos reforzar la seguridad realiza con el comando "a2enmod rewrite"
de la web RewriteRule ^/?(.*) https://%
{SERVER_NAME}/$1 [R,L]
server_name www.nginx1.com;
Añadir en el Virtual Block correspondiente las
Redirección en Nginx rewrite ^/(.*)$ http://www.nginx2.com/$1
líneas indicando la redirección
permanent;
Ventajas:
- Verifica que el sitio web al que accedemos es
Cuando bajo un mismo dominio tenemos varios
legítimo. es posible por una validación entre el
servicios podríamos adquirir un certificado
nombre DNS y la direccion IP del servidor al
para cada uno de ellos llamados certificados
que apunta
comodín
- Realiza un cifrado de los datos transmitidos
utilizando la clave privada del certificado
+ simple
A continuación, añadimos el usuario
Requiere el módulo mod_authbasic para que Tendremos que añadir en el fichero de
Despliegue Tema 5 Basic funcione
Las contraseñas se transmitirán en texto
configuración del sitio web un montón de
lineas que están en el SCORM, fig 14
especificado en el VH, guardando el usuario y
contraseña en el fichero basicAuth.txt y
Se protegen los ficheros y directorios reiniciamos
plano.
Autenticación de usuarios utilizando autenticación con contraseña. Se
realiza desde los VH
+ seguras Después, creamos el archivo con las
añadir la configuración al VH y comprobamos
Digest Las contraseñas irán cifradas si utilizamos Hay que activar el módulo auth_digest contraseñas y daremos permisos y propiedad
funcionamiento
Digest en sitios HTTPS. del archivo al usuario www-data
Mecanismos de contro de Sistema de protección frente ataques de Analiza los logs de Apache y banea direcciones
fuerza bruta escrito en Python sospechosas.
acceso: Fail2Ban
Se almacena en /etc/fail2ban/fail2ban.conf, NO EDITAR EL ARCHIVO JAIL.CONF.
Ayuda a proteger los puertos de gestión, como En Ubuntu se usa pero existen más archivos como jail.conf que En todo caso crear un nuevo fichero llamado
el 22(SH) o los puertos 80 y 443 apt-get install fail2ban guardan info de las "jaulas" o monitores que jail.local, donde se introducirá la configuración
tenemos activos de las nuevas jaulas
Los servidores de aplicaciones albergan
aplicaciones desarrolladas en un determinado
El middleware se comunica con un servidor
lenguaje, comunicándose con otros elementos
BBDD para resolver las peticiones y entregar el
de la red, para entregar a cliente final el
contenido sin necesidad de almacenar
contenido solicitado.
información en el cliente
Dicho de otra forma, software intermedio
Aparecen ante la necesidad de desarrollar
(middleware) que permite la ejecución de
aplicaicones en otros lenguajes que permitan
código y estructura los datos para poder
ampliar las funciones de un servidor web
visualizarlo en un navegador. También se le
llama así al equipo que realiza estas funciones
¿Qué son los servidores de
aplicaciones? Servidor web sirve contenido estático
(HTML,CSS,etc) que se ejecuta en el lado Un servidor de aplicaciones contiene todo el
cliente. software necesario para ejecutar código en
Servidor de aplicaciones almacena el contenido servidor y entregar contenido a cualquier
dinámico (PHP...). El servidor necesita un navegador
Diferencias entre un servidor web y uno de software para realizar estas funciones
aplicaciones
Componentes aplicaciones