SeguridadRuta Seguridad

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.1 y 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.