MAATRIX / Блог / Безопасность локального ИИ на VPS: не отдать модель чужим

Безопасность локального ИИ на VPS: не отдать модель чужим

Блог MAATRIX · 2026-07-07

Подняв LLM на сервере, легко случайно открыть её API всему интернету — и оплачивать чужие запросы своим железом. Разбираем, как закрыть модель, оставив доступ только себе и своему приложению.

Главная угроза — открытый порт

['Ollama, llama.cpp и text-generation-webui по умолчанию поднимают HTTP-API. Если запустить их на 0.0.0.0 без фаервола, порт виден всему интернету. Боты сканируют такие порты за часы и начинают гонять запросы за твой счёт.', 'Проверь, что и на каком интерфейсе у тебя слушает:', "
ss -tulpn\nss -tulpn | grep -E '8080|11434|8888'
", 'Если видишь 0.0.0.0:11434 — API открыт наружу. Это надо чинить.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать защищённый VPS для ИИ

Слушать только localhost

['Правильный дефолт: LLM слушает 127.0.0.1, а наружу ничего не торчит. Приложение на том же сервере ходит к модели локально, а ты — через SSH-туннель.', '
# llama.cpp\n./llama-server -m model.gguf --host 127.0.0.1 --port 8080\n\n# Ollama — через переменную окружения\nexport OLLAMA_HOST=127.0.0.1:11434
', 'Для Ollama пропиши это в systemd-юните, чтобы сохранялось после перезагрузки:', '
systemctl edit ollama\n# [Service]\n# Environment="OLLAMA_HOST=127.0.0.1:11434"
']

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Фаервол как второй рубеж

['Даже если сервис случайно откроется, фаервол не пустит трафик. Настраиваем ufw по принципу «запрещено всё, кроме нужного»:', '
ufw default deny incoming\nufw default allow outgoing\nufw allow OpenSSH\nufw enable\nufw status verbose
', 'Порт LLM (8080, 11434) сюда сознательно не добавляем — доступ к модели только через SSH-туннель или локальное приложение.']

Если API всё-таки нужен наружу

['Иногда модель должна быть доступна внешнему приложению. Тогда не открывай голый порт — ставь nginx с авторизацией и HTTPS перед моделью:', '
apt install -y nginx apache2-utils\nhtpasswd -c /etc/nginx/.htpasswd apiuser
', '
location /v1/ {\n    auth_basic "AI API";\n    auth_basic_user_file /etc/nginx/.htpasswd;\n    proxy_pass http://127.0.0.1:8080/v1/;\n}
', 'Плюс сверху — сертификат через certbot и, по возможности, ограничение по IP клиента директивой allow/deny.']

Гигиена сервера

['
  • Обновляй систему: apt update && apt upgrade закрывает известные дыры.
  • Заходи по SSH-ключам, отключи вход по паролю и запрети root-логин.
  • Не храни API-токены и ключи Hugging Face в открытых файлах и истории bash.
  • Поставь fail2ban против перебора SSH.
', 'И держи бэкапы: если сервер скомпрометируют, важно откатиться на чистое состояние. У MAATRIX ежедневные бэкапы идут из коробки, а root-доступ позволяет настроить фаервол и systemd под себя без ограничений панели.', 'Отдельно про сами веса модели. Если ты дообучал модель на собственных данных, готовый адаптер или merged-модель — это интеллектуальная собственность, которую нельзя отдавать. Храни файлы моделей с правами доступа только для рабочего пользователя, не выкладывай их в публичные пути веб-сервера и не раздавай через открытые эндпоинты скачивания.', '
chown -R llm:llm /opt/models\nchmod -R 750 /opt/models
']

Частые ошибки

['
  • Запускают Ollama на 0.0.0.0 «чтобы приложение достучалось» — и открывают модель всему миру.
  • Полагаются только на фаервол панели хостинга, не настроив ufw на самом сервере.
  • Ставят basic-auth без HTTPS — пароль летит открытым текстом.
  • Оставляют Jupyter или веб-UI модели без пароля на публичном порту.
']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать защищённый VPS для ИИ

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Как понять, что моя LLM открыта наружу?

Выполните ss -tulpn и посмотрите на адрес. Если сервис слушает 0.0.0.0, он доступен из интернета. Должно быть 127.0.0.1.

Достаточно ли просто закрыть порт фаерволом?

Фаервол — надёжный рубеж, но лучше сочетать: слушать localhost плюс ufw плюс, если API нужен наружу, nginx с авторизацией и HTTPS.

Чем опасен открытый API модели?

Посторонние гоняют запросы на вашем железе, расходуя ресурсы и деньги, а в худшем случае используют сервер как прокси или площадку для атак.

Как дать доступ к модели своему приложению безопасно?

Если приложение на том же сервере — ходите на 127.0.0.1. Если снаружи — nginx с basic-auth или API-ключом поверх HTTPS и ограничением по IP.