Notebooks y paneles expuestos
Leerlo en el Capítulo 6 · checkpoint +50 XP →
Un servidor Jupyter sin token en 0.0.0.0 es ejecución remota de código para cualquiera que pueda alcanzarlo.
Jupyter está diseñado para ejecutar código arbitrario: esa es la idea. Con --ip=0.0.0.0 y la autenticación desactivada (token y contraseña vacíos), cualquiera que alcance el puerto puede ejecutar comandos como el usuario del notebook. Lo mismo aplica a muchos paneles de ML, trackers de experimentos e interfaces de inferencia.
Patrones más seguros
- Escucha en
127.0.0.1y accede con un túnel SSH o un gateway autenticado (JupyterHub con SSO). - Nunca desactives tokens ni contraseñas. Usa TLS cuando el tráfico salga del host.
- Pon firewall a los nodos de cómputo: solo las redes del planificador, de monitoreo y de administración deberían alcanzarlos.
- Ejecuta los notebooks dentro de asignaciones del planificador, para que tengan límite de tiempo y queden contabilizados.
Cómo detectarlo: ss -tlnp muestra listeners en 0.0.0.0. Los logs del servidor registran solicitudes desde IP inesperadas. El monitoreo de red señala conexiones entrantes a nodos de cómputo desde afuera.
Úsalo en una misión
Relacionado
Fuentes y lecturas adicionales
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.