# Bloque 4 Tema 9. Seguridad y protección en redes de comunicaciones. Seguridad perimetral. Acceso remoto seguro a redes. Redes privadas virtuales VPN. Seguridad en el puesto del usuario.

## VPN
Una VPN o Virtual Private Network crea un túnel cifrado a través de una red pública como Internet que conecta dos puntos como si estuvieran en la misma red privada. Proporciona confidencialidad, autenticidad e integridad.

Los tipos de VPN son tres. La VPN de acceso remoto o cliente a sitio conecta un usuario teletrabajador con la red corporativa. La VPN de sitio a sitio conecta dos redes corporativas de forma permanente, como la sede central con una sucursal. La VPN de cliente a cliente conecta dos usuarios individuales.

Los protocolos VPN más importantes son los siguientes.
- **IPsec** es el estándar para asegurar comunicaciones IP, operando en la capa de red. Tiene dos modos: el modo transporte, que solo cifra el payload del paquete IP; y el modo túnel, que cifra el paquete IP completo y añade una nueva cabecera, siendo el más seguro para VPN. IPsec usa dos protocolos: AH o Authentication Header, que proporciona autenticación e integridad sin cifrado; y ESP o Encapsulating Security Payload, que proporciona autenticación, integridad y cifrado. IKEv2 es el protocolo de negociación de claves para IPsec.
- **OpenVPN** es un software de código abierto basado en TLS. Usa el puerto 1194 UDP, aunque puede usar el 443 TCP para evitar bloqueos. Es muy flexible y ampliamente auditado. Usa certificados X.509 para la autenticación.
- **WireGuard** es un protocolo moderno introducido en 2020, con código muy reducido de unas 4.000 líneas frente a las más de 100.000 de IPsec. Es extremadamente rápido y sencillo, usa criptografía moderna basada en ChaCha20 y Curve25519, y opera en el puerto UDP 51820. Está integrado en el kernel Linux desde la versión 5.6.
- **L2TP combinado con IPsec** crea el túnel en capa 2 mediante L2TP y usa IPsec para el cifrado. Es común en sistemas operativos sin necesidad de cliente adicional.
- **GRE** es un protocolo de encapsulación genérico que puede transportar cualquier protocolo de capa de red sobre una red IP. No proporciona cifrado ni autenticación por sí mismo, pero se puede usar junto con IPsec para crear una VPN segura. GRE es útil para transportar protocolos no IP a través de una red IP, como en el caso de VPN de sitio a sitio entre redes con diferentes protocolos de capa de red.
- **DMVPN** es un protocolo de VPN dinámico que utiliza GRE para el túnel y IPsec para la seguridad. Permite la creación automática de túneles entre sitios sin necesidad de configurar manualmente cada túnel, lo que lo hace ideal para redes con múltiples sitios y cambios frecuentes en la topología. DMVPN es común en entornos empresariales con muchas sucursales.
- **IPsec modo túnel** es una configuración de IPsec donde se cifra el paquete IP completo y se añade una nueva cabecera IP. Es el modo más seguro para VPN, ya que oculta tanto el payload como la dirección IP original del paquete, proporcionando confidencialidad y protección contra ataques de análisis de tráfico. Este modo es especialmente recomendado para VPN de sitio a sitio donde la seguridad es una prioridad.
- **IPsec modo transporte** es una configuración de IPsec donde solo se cifra el payload del paquete IP, dejando la cabecera IP original sin cifrar. Este modo es menos seguro para VPN, ya que la dirección IP original es visible, lo que puede ser explotado por atacantes para realizar análisis de tráfico o ataques de spoofing. El modo transporte se utiliza principalmente para comunicaciones punto a punto entre hosts, como en el caso de VPN de cliente a cliente, donde la simplicidad y el rendimiento son más importantes que la máxima seguridad.
- Componentes de IPsec:
  - **AH (Authentication Header)**: proporciona autenticación e integridad sin cifrado, lo que significa que los datos no están protegidos contra la interceptación, pero se garantiza que no han sido alterados y que provienen de una fuente legítima.
  - **ESP (Encapsulating Security Payload)**: proporciona autenticación, integridad y cifrado, lo que significa que los datos están protegidos contra la interceptación y la alteración, garantizando la confidencialidad y la autenticidad de la comunicación.
  - **IKEv2 (Internet Key Exchange version 2)**: es el protocolo de negociación de claves para IPsec, que establece la asociación de seguridad y negocia los parámetros de cifrado y autenticación entre los extremos de la VPN. IKEv2 es más eficiente y seguro que su predecesor IKEv1, y es ampliamente utilizado en implementaciones modernas de IPsec.
  - **PGP (Pretty Good Privacy)**: es un programa de cifrado de datos que se utiliza para proteger la confidencialidad e integridad de los mensajes de correo electrónico y otros datos. Aunque no es un protocolo VPN, PGP se puede usar para cifrar archivos antes de transferirlos a través de una VPN, proporcionando una capa adicional de seguridad. PGP utiliza criptografía de clave pública para cifrar y firmar digitalmente los datos, lo que garantiza que solo el destinatario previsto pueda acceder a la información y verificar su autenticidad.
  - **SMIME (Secure/Multipurpose Internet Mail Extensions)**: es un estándar para cifrar y firmar digitalmente los mensajes de correo electrónico utilizando certificados digitales. Al igual que PGP, SMIME no es un protocolo VPN, pero se puede usar para proteger la confidencialidad e integridad de los correos electrónicos enviados a través de una VPN. SMIME utiliza criptografía de clave pública y certificados X.509 para garantizar que solo el destinatario previsto pueda acceder al contenido del mensaje y verificar su autenticidad.

  ## Seguridad en la red
  WAF o Web Application Firewall protege aplicaciones web frente a ataques de capa de aplicación como SQL Injection, XSS y CSRF. Analiza tráfico HTTP y HTTPS y puede operar en modo de solo detección o en modo de prevención bloqueando el tráfico malicioso.
  Firewall o cortafuegos filtra el tráfico de red basándose en reglas de IP, puerto y protocolo. Las reglas se procesan en orden y la política por defecto debe ser denegar todo lo no permitido explícitamente, lo que se conoce como default deny. Los tipos de firewall son el filtrado de paquetes en capas 3 y 4, la inspección con estado o stateful inspection, el proxy de nivel de aplicación y el firewall de nueva generación o NGFW que incorpora inspección profunda de paquetes y control por aplicación.
  Ataques de bots y DDoS: los bots son programas automatizados que pueden ser utilizados para realizar ataques de denegación de servicio distribuida (DDoS), donde múltiples sistemas comprometidos envían tráfico masivo a un objetivo para saturarlo y hacerlo inaccesible. Las medidas de mitigación incluyen el uso de firewalls, sistemas IDS/IPS, servicios de mitigación DDoS en la nube y la implementación de políticas de rate limiting para limitar la cantidad de tráfico que un solo origen puede enviar a un recurso.

  ### Arquitecturas de firewall
  - **Screening router**: el firewall se coloca entre el router y la red interna, filtrando todo el tráfico entrante y saliente.
    - ACL (Access Control List): reglas que permiten o deniegan el tráfico basado en IP, puerto y protocolo. 
  - **Dual-homed host o bastion**: el firewall es un host con dos interfaces de red, una conectada a Internet y otra a la red interna. Solo el firewall tiene acceso directo a Internet, y actúa como proxy para los hosts internos. 
  - **Screened host**: combinación de screening router y dual-homed host, donde el firewall tiene dos interfaces y también se utiliza un router para filtrar el tráfico antes de llegar al firewall.
  - **Screened subnet o DMZ**: el firewall se coloca entre Internet y una subred desmilitarizada (DMZ) donde se ubican los servidores públicos, y otro firewall protege la red interna desde la DMZ. Si un servidor en la DMZ es comprometido, el atacante no tiene acceso directo a la red interna. --> Mas compleja y mas utilizada.

