tu devop me da trabajo: soy auditor de seguridad

74
Tu DevOP me da trabajo: Soy auditor de seguridad Daniel García (cr0hn) - @ggdaniel MADRID · NOV 27-28 · 2015

Upload: daniel-garcia-aka-cr0hn

Post on 16-Apr-2017

1.978 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: Tu DevOp me da trabajo: Soy auditor de seguridad

Tu DevOP me da trabajo: Soy auditor de seguridad

Daniel García (cr0hn) - @ggdanielMADRID · NOV 27-28 · 2015

Page 2: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

<spam>Me</spam>

➡ Auditor de seguridad y hacking ético. ➡ Programador Python. ➡ Organizador de “saraos”. ➡ Creador de más de 15 herramientas de seguridad. ➡ Trabajo en Abirtone.

∘ Formación muy especializada. ∘ Asesoramiento. ∘ Herramientas de hacking a medida.

https://www.linkedin.com/in/garciagarciadaniel https://twitter.com/ggdaniel

Page 3: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

De que NO va esta charla

Page 4: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

De que NO va esta charla

Page 5: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

De que NO va esta charla

Page 6: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

De que NO va esta charla

Page 7: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

De que NO va esta charla

Page 8: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

¿ De qué va esta charla?

Fallos y “despiestes” que cometen muchos los sysadmin / DevOps y de

cómo se pueden mitigar.

Page 9: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Lo primero… ¿qué es un DevOP?

Page 10: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Lo primero… ¿qué es un DevOP?

Page 11: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Lo primero… ¿qué es un DevOP?

Page 12: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Lo primero… ¿qué es un DevOP?

Page 13: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Lo primero… ¿qué es un DevOP?

Page 14: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Page 15: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Servidores web

Page 16: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Banners (1/2)

➡ Exponen el servidor web y/o la versión que está corriendo en el servidor.

➡ Algunos exponen la tecnología de backend usada, y su versión.

➡ La versión del servidor en producción podría contener fallos públicos … o no públicos.

➡ Cuanta menos información ofrezcamos a un atacante mejor.

Page 17: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Banners (2/2)

Page 18: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Banners (2/2)

Page 19: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Banners (2/2)

Page 20: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Banners (2/2)

Page 21: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Banners (2/2)

Page 22: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Verbos HTTP

➡ Limitar a aquellos estrictamente necesarios. ➡ Desactivar verbos potencialmente peligrosos: ∘ CONNECT ∘ PATCH ∘ PUT ∘ TRACE ∘ DELETE

➡ Usar listas blancas para servir contenido dinámico.

Page 23: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Verbos HTTP

➡ Limitar a aquellos estrictamente necesarios. ➡ Desactivar verbos potencialmente peligrosos: ∘ CONNECT ∘ PATCH ∘ PUT ∘ TRACE ∘ DELETE

➡ Usar listas blancas para servir contenido dinámico.

Page 24: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Algoritmos de cifrado (1/2)

➡ SSL permite configurarle varios algoritmos de cifrado. ➡ Por defecto vienen activos todos, en la mayoría de las

distribuciones. ➡ No usar algoritmos de cifrado débiles.

∘ Nulos. ∘ Md5

➡ No usar algoritmos de cifrado criptográficamente comprometidos. ∘ RC4 ∘ *CBC*

Page 25: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Algoritmos de cifrado (2/2)

Page 26: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Algoritmos de cifrado (2/2)

Page 27: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Algoritmos de cifrado (2/2)

Page 28: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Instalaciones por defecto

Page 29: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Ficheros por defecto en el servidor

➡ Ficheros configuración en servidores de produccción. ➡ Ficheros de licencia, readme o agradecimientos. ➡ “Restos” de instalaciones guiadas. ➡ NO solo han de ser controladas en la instalación,

también en las actualizaciones. ➡ Protección con medidas genéricas: .htaccess

Page 30: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Ficheros por defecto en el servidor

➡ Ficheros configuración en servidores de produccción. ➡ Ficheros de licencia, readme o agradecimientos. ➡ “Restos” de instalaciones guiadas. ➡ NO solo han de ser controladas en la instalación,

también en las actualizaciones. ➡ Protección con medidas genéricas: .htaccess

