
eBPF se ha convertido en una de las tecnologías más importantes del ecosistema Linux moderno. Permite observar, medir y extender el comportamiento del kernel de Linux de forma segura, eficiente y sin tener que modificar el código fuente del kernel ni cargar módulos tradicionales.
Para administradores de sistemas, equipos DevOps, SRE, ciberseguridad y plataformas cloud native, eBPF abre una nueva forma de entender lo que ocurre dentro del sistema operativo: procesos, llamadas al sistema, red, contenedores, latencia, tráfico, acceso a archivos, seguridad runtime y comportamiento de aplicaciones.
En lugar de depender solo de logs o agentes pesados, eBPF permite obtener señales directamente desde el kernel. Por eso se usa en herramientas modernas como Cilium, bpftrace, BCC, Falco, Tetragon y muchas plataformas de observabilidad y seguridad.
Idea clave: eBPF permite observar y actuar dentro del kernel Linux con bajo impacto, lo que mejora rendimiento, observabilidad, redes, seguridad y análisis de contenedores sin cambiar el kernel ni recompilar aplicaciones.
¿Qué es eBPF?
eBPF, o extended Berkeley Packet Filter, es una tecnología del kernel de Linux que permite ejecutar pequeños programas verificados dentro del kernel. Estos programas pueden engancharse a eventos del sistema, como llamadas al sistema, paquetes de red, funciones del kernel, eventos de contenedores o puntos de trazado.
Lo importante es que eBPF no funciona como un script cualquiera. Antes de ejecutarse, el programa pasa por un verificador que revisa que cumpla reglas de seguridad. Esto reduce el riesgo de bloquear el sistema, acceder a memoria no permitida o ejecutar lógica peligrosa.
eBPF permite:
- Observar el kernel sin modificarlo.
- Medir rendimiento en tiempo real.
- Analizar red con alta eficiencia.
- Detectar comportamientos sospechosos en procesos y contenedores.
- Mejorar visibilidad en Kubernetes y plataformas cloud native.
- Crear herramientas de monitoreo más cercanas al sistema operativo.
¿Por qué eBPF es tan importante en Linux?
Linux siempre ha ofrecido herramientas potentes para diagnóstico: logs, top, htop, strace, tcpdump, perf, netstat, ss, auditd y muchas más. El problema es que los entornos actuales son más complejos: microservicios, contenedores, Kubernetes, tráfico cifrado, múltiples procesos, APIs internas, nodos dinámicos y aplicaciones distribuidas.
eBPF ayuda porque permite obtener información profunda sin detener servicios, sin recompilar aplicaciones y sin depender únicamente de logs generados por la aplicación. Esto lo convierte en una tecnología clave para observabilidad moderna, seguridad runtime y redes cloud native.
| Área | Qué aporta eBPF |
|---|---|
| Rendimiento | Permite medir latencia, llamadas al sistema, uso de CPU, bloqueos, I/O y cuellos de botella. |
| Observabilidad | Proporciona señales desde kernel, procesos, red, contenedores y aplicaciones. |
| Seguridad | Ayuda a detectar procesos anómalos, accesos sospechosos, ejecución inesperada y eventos runtime. |
| Redes | Mejora visibilidad, filtrado, políticas, balanceo y conectividad en entornos modernos. |
| Kubernetes | Permite seguridad, observabilidad y red avanzada para cargas cloud native. |
Cómo funciona eBPF de forma sencilla
El flujo básico de eBPF se puede explicar en cuatro pasos:
- Se escribe un programa eBPF para observar o actuar sobre un evento.
- El verificador del kernel lo revisa antes de permitir su ejecución.
- El programa se engancha a un punto del sistema, como una syscall, tracepoint, socket o evento de red.
- Los datos se envían a espacio de usuario mediante mapas, buffers o herramientas que muestran resultados.
El usuario normalmente no escribe eBPF desde cero. Usa herramientas como bpftrace, BCC, Cilium, Falco o Tetragon, que ya aprovechan eBPF internamente.
Herramientas principales para empezar con eBPF
| Herramienta | Uso principal | Nivel |
|---|---|---|
| bpftrace | Trazado rápido, observabilidad y diagnóstico interactivo. | Intermedio. |
| BCC | Colección de herramientas para análisis de rendimiento, I/O, red y procesos. | Intermedio a avanzado. |
| bpftool | Inspección de programas, mapas y capacidades eBPF del sistema. | Avanzado. |
| Cilium | Red, seguridad y observabilidad para Kubernetes con eBPF. | Empresarial / Kubernetes. |
| Falco | Detección de amenazas runtime en hosts, contenedores y Kubernetes. | Seguridad. |
| Tetragon | Observabilidad de seguridad y enforcement runtime basado en eBPF. | Seguridad avanzada. |
Paso 1: verificar si tu Linux soporta eBPF
La mayoría de distribuciones Linux modernas soportan eBPF, pero las capacidades exactas dependen del kernel, configuración, permisos, distribución y herramientas instaladas.
Instala herramientas básicas en Debian, Ubuntu o derivados:
En Fedora, Rocky Linux, AlmaLinux o RHEL:
Verifica capacidades con bpftool:
Consejo: muchas herramientas eBPF requieren privilegios elevados. Úsalas en servidores propios, entornos autorizados o laboratorios controlados.
Paso 2: usar bpftrace para observabilidad rápida
bpftrace es una de las formas más sencillas de empezar. Permite escribir comandos cortos para observar eventos del sistema en tiempo real.
Ver qué procesos ejecutan comandos nuevos:
Contar llamadas de apertura de archivos por proceso:
Estos ejemplos permiten observar actividad real del sistema sin modificar aplicaciones. Son útiles para diagnóstico, aprendizaje y análisis puntual.
Paso 3: usar herramientas BCC para rendimiento
BCC incluye herramientas listas para analizar rendimiento, procesos, red, disco y llamadas al sistema. Son muy útiles cuando necesitas diagnosticar un servidor Linux en producción con cuidado.
| Herramienta BCC | Qué permite observar |
|---|---|
| execsnoop | Procesos que se ejecutan en tiempo real. |
| opensnoop | Archivos abiertos por procesos. |
| tcpconnect | Conexiones TCP iniciadas por procesos. |
| biolatency | Latencia de operaciones de bloque o disco. |
| runqlat | Latencia en cola de CPU. |
Ejemplos prácticos:
Nota: en algunas distribuciones los comandos pueden aparecer sin el sufijo -bpfcc, por ejemplo execsnoop u opensnoop.
Cómo eBPF mejora el rendimiento
eBPF no “acelera mágicamente” cualquier servidor. Su valor está en permitir medir con precisión dónde está el problema. Sin medición, el equipo suele adivinar: CPU, disco, red, base de datos, aplicación o kernel. Con eBPF, el diagnóstico puede ser más directo.
Casos de uso en rendimiento
- Detectar procesos que crean demasiadas conexiones.
- Medir latencia de disco y operaciones de I/O.
- Observar llamadas al sistema costosas.
- Identificar cuellos de botella en red.
- Analizar colas de CPU y saturación.
- Entender qué proceso abre archivos o ejecuta comandos.
- Diagnosticar problemas intermitentes difíciles de capturar con logs.
El beneficio real aparece cuando eBPF se combina con buenas prácticas: dashboards, alertas, capacidad histórica, revisión de cambios, pruebas de carga y análisis de causa raíz.
Cómo eBPF mejora la observabilidad
La observabilidad busca entender el estado interno de un sistema a partir de sus señales. eBPF permite obtener señales que antes eran difíciles, costosas o demasiado invasivas.
| Señal | Cómo ayuda eBPF |
|---|---|
| Métricas | Obtiene datos de kernel, red, procesos y contenedores con bajo overhead. |
| Eventos | Captura ejecución de procesos, conexiones, acceso a archivos y cambios relevantes. |
| Red | Permite observar flujos, políticas, latencia, DNS y tráfico entre servicios. |
| Contenedores | Relaciona eventos del kernel con contenedores, pods y namespaces. |
En Kubernetes, esta visibilidad es especialmente valiosa porque las cargas cambian constantemente. Los pods nacen, mueren, se reprograman y se comunican entre sí. eBPF ayuda a observar esa dinámica desde el kernel.
eBPF en redes y Kubernetes con Cilium
Cilium es una de las implementaciones más conocidas de eBPF en entornos cloud native. Se utiliza para red, seguridad y observabilidad en Kubernetes y plataformas de contenedores.
Cilium puede ayudar en:
- Conectividad entre pods y servicios.
- Políticas de red más avanzadas.
- Observabilidad de tráfico entre workloads.
- Seguridad basada en identidad.
- Reducción de complejidad en plataformas Kubernetes.
- Visibilidad de comunicación entre microservicios.
Para empresas que usan Kubernetes, Cilium permite convertir eBPF en una capacidad operativa real: no solo diagnóstico, sino red, seguridad y observabilidad integradas.
Cómo eBPF mejora la seguridad
En seguridad, eBPF permite observar eventos en tiempo de ejecución. Esto es importante porque muchas amenazas no se detectan solo revisando imágenes de contenedor, dependencias o configuraciones. Algunas aparecen cuando la aplicación ya está corriendo.
Eventos que conviene observar
- Ejecución inesperada de shells.
- Procesos lanzados desde rutas temporales.
- Conexiones salientes inusuales.
- Acceso a archivos sensibles.
- Cambios en binarios o configuraciones críticas.
- Contenedores que ejecutan procesos no previstos.
- Intentos de escalar privilegios.
- Actividad anómala en Kubernetes.
Herramientas como Falco y Tetragon usan capacidades del kernel y eBPF para detectar comportamientos sospechosos en hosts, contenedores y Kubernetes. Esto complementa otras capas como hardening, escaneo de vulnerabilidades, SIEM, logs y políticas de admisión.
Falco: detección runtime
Falco se enfoca en detección de amenazas runtime. Puede generar alertas cuando observa comportamientos que incumplen reglas, como shells inesperadas, actividad sospechosa de archivos, ejecución de procesos no esperados o eventos anómalos en contenedores.
Falco es útil para:
- Seguridad en contenedores.
- Detección de comportamientos anómalos.
- Alertas en tiempo real.
- Monitoreo runtime de Kubernetes.
- Cumplimiento de reglas de seguridad operativa.
Falco no reemplaza al hardening ni al control de accesos. Su función es detectar lo que ocurre cuando el sistema ya está en ejecución.
Tetragon: observabilidad de seguridad y enforcement
Tetragon es una herramienta enfocada en observabilidad de seguridad y enforcement runtime basada en eBPF. Es especialmente interesante para entornos Kubernetes porque puede relacionar eventos del sistema con contexto de pods, procesos y políticas.
Tetragon puede ayudar a:
- Observar ejecución de procesos.
- Detectar cambios de privilegios o namespaces.
- Aplicar políticas runtime.
- Relacionar eventos con Kubernetes.
- Apoyar auditoría, cumplimiento y respuesta a incidentes.
En plataformas empresariales, Tetragon puede ser una capa valiosa para entender qué ocurre dentro de los nodos y contenedores sin depender solo de logs de aplicación.
Buenas prácticas al usar eBPF
eBPF es poderoso, pero debe utilizarse con disciplina. No conviene ejecutar cualquier script descargado sin revisión, especialmente en servidores productivos.
Recomendaciones importantes
- Usa herramientas mantenidas y conocidas.
- Prueba primero en laboratorio.
- Ejecuta comandos con privilegios solo cuando sea necesario.
- No uses scripts eBPF de origen desconocido en producción.
- Documenta qué herramienta se ejecutó, cuándo y por qué.
- Monitorea el impacto de herramientas de trazado en sistemas críticos.
- Integra eBPF con observabilidad, no como herramienta aislada.
- Define responsables para alertas de seguridad runtime.
Errores comunes
Evita estos errores
- Creer que eBPF reemplaza todos los logs.
- Ejecutar herramientas sin entender qué observan.
- Usar eBPF en producción sin pruebas previas.
- No controlar permisos de usuarios que pueden cargar programas eBPF.
- Confundir observabilidad con seguridad completa.
- Instalar muchas herramientas sin estrategia.
- No integrar alertas con un proceso de respuesta.
- No revisar compatibilidad del kernel y la distribución.
Ruta práctica para aprender eBPF
| Nivel | Qué aprender |
|---|---|
| Inicial | Conceptos de kernel, procesos, syscalls, red y permisos Linux. |
| Práctico | bpftrace, BCC, execsnoop, opensnoop, tcpconnect y biolatency. |
| Observabilidad | Prometheus, Grafana, trazas, métricas, logs y correlación de eventos. |
| Kubernetes | Cilium, Hubble, políticas de red y observabilidad cloud native. |
| Seguridad | Falco, Tetragon, runtime security, detección de procesos y respuesta. |
| Avanzado | Desarrollo de programas eBPF, mapas, verifier, CO-RE, libbpf y bpftool. |
Checklist de implementación empresarial
- Verificar kernel, distribución y soporte eBPF.
- Instalar bpftrace, BCC y bpftool en laboratorio.
- Crear procedimientos para diagnóstico de rendimiento.
- Definir qué eventos deben monitorearse en producción.
- Usar Cilium si la plataforma Kubernetes requiere red, seguridad y observabilidad avanzadas.
- Evaluar Falco o Tetragon para seguridad runtime.
- Integrar alertas con SIEM, tickets o canales operativos.
- Controlar quién puede ejecutar herramientas eBPF con privilegios.
- Documentar hallazgos, tiempos de respuesta y acciones correctivas.
- Revisar periódicamente compatibilidad y actualizaciones del kernel.
Preguntas clave
¿eBPF es solo para expertos del kernel?
No. Desarrollar programas eBPF sí requiere conocimiento avanzado, pero usar herramientas como bpftrace, BCC, Cilium, Falco o Tetragon está al alcance de administradores Linux, DevOps y equipos de seguridad con práctica progresiva.
¿eBPF reemplaza a Prometheus, Grafana o logs?
No. eBPF complementa la observabilidad. Puede generar señales muy valiosas, pero todavía necesitas métricas, logs, dashboards, alertas, trazas y procesos de respuesta.
¿eBPF puede afectar el rendimiento?
Puede tener bajo impacto si se usa correctamente, pero cualquier herramienta de trazado debe probarse y medirse. Consultas demasiado amplias o mal diseñadas pueden generar carga innecesaria.
¿Necesito eBPF en servidores tradicionales?
Sí puede ser útil para diagnóstico de rendimiento, análisis de red, observabilidad y seguridad. Su valor aumenta en entornos con contenedores, microservicios y Kubernetes.
¿Cilium es obligatorio para usar eBPF?
No. Cilium es una plataforma que usa eBPF para redes, seguridad y observabilidad en Kubernetes, pero puedes usar eBPF con bpftrace, BCC, Falco, Tetragon u otras herramientas.
¿eBPF mejora la seguridad automáticamente?
No automáticamente. eBPF mejora la visibilidad y permite detectar eventos runtime, pero requiere reglas, alertas, responsables, análisis y respuesta organizada.
¿Cuál es la mejor forma de empezar?
Empieza en un laboratorio Linux con bpftrace y BCC. Luego aplica casos concretos: procesos, archivos, conexiones, latencia de disco y seguridad runtime. Después evalúa Cilium, Falco o Tetragon según tu entorno.
Recomendamos
- Cómo implementar monitoreo y observabilidad en infraestructuras Linux empresariales
- Qué es DevOps y cómo Linux se convierte en la base de la automatización moderna
- Cómo proteger un servidor Linux contra ransomware y amenazas modernas
- Cómo construir una infraestructura tecnológica 100% con software libre
En resumen
eBPF permite mejorar el rendimiento, la observabilidad y la seguridad en Linux al proporcionar una forma moderna de obtener información directamente desde el kernel. Su valor está en la visibilidad profunda, el bajo impacto y la capacidad de integrarse con herramientas de diagnóstico, redes, Kubernetes y seguridad runtime.
Para rendimiento, eBPF ayuda a encontrar cuellos de botella en CPU, I/O, red y procesos. Para observabilidad, permite capturar señales del sistema que los logs tradicionales no siempre muestran. Para seguridad, permite detectar comportamientos sospechosos en hosts, contenedores y Kubernetes.
La mejor estrategia es avanzar gradualmente: aprender con bpftrace y BCC, aplicar casos de diagnóstico reales, integrar herramientas como Cilium, Falco o Tetragon cuando el entorno lo requiera, y siempre operar con control, permisos adecuados y documentación.
Conclusión editorial
eBPF está cambiando la forma de administrar Linux. Para empresas, administradores y equipos DevSecOps, representa una oportunidad para pasar de una operación reactiva a una operación basada en evidencia profunda, seguridad runtime y observabilidad moderna.

