Upload
datio-big-data
View
1.073
Download
1
Embed Size (px)
Citation preview
Jugando con tus atacantes
¿Quién soy?
Óscar J. PérezSeguridad en Big Data Fundador de Mad 4 Hacking
Índice
1
2
3
Sistemas de seguridad
WAF
OWASP
4
5
ModSecurity
A practicar
1. sistemas de seguridad
Protegiendo las máquinas
Historia de los Firewall
...La seguridad de las redes se basan en la segmentación de las redes realizadas por los routers
1988Aparece en documentación interna de DEC las primeras referencias sobre Firewall
1990Se crea el primer Firewall de uso interno creado por DEC conocido como “DEC SEAL”
1993se presenta el primer navegador “NCSA Mosaic” para unix
1994Check Point saca al mercado el primer firewall comercial bajo el nombre de FireWall-1
2007Palo alto saca a la venta el primer Next-Generation Firewall (NGFW)
Firewall
Estableciendo el Perímetro de seguridad
Firewall DMZ
Perímetro de Seguridad ampliado
Primera generación
○ Filtrado de paquetes (packet filter luego stateless)○ No verifican secuencia de trafico○ Dirección de origen/destino, el protocolo o el puerto○ Capas 1-3 OSI
– Ej. bloquear samba
Segunda generación
○ Cortafuegos de estado (stateful inspection)○ “inspección de estado de paquetes”○ Permite el “estado” de una conexión (nueva, activa, no existente)
Tercera generación
○ Cortafuegos de aplicación (application filtering)
○ Son mas lentos
○ Capa 7 OSI
○ Entiende el funcionamiento de varios protocolos
– EJ. Configurar para filtrar una palabra.
Cuarta generación
○ Firewalls de nueva generación (NGFW)○ Este nivel de control permite una mayor flexibilidad.○ Con mejoras: IDS, IPS, control granular.
– EJ. aplican reglas como "LinkedIn pero no Facebook"
“2016 Gartner cree que la adopción de firewalls virtuales
ha sido bastante lenta, prediciendo menos del 5%.
“Futuro "Rutime Application Self-Protection” (RASP)
sustituto de la mayoría de las tareas del firewall de red
2. WAFProtegiendo servicios HTTP
La evolución de las app
La revolución web
Link
Securizar aplicaciones WEB
○ Ciclo de Vida de Desarrollo de Software (SDLC)○ Pruebas de aplicaciones Web○ Web Application Firewall (WAF)
Diagrama de red clásico
El filtrado se realiza sobre los puertos de los servicios expuestos
Diagrama de red actual
Se accede a los servicios por un front-end web
Diagrama de red actual con WAF
Se añade una capa más de seguridad al añadir un WAF a la arquitectura de red
WAF vs Firewall
Trabajan en capas ISO diferentes complementándose
FuncionamientoWAF
Se controla el flujo tanto de subida como el de bajada
Clasificación de WAF Modelos de seguridad
Negativas
Se permite todas las peticiones denegando únicamente las identificadas como amenaza
Positiva
Se deniega todas las peticiones a no ser que estén identificadas como validas.
Características ventajas
Complementa al FWNo tiene que ser el sustituto del FW ya que se complementan uno al otro
Capa 7Analizan a nivel de capa de aplicación
Analiza, filtra y bloqueaEl tráfico del protocolo HTTP que gestionan los servicios web
ProtegeProtege de ataques como XSS, bots, SQL-injection, capture session, Trojans, session hijacking y mucho mas
Características ventajas
EspecializadoSistema centrado en tecnologías HTTP, protegiendo los puntos mas críticos de interacción con el usuario en internet
Logs completosGenera bitácoras detalladas de las transacciones HTTP
Evolución IDS/IPSSon más bien una evolución de los IDS/IPS que de los Firewal
Rompe TLSAl poder romper TLS tiene una ventaja clara frente a los IDS/IPS
Características desventajas
Test obligatorioRequiere de un periodo de pruebas y adecuación
Cuello de botellaPuede provocar problemas de cuello de botella
Cambio de reglasSi las aplicaciones web cambian puede que se requieraadecuar el WAF a los cambios
Latencia añadida Se añade latencia al sistema con el procesado de reglas. Por eso es muy importante solo aplicar las necesarias.
Arquitectura WAFEmbebido
los que se basan en el servidor de aplicaciones
Arquitectura WAFProxy
Son un elemento más de la red
Productos en el mercado.
Privativos
Sophos Imperva Trustwave Fortinet Akamai
Open Source
ModSecurity IronBee NAXSI WebKnight Shadow Daemon
3. OWASP
“OWASP El proyecto abierto de seguridad en aplicaciones
Web
“
OWASP ModSecurity CRS
CRS (Core Rule Set)
Reglas gratuitas para el WAF
OWASP ModSecurity CRS
- SQL Injection (SQLi)- Cross Site Scripting (XSS)
- Local File Inclusion (LFI)- Remote File Inclusion (RFI)- Remote Code Execution (RCE)- PHP Code Injection- HTTP Protocol Violations
- Shellshock- Session Fixation- Scanner Detection- Metadata/Error Leakages- Project Honey Pot Blacklist- GeoIP Country Blocking
CRS 2.2.x vs CRS 3.0.0
○ @detectSQLi y @detectXSS○ Reputación IP
– ID 981140
– ID 981175
Instalación y configuración de las máquinas con VagrantVagrant
A la consola
Vagrant
○ Herramienta gratuita de línea de comandos
○ Para Virtual box, VMware, Amazon EC2, LXC, DigitalOcean
○ Evitar el “en mi ordenador funciona”
Vagrant - Box
○ VM con SO instalado [paquetes extra]○ Añadir box vagrant box add {title} {url}○ Se guarda en ~/.vagrant.d/boxes○ Box descargador vagrant box list○ https://app.vagrantup.com/boxes/search
Vagrant - Comandos○ Vagrantfile○ vagrant init○ vagrant up○ vagrant ssh○ vagrant suspend → vagrant resume○ vagrant status○ !!!vagrant destroy!!!
Nota: el directorio local es compartido con /vagrant
Desplegar el entorno
A la consola
4. ModSecurityFirewalling las aplicaciones Web
“Known as the "Swiss Army Knife"
of WAFs
Características
Open sourceLicencia Apache versión 2.0
Motor de reglasMotor de reglas basado de perl versión 5
Servidor webSe puede instalar en:- IIS- Ngix - Apache
Reglas específicas- Joomla- Wordpress- Etc
Versión 2.9.1Futura versión 3.0
AntivirusSe puede configurar con motores antivirus (Ej. ClanAV)
Que puede hacer?
Real timeControl acceso y motorización en tiempo real, mecanismo de persistencia
Virtual patchingSistema de mitigación fuera de la capa de la aplicación
Full HTTP traffic loggingTiene la capacidad de registrar todo el flujo de datos tanto de subida como de bajada
Hardenig webPermite reducir la superficie expuesta por la app reduciendo funcionalidades HTTP sin uso request method|header ...
FlexibilidadNos permite realizar tareas más allá de ser una herramienta de seguridad
Fases
Tiene 5 fases.
Las reglas se pueden activar en una o varias fases.
Fases
1. Request_Header Después de leer las cabeceras de la petición
2. Request_BodySistema de mitigación fuera de la capa de la aplicación
3. Response_HeadersAntes de enviar las cabeceras de respuesta al cliente
4. Response_BodyAntes de enviar el cuerpo de la respuesta al cliente.Se pueden programar las reglas que impidan la fuga de información.
5. LoggingAntes de registrar la transacción.No se puede realizar ninguna acción, ya que la respuesta ya la tiene el cliente
Anatomía de una regla
Secrule VARIABLES OPERADORES [Func Trans] ACCIONES
Solo la acción id es obligatoria
SecRule REQUEST_HEADERS:User-Agent "MSIE 5.0" "phase:1,deny"
Variables
Identifica partes de una transacción HTTP para las reglas
Contienen RAW bytes de datos
Tipos Variables
Scalar variablesCollectionsRead-only collectionsRead/Write collectionsSpecial CollectionsPersistent Collections
REMOTE_ADDRARGS
TXXML
Operadores
Especifica como se va a analizar la variable
Solo uno por regla
Expresiones regulares es lo más habitual
@rx@contains@endsWith@streq
Transformaciones
Puede existir mas de una por regla
Cambia al input antes de la ejecución de la regla
Acciones
Especifica que tiene que hacer cuando una regla “matche”
allowblock (error page)deny (network errordropidmsg
Configuraciones
- SecDataDir- SecUploadDir- SecTmpDirss
- SecRequestBodyLimit- SecResponseBodyLimit
- SecRuleEngine- SecContentInjection- SecStreamOutBodyInspection- SecResponseBodyAccess - SecDisableBackendCompression- SecRequestBodyAccess
Audit log
A - audit log headerB - request headersC - request bodyD - intended response headerE - intended response bodyF - response headersG - response body
H - audit log trailerI - reduced multipart request body (C)
J - multipart files informationK - rules matched transaction
Z - audit log footer
Audit log estandar
A - audit log headerB - request headers
F - response headers
H - audit log trailerK - rules matched transactionZ - audit log footer
SecAuditLogParts
Instalación ModSecurity
- apt install apache2- apt-get install libapache2-modsecurity
- mv /etc/modsecurity/modsecurity.conf{-recommended,}- a2enmod headers- a2enmod proxy_http- systemctl restart apache2.service- a2enmod proxy_http
Primera prueba con ModSecurityModSecurity
A la consola
5. A practicarManos a la obra
Jugando con DVWADVWA
A la consola
A por los atacanteslos atacantes
A la consola