Безопасность локального ИИ на VPS: не отдать модель чужим
Подняв 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.
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.