- **IDS o Intrusion Detection System** monitoriza la red en busca de amenazas. El IDS o Intrusion Detection System opera de forma pasiva recibiendo una copia del tráfico y solo alerta. El IPS o Intrusion Prevention System opera de forma activa en línea y detecta y bloquea el tráfico malicioso en tiempo real. Los sistemas HIDS monitorizan el host y los NIDS monitorizan la red. Las técnicas de detección son la basada en firmas, que compara con patrones de ataques conocidos, y la basada en anomalías, que detecta desviaciones del comportamiento normal.
  - Nids o Network Intrusion Detection System monitoriza el tráfico de red en busca de patrones de ataque conocidos o comportamientos anómalos. Puede generar alertas para el equipo de seguridad, pero no bloquea el tráfico por sí mismo.
  - Hids o Host Intrusion Detection System monitoriza la actividad de un host específico, como los registros del sistema, los archivos y los procesos, para detectar actividades sospechosas o no autorizadas. Al igual que el NIDS, el HIDS genera alertas pero no bloquea el tráfico. 
- **IPS o Intrusion Prevention System** monitoriza la red en busca de amenazas y bloquea el tráfico malicioso en tiempo real. El IPS opera de forma activa en línea, lo que significa que puede tomar medidas para detener un ataque en curso, como bloquear la dirección IP del atacante o cerrar una conexión sospechosa. Los sistemas HIDS monitorizan el host y los NIDS monitorizan la red. Las técnicas de detección son la basada en firmas, que compara con patrones de ataques conocidos, y la basada en anomalías, que detecta desviaciones del comportamiento normal.
  - Basada en firmas: compara el tráfico con patrones de ataques conocidos, lo que es efectivo para detectar amenazas conocidas pero no puede detectar ataques nuevos o variantes.
  - Basada en anomalías: detecta desviaciones del comportamiento normal, lo que puede ser efectivo para detectar ataques nuevos o desconocidos, pero puede generar falsos positivos si el comportamiento normal no está bien definido.
  - Basada en protocolos: analiza el tráfico en función de las reglas y comportamientos esperados de los protocolos de red, lo que puede ayudar a detectar ataques que explotan vulnerabilidades específicas de los protocolos.
  - Basada en reputación: utiliza listas de reputación de IP, dominios o URLs para bloquear tráfico proveniente de fuentes maliciosas conocidas, lo que puede ser efectivo para prevenir ataques de bots y malware.

