Proteger instancias de Ollama autoalojadas contra el acceso no autenticado
Ollama carece de claves API nativas, lo que deja los servidores expuestos vulnerables a fugas de datos. Conozca cinco métodos para asegurar su infraestructura local de LLM para uso en equipo.
Traducido automáticamente del original en inglés.
Los servidores de modelos de lenguaje grandes (LLM) autoalojados son cada vez más comunes en entornos de desarrollo, pero las configuraciones predeterminadas a menudo carecen de controles básicos de seguridad. Un análisis reciente destaca que Ollama, una herramienta popular para ejecutar modelos localmente, no tiene un mecanismo de autenticación integrado, dejando miles de instancias expuestas a Internet público. Los equipos que comparten recursos de GPU deben implementar salvaguardas externas para prevenir el acceso no autorizado y la fuga de datos.
Qué ocurrió
Ollama escucha en localhost por defecto, lo cual es seguro para portátiles de usuario único. Los problemas surgen cuando los administradores cambian la configuración del host a 0.0.0.0 para permitir que los colegas accedan a un servidor central de GPU. Esta configuración abre todos los endpoints de la API a cualquiera que pueda alcanzar la dirección de red, incluyendo funciones para extraer, eliminar, crear y subir modelos. Sin autenticación, cualquier usuario conectado tiene control total sobre los recursos del servidor y los datos almacenados.
Investigadores de seguridad han documentado la escala de esta exposición. En enero, escaneos realizados por SentinelOne y Censys identificaron aproximadamente 175.000 servidores Ollama abiertos a Internet en 130 países. Casi la mitad de estas instancias alojaban modelos con capacidades de llamada a herramientas, aumentando el riesgo de abuso automatizado. La situación empeoró en mayo cuando Cyera divulgó CVE-2026-7482, conocido como Bleeding Llama. Esta vulnerabilidad permitía a los atacantes filtrar memoria del servidor, incluyendo variables de entorno y claves API, mediante dos solicitudes no autenticadas.
Aunque se lanzó una corrección en la versión 0.17.1 en febrero, muchos servidores permanecen sin parchear porque las notas de la versión no etiquetaron explícitamente la actualización como de seguridad. A partir de la versión 0.40.3 en octubre de 2026, Ollama todavía no incluye un sistema de claves API del lado del servidor. Los mantenedores han declarado que no planean añadir autenticación nativa, recomendando en su lugar que los usuarios confíen en redes privadas virtuales o proxies inversos para protección.
Detalles clave
- Ollama no tiene autenticación nativa de claves API, dependiendo del aislamiento de red para la seguridad.
- Se encontraron aproximadamente 175.000 servidores expuestos a Internet a principios de 2026.
- CVE-2026-7482 permitía la fuga de memoria mediante solicitudes de creación y subida de modelos no autenticadas.
- La vulnerabilidad fue corregida en la versión 0.17.1, pero la adopción sigue siendo inconsistente.
- Establecer
OLLAMA_HOST=0.0.0.0expone todos los endpoints de la API, incluidas operaciones destructivas. - Las reglas de publicación de puertos de Docker pueden anular configuraciones de firewall locales como ufw.
Contexto
Entender el riesgo requiere saber cómo maneja Ollama las conexiones de red. Por defecto, se vincula a 127.0.0.1, lo que significa que solo los procesos en la misma máquina pueden comunicarse con él. Cuando se cambia a 0.0.0.0, acepta conexiones desde cualquier interfaz de red. En entornos contenedorizados, Docker gestiona sus propias reglas de iptables, que pueden anular la configuración del firewall del host. Esto significa que una regla que deniega tráfico en el puerto 11434 podría no bloquear el acceso si el contenedor publica el puerto globalmente.
La vulnerabilidad Bleeding Llama explotaba endpoints específicos de la API que gestionan archivos de modelos. Al enviar un archivo GGUF manipulado al endpoint de creación y luego subirlo a un registro externo, los atacantes podían provocar lecturas de memoria que exponían datos sensibles. Este tipo de ataque es posible porque el servidor confía en cualquier solicitud entrante sin verificar la identidad o intención del remitente. Asegurar estos endpoints es crítico para cualquier configuración multiusuario.
Por qué importa
Para equipos que ejecutan su propio software, la falta de autenticación nativa crea riesgos operativos significativos. Sin controles de acceso a nivel de usuario, los administradores no pueden rastrear quién está usando los recursos de GPU ni limitar el consumo. Un script descontrolado o un actor malicioso puede monopolizar el hardware, interrumpiendo el trabajo de todos los demás. Además, la incapacidad de revocar el acceso para usuarios individuales significa que comprometer una credencial o dispositivo potencialmente compromete todo el servidor.
La privacidad de los datos es otra gran preocupación. Los servidores expuestos pueden filtrar código propietario, prompts internos y claves API almacenadas en variables de entorno. Para empresas que manejan datos sensibles de clientes o propiedad intelectual, esta exposición viola principios básicos de seguridad. Implementar controles de acceso adecuados asegura que solo el personal autorizado pueda interactuar con los modelos y que sus acciones sean auditables.
Qué puede hacer
- Verifique que su servidor no esté expuesto ejecutando un comando curl desde una red externa para comprobar listas de modelos.
- Actualice Ollama a la versión 0.17.1 o posterior para parchear vulnerabilidades conocidas de fuga de memoria.
- Use túneles SSH o Tailscale para equipos pequeños para mantener Ollama vinculado a localhost mientras permite el acceso remoto.
- Despliegue un proxy inverso como Caddy o Nginx para imponer autenticación basada en tokens y bloquear endpoints administrativos.
- Considere usar Open WebUI como front-end para gestionar cuentas de usuario y generar claves API por usuario.
- Evalúe soluciones de proxy dedicadas como LoLLMs Hub o LiteLLM para limitación de tasa avanzada y seguimiento de uso.
"En el corto plazo, no planeamos añadir un sistema de claves API al servidor Ollama en sí."
Sección de cierre:



