Tema 5 Seguridad Perimetral y de Red

  • Protocolos de red: definen las reglas de comunicación entre dos servicios (software)
  • Los protocolos más importantes son: IP y TCP

Firewalls

  • Diseñados para bloquear acceso no autorizado, pero normalmente permitiendo el tráfico saliente

  • Pueden ser de software, hardware o híbridos:

    • Firewalls hardware: máquinas personalizables con un harware especializado en el rendimiento de la red y la potencia de procesamiento de paquetes
    • Firewalls híbridos: firewalls basados en software que se ejecutan en hardware de PC estándar
    • Firewalls de software: sólo ejecutan un programa de firewall en su PC
  • Packet-filtering (PF): examina datos de cada paquete de red recibido. Los paquetes se examinan uno por uno y se descartan si no cumplen las reglas

  • Stateful Packet Inspection (SPI): firewalls de filtrado de paquetes dinámico con una tabla que rastrea todas las conexiones abiertas

  • Proxy firewall: proporciona filtrado en la capa de aplicación

  • Next-Generation Firewalls (NGFW): firewalls que usan un enfoque de varias capas. Un ejemplo es Fortinet

Reglas de un Firewall

  • Permitidas (ALLOW)

  • Rechazadas (REJECT)

  • Descartadas (DROP) - no avisan al cliente

  • Las reglas de un firewall operan con tripletas (IP, puerto, protocolo)

  • Cuando los firewalls pueden restringir las conexiones entre diferentes redes o zonas se denominan firewalls perimetrales (son una primera línea de defensa).

Demilitarized Zones (DMZs)

  • Son zonas de red aisladas dentro de la red interna de una empresa
  • Deben contener todos los recursos que sean accesibles desde internet
  • Se implementan con cortafuegos perimetrales
  • Los firewalls son necesarios para implementar una DMZ
  • Recomendaciones con el tráfico de red que proviene y va hacia los distintos segmentos de red:
  • Se usan firewalls para aumentar la seguridad de las redes:

Ficheros HOST

  • Archivo local para la traducción de nombres de dominio a IPs

Ataques en red: Man in the middle

DNS Poisoning

DDoS

  • Lanzados habitualmente desde botnets

Botnet

Principios de diseño general de redes seguras

Ataques actuales de red

  • Escenario de tipo traiga su propio dispositivo
  • Teletrabajo
  • Aplicaciones en la nube
  • Ahora se atacan dispositivos finales (endpoints) de usuarios/empleados

Zero Trust

  • Sistema de seguridad que sólo admite dispositivos que cumplen con unas condiciones
  • Comprueba los dispositivos continuamente

¿Qué hacer contra los ataques de hoy?

  • Detección de endpoints
  • Aislar el navegador
  • Proteger el acceso a los servicios a través de cortafuegos u otros medios
  • Controlar el acceso remoto (nunca usar RDP)

Diseños de red inadecuados

  • Soluciones basadas en un servidor con todos los servicios (front, back, SGBD…) son inadecuadas

Secure Network Infraestructure (SNI)

  • Una configuración de base segura para todos los servidores
  • Firewall de red y de aplicaciones (WAF) externo
  • Dos DMZ con 2 firewalls SPI/NGFW
  • Dos LAN internas con doble cortafuegos SPI/NGFW
  • Una política común de ubicación de los puertos de servicios
  • Todos los puertos que no se usen deben estar cerrados

HoneyPot

  • Captura intentos de ataque de usuarios o herramientas de ataque automatizadas, bloqueando sus IPs
  • Podemos derivar intentos de conexión al honeypot
  • Más recursos sobre honeypots: https://github.com/paralax/awesome-honeypots

IDS & IPS

  • Intrusion Detection System
  • Intrusion Prevention System

Security Operations Center (SOC)

Introducción al Pentesting de red

The MITRE ATT&CK

  • Base de conocimientos internacional libre y accesible de tácticas y técnicas de adversarios basadas en observaciones del mundo real

