eBPF está revolucionando la forma en que los administradores de sistemas supervisan y protegen sus infraestructuras. Permite obtener visibilidad profunda del kernel sin penalizar el rendimiento. En este artículo exploraremos qué es, por qué importa y cómo empezar a usarlo de forma práctica.
Introducción
En el mundo de la administración de sistemas, la capacidad de entender qué sucede “debajo del capó” siempre ha sido clave. Durante años hemos recurrido a herramientas como top, strace, tcpdump o perf para monitorizar y diagnosticar sistemas Linux en producción. Pero estos métodos tienen limitaciones: overhead elevado, poca granularidad o necesidad de reiniciar servicios críticos.
Aquí es donde entra en escena eBPF (Extended Berkeley Packet Filter). Lo que comenzó como una mejora para el filtrado de paquetes ha evolucionado hasta convertirse en un motor poderoso que permite ejecutar programas seguros dentro del kernel de Linux. Para los sysadmins, esto significa observabilidad de bajo nivel, seguridad avanzada y capacidad de automatizar respuestas… todo sin modificar el código de las aplicaciones ni comprometer la estabilidad.
Qué es eBPF y por qué debería importarte como sysadmin
Una breve definición
eBPF es un mecanismo que permite inyectar programas en distintos “hook points” del kernel de Linux —por ejemplo, al iniciar una syscall, al procesar un paquete de red o al ejecutar una función específica— para recolectar datos, aplicar políticas o realizar acciones sin modificar el kernel ni recompilar nada.
Por qué es relevante para administración de sistemas
- Observabilidad profunda: permite ver en tiempo real qué hacen procesos, redes y contenedores.
- Seguridad avanzada: se pueden aplicar políticas de control y detección directamente en el kernel.
- Rendimiento mínimo: eBPF está diseñado para operar sin overhead significativo.
- Integración nativa: funciona con distribuciones Linux modernas sin requerir agentes pesados.
Casos de uso comunes de eBPF para sysadmins
1. Observabilidad sin intrusiones
Imagina que necesitas saber qué procesos están realizando más llamadas a disco o red. Con herramientas tradicionales, esto puede implicar activar trazas costosas o reiniciar servicios. Con eBPF puedes adjuntar un programa a las syscalls de I/O y obtener estadísticas precisas en tiempo real.
Ejemplo práctico con bcc:
# Instalar bcc en Ubuntu/Debian
sudo apt install bpfcc-tools linux-headers-$(uname -r)
# Ver qué procesos están realizando lecturas intensivas
sudo execsnoop-bpfcc
execsnoop-bpfcc usa eBPF para rastrear llamadas exec() y mostrar procesos nuevos sin necesidad de reiniciar nada.
2. Seguridad y detección de anomalías
eBPF permite aplicar filtros sobre actividades sensibles. Por ejemplo, puedes detectar en tiempo real accesos a puertos inesperados o procesos que se inician desde rutas no autorizadas.
Ejemplo básico: monitorear conexiones salientes no estándar.
sudo tcptracer-bpfcc
Esto mostrará conexiones TCP en vivo directamente desde el kernel. Con un poco más de lógica, podrías enviar alertas si detectas actividad en puertos críticos.
3. Observabilidad en entornos containerizados
En infraestructuras modernas, muchos servicios corren en contenedores u orquestadores como Kubernetes. eBPF permite instrumentar estos entornos sin instalar agentes dentro de cada contenedor.
Por ejemplo, con Cilium (una plataforma basada en eBPF) puedes:
- Inspeccionar tráfico L3/L4 y L7 sin sidecars ni iptables complejos.
- Aplicar políticas de red y seguridad dinámicamente.
- Observar latencias y patrones de tráfico de microservicios.
Herramientas clave para trabajar con eBPF
bcc (BPF Compiler Collection)
Una colección de herramientas y librerías para escribir y ejecutar programas eBPF. Ideal para sysadmins que quieren explorar de forma práctica sin escribir C desde cero.
- Comandos populares:
execsnoop,opensnoop,tcptracer,runqlat,biolatency. - Ventaja: rápida curva de aprendizaje.
bpftrace
Inspirado en DTrace, permite escribir scripts de alto nivel para instrumentar eventos en el kernel y en el espacio de usuario. Ideal para diagnósticos complejos o personalizados.
Ejemplo: medir latencia de lecturas de disco:
sudo bpftrace -e 'tracepoint:block:block_rq_issue { @start[args->dev] = nsecs; }
tracepoint:block:block_rq_complete /@start[args->dev]/ {
@latency = hist((nsecs - @start[args->dev]) / 1000000);
delete(@start[args->dev]);
}'
Esto mostrará un histograma de latencias de I/O por dispositivo.
Cilium
Solución de networking y seguridad basada en eBPF para entornos cloud-native. Ideal si gestionas clusters de Kubernetes y quieres observabilidad y seguridad sin sidecars ni reglas iptables engorrosas.
- Visibilidad L3-L7.
- Observabilidad de servicios.
- Políticas zero-trust a nivel de red.
Falco + eBPF
Aunque Falco usa tradicionalmente módulos kernel, su integración con eBPF le permite monitorizar eventos de seguridad sin requerir drivers adicionales. Esto facilita la detección de comportamientos anómalos en tiempo real.
Ejemplo de alertas:
- Creación de shells interactivas inesperadas en contenedores.
- Cambios sospechosos en ficheros sensibles.
- Escalada de privilegios.
eBPF en acción: mini laboratorio práctico
A continuación, un ejemplo de cómo podrías usar eBPF en un entorno controlado para mejorar tu capacidad de respuesta como administrador:
1. Instalar herramientas necesarias
sudo apt update
sudo apt install bpfcc-tools bpftrace linux-headers-$(uname -r)
2. Observar procesos nuevos
sudo execsnoop-bpfcc
Verás en tiempo real qué procesos se lanzan, quién los lanza y con qué argumentos.
3. Observar latencias de disco
sudo biolatency-bpfcc
Obtendrás histogramas de latencias que te permiten detectar cuellos de botella en I/O.
4. Detectar conexiones inesperadas
sudo tcptracer-bpfcc
Esto te da visibilidad inmediata de conexiones salientes y entrantes.
Este tipo de observabilidad era impensable hace unos años sin afectar el rendimiento.
Con eBPF puedes hacer todo esto de forma segura, reversible y trazable.
Buenas prácticas al trabajar con eBPF
- Empieza pequeño: usa herramientas ya construidas antes de escribir tus propios programas.
- Evita el “over-instrumentation”: demasiados hooks pueden generar más datos de los que puedes analizar.
- Integra con tus pipelines de observabilidad existentes: por ejemplo, exportando métricas a Prometheus o Grafana.
- Automatiza alertas inteligentes: eBPF no es solo para diagnóstico manual; también puedes integrarlo con herramientas SIEM/SOC.
- Mantén tus kernels actualizados: muchas mejoras y hooks nuevos dependen de versiones recientes.
Conclusión: un cambio de paradigma silencioso
eBPF no es solo “una herramienta más”. Es una tecnología que cambia radicalmente cómo los sysadmins podemos observar, asegurar y optimizar sistemas Linux sin invadirlos. Su adopción está creciendo en empresas cloud-native, en plataformas de seguridad y observabilidad modernas, y cada vez más en infraestructuras tradicionales que buscan visibilidad sin fricciones.
Si trabajas administrando servidores Linux —on-premise, híbridos o en la nube— aprender eBPF te pondrá un paso adelante. No se trata de reemplazar tus herramientas, sino de potenciarlas con datos más precisos y sin comprometer la estabilidad de producción.
👉 CTA final: Reserva una tarde de laboratorio y experimenta con bcc y bpftrace. Una hora bastará para darte cuenta de que eBPF no es futurista: ya está aquí, y es parte del futuro de la administración de sistemas.