Page 31: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Ficheros por defecto en el servidor

➡ Ficheros configuración en servidores de produccción. ➡ Ficheros de licencia, readme o agradecimientos. ➡ “Restos” de instalaciones guiadas. ➡ NO solo han de ser controladas en la instalación,

también en las actualizaciones. ➡ Protección con medidas genéricas: .htaccess

Page 32: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Aplicaciones de ejemplo

➡ Pueden dar información útil a un atacante. ➡ Pueden contener fallos de seguridad. ➡ Puede que hayan sido concebidas para ser instalas en

entornos de DESARROLLO únicamente. ➡ La documentación también es una “aplicación” por

defecto -> da información a un atacante.

Page 33: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Usuarios por defecto

Page 34: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Administración mal configurada

Page 35: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

SSH

➡ NO permitir versiones del protocolo obsoletas o vulnerables: SSHv1.

➡ Denegar el acceso root remoto. ➡ Limite de intentos de loging. ➡ Permitir solamente orígenes válidos, cuando sea

posible. ➡ Cambiar puerto por defecto.

Page 36: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Servicios olvidados

Page 37: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

RPCBind

➡ Servicio de soporte a otros servicios. ➡ Por defecto escucha en todas las interfaces. ➡ SAMBA / NFS usan RPC. ➡ Un atacante podría listar los procesos que están

usando el RPC y acceder a ellos: ∘ http://examples.oreilly.com/networksa/tools/

rpc_proxy.pdf

Page 38: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

RPCBind

➡ Servicio de soporte a otros servicios. ➡ Por defecto escucha en todas las interfaces. ➡ SAMBA / NFS usan RPC. ➡ Un atacante podría listar los procesos que están

usando el RPC y acceder a ellos: ∘ http://examples.oreilly.com/networksa/tools/

rpc_proxy.pdf

Page 39: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

CUPSD

➡ Servicio de impresión de *NIX. ➡ Activo por defecto en prácticamente todas las nuevas

distribuciones de Linux. ➡ Puede usarse para: ∘ Obtener usuarios del sistema. ∘ “Incordiar” enviando a imprimir información.

➡ Puede contener fallos de seguridad.

Page 40: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

DHCP

➡ SOLO debe de estar activo como CLIENTE en redes locales.

➡ En servidores debería ser desactivado -> nuestro proveedor nos proporcionará una IP pública estática.

➡ Existen numerosas formas de atacar a un cliente DHCP: ∘ Envió de información falsa y modificación de

configuración de red.

Page 41: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Servicios abiertos

Page 42: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Escucha en todas interfaces

➡ No todos los servicios han de escuchar en todas las interfaces.

➡ Las BBDD de datos no deberían de estar públicas. ➡ Los contenedores de aplicaciones deberían de

apoyarse en un frontal para servir contenido.

Page 43: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Broking / mensajería (1/2)

➡ Usados para distribución de carga.

➡ Escuchan en todas las interfaces, por defecto.

➡ Que no usen un protocolo “user-friendly” no implica que se pueda extraer contenido de ellos.

Page 44: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Broking / mensajería (2/2)

Page 45: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Broking / mensajería (2/2)

Page 46: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Broking / mensajería (2/2)

Page 47: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

MongoDB

➡ Expuesta al público para consumirse directamente su información.

➡ Comprobar privilegios. ➡ Conexiones por segundo. ➡ Securizar la conexión. ➡ Restringir acceso a información.

Page 48: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

MongoDB

➡ Expuesta al público para consumirse directamente su información.

➡ Comprobar privilegios. ➡ Conexiones por segundo. ➡ Securizar la conexión. ➡ Restringir acceso a información.

Page 49: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Cachés

Page 50: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Memcache

➡ No implementa autenticación. ➡ Fue intentada para rendimiento, no para seguridad. ➡ Que no esté expuesta a internet, no implica que no se

pueda acceder a ella -> a través de un fallo en la aplicación que la usa.

➡ Separar almacenes de información por aplicación.

Page 51: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Redis

➡ Uno de sus principales usos es el de caché. ➡ Sistema clave/valor. ➡ Almacenes de información compartidos y sin

autenticación, por defecto. ➡ Tiene un lenguaje propio de consulta -> susceptible de

