Cuestionario de seguridad en Runtime
Este cuestionario evalúa tu comprensión de Falco, Seccomp, AppArmor, la seguridad basada en eBPF y la seguridad en Runtime de EKS.
Preguntas del cuestionario
1. ¿Qué tecnología utiliza Falco para detectar amenazas en Runtime?
A. Análisis de paquetes de red B. Monitoreo de llamadas al sistema (syscall) C. Análisis de logs D. Escaneo de memoria
Mostrar respuesta
Respuesta: B. Monitoreo de llamadas al sistema (syscall)
Explicación: Falco utiliza eBPF o módulos del kernel para monitorear llamadas al sistema a nivel del kernel. Detecta actividades como la ejecución de procesos, el acceso a archivos y las conexiones de red en tiempo real.
2. ¿Cuál es la función principal de Seccomp?
A. Filtrado de tráfico de red B. Restringir las llamadas al sistema que puede realizar un proceso C. Cifrado del sistema de archivos D. Autenticación de usuarios
Mostrar respuesta
Respuesta: B. Restringir las llamadas al sistema que puede realizar un proceso
Explicación: Seccomp (Secure Computing Mode) restringe las llamadas al sistema que puede realizar un proceso mediante un enfoque de lista permitida. El proceso finaliza si intenta ejecutar una syscall no autorizada.
3. ¿Cuál es el perfil de Seccomp predeterminado recomendado en Kubernetes 1.27+?
A. Unconfined B. RuntimeDefault C. Localhost D. Docker/default
Mostrar respuesta
Respuesta: B. RuntimeDefault
Explicación: RuntimeDefault es el perfil de Seccomp predeterminado proporcionado por el runtime de contenedores (containerd, CRI-O):
securityContext:
seccompProfile:
type: RuntimeDefaultProporciona un nivel de seguridad adecuado para la mayoría de las cargas de trabajo.
4. ¿Cuál es el rol del campo priority en las reglas de Falco?
A. Determinar el orden de ejecución de las reglas B. Especificar el nivel de severidad de las alertas C. Establecer la cuota de recursos D. Establecer el período de retención de logs
Mostrar respuesta
Respuesta: B. Especificar el nivel de severidad de las alertas
Explicación: La priority en las reglas de Falco especifica la severidad de los eventos detectados:
- EMERGENCY, ALERT, CRITICAL, ERROR
- WARNING, NOTICE, INFORMATIONAL, DEBUG
- rule: Shell in Container
priority: WARNING5. ¿Qué ocurre en el modo complain de AppArmor?
A. Bloquea todo acceso B. Solo registra las violaciones de políticas C. Deshabilita el perfil D. Envía solo alertas
Mostrar respuesta
Respuesta: B. Solo registra las violaciones de políticas
Explicación: Modos de AppArmor:
- enforce: Bloquea y registra ante una violación de política
- complain: Solo registra ante una violación de política (para depuración)
- unconfined: No se aplica ningún perfil
El modo complain es útil para probar perfiles nuevos.
6. ¿Cuál NO es una amenaza detectada por Amazon GuardDuty EKS Runtime Monitoring?
A. Minería de criptomonedas B. Escalamiento de privilegios C. Problemas de calidad del código D. Intentos de escape de contenedor
Mostrar respuesta
Respuesta: C. Problemas de calidad del código
Explicación: Tipos de detección de GuardDuty EKS Runtime Monitoring:
- PrivilegeEscalation
- Execution (código malicioso)
- CryptoCurrency (minería)
- CredentialAccess
- DefenseEvasion
La calidad del código es un problema de calidad de desarrollo, no una amenaza de seguridad.
7. ¿Cuál es la función principal de Cilium Tetragon?
A. Escaneo de imágenes de contenedor B. Observabilidad de seguridad basada en eBPF C. Gestión de Network Policy D. Gestión de Secrets
Mostrar respuesta
Respuesta: B. Observabilidad de seguridad basada en eBPF
Explicación: Tetragon es la herramienta de observabilidad de seguridad basada en eBPF de Cilium:
- Monitoreo de ejecución de procesos
- Seguimiento de actividad de red
- Monitoreo de acceso a archivos
- Respuesta en tiempo real basada en políticas (por ejemplo, finalización de procesos)
8. ¿Qué condición detecta la ejecución de shell dentro de un contenedor en Falco?
A. container and shell_procs B. spawned_process and container and shell_procs C. exec and shell D. process.name = bash
Mostrar respuesta
Respuesta: B. spawned_process and container and shell_procs
Explicación: Ejemplo de regla de Falco:
- rule: Shell in Container
condition: >
spawned_process and
container and
shell_procs
output: "Shell spawned in container"
priority: WARNINGspawned_process significa creación de un proceso nuevo, container significa entorno de contenedor, y shell_procs significa procesos de shell (bash, sh, etc.).
9. ¿Cómo configuras un sistema de archivos raíz de solo lectura para un Pod?
A. readOnlyRootFilesystem: true B. rootfs: readonly C. filesystem.readonly: true D. immutableRoot: true
Mostrar respuesta
Respuesta: A. readOnlyRootFilesystem: true
Explicación:
securityContext:
readOnlyRootFilesystem: trueEsta configuración hace que el sistema de archivos raíz del contenedor sea de solo lectura, lo que impide que el código malicioso modifique archivos. Monta volúmenes emptyDir para las rutas que necesitan acceso de escritura.
10. ¿Qué significa la estrategia "Defense in Depth" en seguridad en Runtime?
A. Depender de una sola capa de seguridad B. Aplicar múltiples capas de seguridad superpuestas C. Centrarse solo en la defensa D. Proteger solo los límites externos
Mostrar respuesta
Respuesta: B. Aplicar múltiples capas de seguridad superpuestas
Explicación: Defense in Depth usa múltiples capas de seguridad:
- Tiempo de construcción: escaneo de imágenes, análisis de vulnerabilidades
- Tiempo de despliegue: Admission Control, PSS/PSA
- Runtime: Falco, Seccomp, AppArmor
Si se vulnera una capa, las demás capas proporcionan protección.
11. ¿Qué comando muestra el tráfico bloqueado por políticas en Hubble?
A. hubble observe --blocked B. hubble observe --verdict DROPPED C. hubble observe --denied D. hubble observe --policy-violation
Mostrar respuesta
Respuesta: B. hubble observe --verdict DROPPED
Explicación:
hubble observe --verdict DROPPED--verdict DROPPED filtra el tráfico denegado por las políticas de red. Puedes monitorear y analizar violaciones de políticas en tiempo real.
12. ¿Cuál NO es una buena práctica de seguridad en Runtime?
A. Aplicar RuntimeDefault Seccomp a todas las cargas de trabajo B. Desplegar Falco como DaemonSet en todos los nodos C. Ejecutar contenedores como root D. Usar un sistema de archivos raíz de solo lectura
Mostrar respuesta
Respuesta: C. Ejecutar contenedores como root
Explicación: Buenas prácticas de seguridad en Runtime:
- Aplicar RuntimeDefault Seccomp
- Desplegar Falco
- Sistema de archivos raíz de solo lectura
- Ejecutar como usuario no root (runAsNonRoot: true)
- Eliminar capacidades innecesarias
- Habilitar el monitoreo de Runtime de GuardDuty
Ejecutar como root es peligroso porque un escape del contenedor otorga privilegios elevados en el host.