Active Scanning

  • El adversario sonde la infraestructura de la vísctima a través del tráfico de red: https://attack.mitre.org/techniques/T1595/
  • Herramienta popular: Nmap
  • Estas técnicas tienen dos objetivos:
    • Localizar sistemas “vivos”
    • Crear un perfil de cada sistema “vivo” para investigarlo
  • Tras un escaneo de Nmap deberíamos saber
    • Puertos abiertos
    • Servicios que se ejecutan tras esos puertos
    • Información extendida de ese servicio Cheat Sheet: Puertos comunes: Interpretando los resultados de Nmap: Si el objetivo tiene servicios HTTPS en ejecución, hay una serie de tools que podemos usar para enumerarlos:
  • Proxy Burp
  • dirb
  • dirbuster
  • Gobuster
  • Wpscan
  • Droopescan
  • Joomscan

Fichero robots.txt

  • Parte del Robot Exclusion Standard
  • A veces se usa para evitar que los motores de búsqueda indexen contenido privado

Listado de directorios

Tema 6 Introducción a la seguridad de aplicaciones

Principios de diseño de software seguro

  • Mínimo privilegio
  • Valores por defecto a prueba de fallos
  • Mediación completa
  • Separación
  • Confianza mínima
  • Economía de mecanismos
  • Minimizar mecanismos comunes
  • Menor asombro/sorpresa
  • Diseño abierto
  • Capas (principio de separación)
  • Abstracción
  • Modularidad
  • Vinculación completa
  • Diseño por iteraciones

Filosofía pushing left

  • Cuanto más tarde se descubra un problea de seguridad, más caro será solucionarlo

Requisitos de cifrado

  • Las claves y la información sensible nunca se guardan en texto plano
  • Se usan técnicas de hashing para claves
  • Para el resto de clases, usaremos algoritmos de cifrado/descifrado fuertes
  • Esto garantizará la integridad y confidencialidad de la información (no la disponibilidad)

Requisitos de manejo de datos

  • Nunca confíes en la entrada del usuario (toda entrada debe ser validada)
  • Privacidad de datos
  • Clasificación de datos

Posibles puntos de entrada de datos:

  • Cualquier entrada de usuario, cabeceras HTTP, campos hidden…
  • Información que se reciba de
    • SGBDs
    • APIs
    • Código incluído en la aplicación y compilado en ella
    • De otra aplicación
  • Valores en la URL, en las cookies, en los ficheros de configuración…
  • Datos o comandos que vengan de aplicaciones en la nube
  • Imágenes que recibas de otros sitios

MFA - Multi Factor Authentication

  • Los esquemas MFA se basan en que los usuarios den 2 de 3 “algos”:
    • Algo que SABEN, como una clave o PIN de una cuenta
    • Algo que TIENEN, como un dispositivo físico o una aplicación que genera OTPs
    • Algo que SON, una característica biológica única como una huella, la voz o la retina

Cuentas de servicio

  • Si una aplicación necesita acceder a un servicio externo, debe hacerlo a través de una cuenta de servicio (que no sea la de un usuario REAL capaz de hacer login)

Threat modeling (“evil brainstorming”)

  • Identificación de potenciales amenazas para un negocio, sistema, producto o aplicación
  • Brainstorming donde se piensan, buscan y definen los posibles peligros a los que nos podemos enfrentar

Dark patterns

  • Diseñar programas para engañar a los usuarios y que hagan cosas que no quieren hacer

Web languages vulnerabilities

Ataques típicos

Reflected XSS

Stored XSS

  • Es persistente
  • No tiene por qué conllevar una acción por parte de otros usuarios para afectarles

SQL Injection

CSRF (Cross Site Request Forgery)

  • Ataque que obliga a usuarios autenticados a ejecutar acciones no deseadas

Tema 7 Introducción a técnicas de Red Team

Valid Accounts - CEWL

  • Usar el tool CEWL para explorar una web y crear un diccionario de palabras de su contenido
  • Útil para nombres de usuario o contraseñas