ataques de inyección.

Page 52: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Rendimiento

Page 53: Tu DevOp me da trabajo: Soy auditor de seguridad
Page 54: Tu DevOp me da trabajo: Soy auditor de seguridad

Un chiste de descanso

Page 55: Tu DevOp me da trabajo: Soy auditor de seguridad

Un chiste de descanso

Page 56: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Bases de datos

Page 57: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Roles y credenciales

➡ Las credenciales: root/root … no es una una contraseña segura.

➡ Limitar acceso de administración al sistema local. ➡ No exponer una base de datos a internet. ➡ Cambiar el puerto por defecto, cuando sea posible.

Page 58: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Restricción de accesos

➡ Limitar el acceso de los usuarios: ∘ Acceso a bases de datos. ∘ Acceso a tablas. ∘ Operaciones en tablas / bases de datos. ∘ Operaciones en tablas.

➡ Limitar el acceso a funciones propias del motor ∘ Funciones de acceso al S.O. ∘ Funciones críticas o cuyo uso es muy restringido.

Page 59: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

“Scripts” vulnerables

Page 60: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Fallos de seguridad en código

➡ CUIDADO con los “scripts rápidos”. ∘ Se suelen dejar olvidados en el servidor. ∘ No se suelen protegen.

➡ SQL Injection / Cross Site Scripting (XSS) -> te podría pasar a ti.

➡ Log inyection: muy usado para ocultar el rastro.

Page 61: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Sistema operativo

Page 62: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Algoritmos de cifrado

MD5 / SHA1 son algoritmos de cifrado “rotos” -> se pueden encontrar colisiones con

relativa facilidad.

Page 63: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Políticas de contraseñas

➡ Cuidado con las políticas de contraseñas y los usuarios: ∘ Contraseñas muy cortas -> crakeable con software. ∘ Contraseñas muy largar y con cambios muy

habituales….

Page 64: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Políticas de contraseñas

➡ Cuidado con las políticas de contraseñas y los usuarios: ∘ Contraseñas muy cortas -> crakeable con software. ∘ Contraseñas muy largar y con cambios muy

habituales….

Page 65: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Comandos del sistema operativo

➡ En producción NUNCA deberían de estar disponibles ciertos comandos / aplicaciones: ∘ gcc ∘ hex ∘ netcat ∘ hexedit ∘ sudo…

Page 66: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Protocolo de red “inofensivos”

➡ ICMP ∘ Alerta de la presencia en la red. ∘ Si se necesita, f i ltrar por

orígenes válidos. ∘ No permitir todos los tipos.

Page 67: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Protocolo de red “inofensivos”

➡ ICMP ∘ Alerta de la presencia en la red. ∘ Si se necesita, f i ltrar por

orígenes válidos. ∘ No permitir todos los tipos.

Page 68: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

IPv6

➡ Activo por defecto en todos los sistemas. ➡ Prácticamente un desconocido. ➡ Su filtrado en firewalls tiene que ser activado

expresamente -> reglas para IPv4 NO son compatibles con IPv6 (la mayoría).

➡ Los IDS tienen que ser activados y configurados para detectar ataques de IPv6.

➡ Existen DECENAS de ataques.

Page 69: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Kernel (1/2)

➡ Los módulos no usados pueden contener fallos. ➡ Cualquier módulo puede cargarse. ➡ Por defecto, están activos muchos protocolos no

usados: SCTP. ➡ Compilaciones sin medidas de protección anti-exploits. ➡ Soluciones: ∘ Kernel monolíticos. ∘ Firmar los módulos

Page 70: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Kernel

Kernel (2/2)

https://wiki.gentoo.org/wiki/Signed_kernel_module_support

Page 71: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Kernel

Kernel (2/2)

https://wiki.gentoo.org/wiki/Signed_kernel_module_support

Page 72: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Kernel

Kernel (2/2)

https://wiki.gentoo.org/wiki/Signed_kernel_module_support

Page 73: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

Kernel

Kernel (2/2)

https://wiki.gentoo.org/wiki/Signed_kernel_module_support

Page 74: Tu DevOp me da trabajo: Soy auditor de seguridad

MADRID · NOV 27-28 · 2015

¿Dudas o preguntas?

¡Gracias!