CIDF o Common Intrusion Detection Framework es un estándar para representar y compartir información sobre eventos de seguridad e intrusiones. Proporciona un formato común para describir los eventos de seguridad, lo que facilita la correlación y el análisis de datos de múltiples fuentes, como firewalls, IDS/IPS, servidores y aplicaciones. CIDF define una estructura de datos que incluye campos como la dirección IP de origen y destino, el puerto, el protocolo, la hora del evento, la gravedad y una descripción del evento. Al utilizar CIDF, las organizaciones pueden mejorar su capacidad para detectar y responder a incidentes de seguridad de manera más eficiente.

CISL o Common Intrusion Specification Language es un lenguaje de especificación utilizado para describir las características y comportamientos de los ataques de seguridad. CISL proporciona una forma estructurada de representar la información sobre los ataques, incluyendo detalles como el vector de ataque, las vulnerabilidades explotadas, los objetivos afectados y las técnicas utilizadas por los atacantes. Al utilizar CISL, las organizaciones pueden compartir información sobre amenazas de manera más efectiva y mejorar su capacidad para identificar y mitigar ataques de seguridad.

IPS o Intrusion Prevention System monitoriza la red en busca de amenazas y bloquea el tráfico malicioso en tiempo real. El IPS opera de forma activa en línea, lo que significa que puede tomar medidas para detener un ataque en curso, como bloquear la dirección IP del atacante o cerrar una conexión sospechosa. Los sistemas HIDS monitorizan el host y los NIDS monitorizan la red. Las técnicas de detección son la basada en firmas, que compara con patrones de ataques conocidos, y la basada en anomalías, que detecta desviaciones del comportamiento normal.

Protocolos de la capa de enlace:
- PPTP (Point-to-Point Tunneling Protocol): protocolo de túnel obsoleto, inseguro, utilizado en VPN antiguas.
- L2TP (Layer 2 Tunneling Protocol): protocolo de túnel que no proporciona cifrado por sí mismo, pero se puede usar junto con IPsec para crear una VPN segura.
- L2TP + IPsec: combinación de L2TP para el túnel y IPsec para el cifrado, común en sistemas operativos sin necesidad de cliente adicional.

Puertos y protocolos:
- UDP 1701: L2TP (túnel)
- UDP 500: IKEv2 (negociación de claves para IPsec)
- UDP 4500: IPsec NAT-T (IPsec a través de NAT)

Tecnicas de transmision:
