SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Как безопасно установить Agent Zero на VPS

Пошаговое руководство по развертыванию Agent Zero в Docker. Узнайте, как ограничить доступ к веб-интерфейсу и защитить систему от несанкционированного выполнения shell-команд.

Что такое Agent Zero и в чем заключается опасность

Agent Zero — это фреймворк для агентов с открытым исходным кодом, ориентированный на работу в Docker. Основной агент может создавать подчиненных агентов, чтобы разбивать задачу на узкоспециализированные части. Агенты могут выполнять код, управлять браузером и запускать shell-команды — всё это внутри контейнера Agent Zero Docker. Вы управляете всей системой через веб-интерфейс. Это функциональный и действительно интересный в использовании инструмент, который работает даже на оборудовании уровня VPS за 6 долларов. Если вам нужна именно многоагентная архитектура, а не сам фреймворк, две сессии Claude Code на одном узле могут напрямую обмениваться сообщениями, что гораздо проще в запуске и обеспечении безопасности.

Опасность заключается в веб-интерфейсе. Это панель управления системой, которая выполняет команды и записывает файлы, поэтому открытый веб-интерфейс без аутентификации является удаленным плацдармом для доступа к этой системе. И вот ловушка, в которую вас ведут большинство руководств по настройке: примеры docker run публикуют интерфейс без указания адреса. По состоянию на 2026-10-12 прямая команда из README пробрасывает хостовый порт 80 (-p 80:80), установщик A0 использует порт 5080, руководство по развертыванию на VPS рекомендует 50080, а руководства, написанные для релизов вплоть до ветки v0.9.x, используют порт 50001. Какой бы порт вы ни выбрали, проброс без указания адреса заставляет сервис слушать все сетевые интерфейсы. На публичном VPS это означает, что он доступен из всего интернета сразу после запуска контейнера. Исправление этого — первое, что вы должны сделать, а не последнее.

Что вам потребуется

Вам понадобится VPS с установленным Docker, API-ключ для языковой модели или локальная модель, к которой можно обратиться, а также пара гигабайт оперативной памяти для запуска. Agent Zero работает везде, где есть Docker: от небольшого VPS до сервера с GPU. Если вы новичок в Docker, руководство по основам Docker содержит информацию, необходимую для понимания приведённых ниже команд.

Установка через Docker с привязкой к loopback

Документированный быстрый старт представляет собой одну команду docker run. Важное отличие от версии «скопировал-вставил», которую вы найдете в других местах, заключается в адресе, на котором вы публикуете сервис. Не публикуйте его на всех интерфейсах, как это делает -p 80:80. Выполняйте публикацию на loopback:

docker run -d --name agent-zero \
  -p 127.0.0.1:5080:80 \
  -v a0_usr:/a0/usr \
  agent0ai/agent-zero

-p 127.0.0.1:5080:80 привязывает веб-интерфейс только к адресу loopback сервера, поэтому он недоступен из интернета. Получите доступ к нему со своей машины через SSH-туннель:

ssh -L 5080:127.0.0.1:5080 you@your-vps

Затем откройте http://127.0.0.1:5080 локально, настройте провайдера моделей в интерфейсе и установите логин и пароль для UI в разделе Settings, Authentication. Официальная документация рекомендует сделать это до того, как вы откроете доступ к экземпляру кому-либо еще. Для постоянной многопользовательской настройки разместите сервис за VPN или аутентифицирующим reverse proxy, но никогда не публикуйте «сырой» UI в открытый интернет. Эту привычку стоит применять к любому другому инструменту на сервере, чей интерфейс управляет чем-то конфиденциальным. Именно так следует обращаться к самохостируемому сканеру open-kritt — через туннель к его UI, а не через опубликованный порт.

Где заканчиваются другие руководства и почему вам не стоит останавливаться

Поиск информации об установке Agent Zero выдаст множество руководств, включая инструкции от хостинг-провайдеров, которые доводят вас до работающего Web UI на опубликованном порту (50001 в старых версиях, 80, 5080 или 50080 в новых) и на этом завершаются. Именно здесь риски только начинаются, а не заканчиваются. Чтобы завершить настройку, нужно сделать две вещи. Во-первых, ограничьте доступ к интерфейсу, как описано выше. Во-вторых, установите перед сервером межсетевой экран с политикой default-deny, чтобы сервис, о котором вы забыли, не отвечал на запросы из Интернета:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

Однако помните об ограничениях: Docker маршрутизирует трафик для опубликованных портов контейнеров до того, как применяются правила UFW, поэтому межсетевой экран не защищает порт контейнера, опубликованный на всех интерфейсах. Именно поэтому важна привязка к loopback, описанная выше, а в как порты Docker обходят UFW объясняются детали. Изучите основы работы с межсетевым экраном для получения полной картины и учитывайте проблему IPv6, поскольку сервис на :: доступен по протоколу IPv6, даже если ваши правила для IPv4 кажутся надежными.

Изоляция контейнеров защищает агентов, а не ваш сервер

Архитектура Agent Zero обеспечивает эффективную изоляцию одного типа: фреймворк и все запускаемые им агенты работают внутри Docker-контейнера, а не напрямую на хосте. Код, который они пишут и исполняют, попадает в контейнер, а не в ваш домашний каталог. Это полезная функция. Подчиненные агенты используют один контейнер вместе с основным агентом, поэтому граница проходит между агентами и вашим хостом, а не между самими агентами. Легко принять это за «песочницу» и решить, что вы в безопасности. Изоляция контейнеров удерживает результаты работы агентов в стороне от хоста. Она не защищает ваш сервер от угроз из Интернета и не мешает злоумышленнику получить контроль через открытый Web UI. Это ваша задача на уровне хоста. Заранее определите, какие действия разрешены агенту в ваше отсутствие. Это тот же принцип, что лежит в основе режимов разрешений Claude Code, где для сервера без присмотра устанавливаются более строгие ограничения, чем для ноутбука, за которым вы работаете в данный момент.

Секреты, пользователи и хост

Храните API-ключ модели и любые другие учетные данные в конфигурации Agent Zero или в файле окружения, доступном только соответствующей учетной записи. Не допускайте их попадания в историю командной оболочки или репозитории. Тот же принцип применим к любому другому компоненту системы, отвечающему за защиту секретов, поскольку укрепление безопасности Vaultwarden сводится к защите его административного токена и файла резервной копии, а не к шифрованию, которое приложение и так выполняет эффективно. Управляйте сервером от имени пользователя с ограниченными правами, а не root, согласно принципам минимальных привилегий, и переведите SSH на аутентификацию только по ключам, как описано в укреплении SSH. Затем пройдите по контрольному списку ниже, чтобы ничего не упустить.

ToolVPS hardening checklist

Если вы сравниваете агентов, то это та же модель безопасности, которую используют руководство по укреплению OpenClaw и руководство по OpenHands: держите поверхность управления закрытой, работайте от имени непривилегированного пользователя, используйте межсетевой экран по умолчанию и относитесь к хосту как к среде, исполняющей сторонний код. Для сравнения всех пяти агентов см. лучшие self-hosted AI-агенты в 2026 году.

Базовые концепции для любого из этих решений описаны в статье создание собственного AI-агента на VPS, а Dify — это еще одна self-hosted платформа, заслуживающая внимания для сравнения.

FAQ

Безопасно ли размещать Agent Zero на собственном сервере?

Да, если вы ограничите доступ к его Web UI и обеспечите безопасность хоста. Agent Zero выполняет код, запускает браузер и оболочку, а управление осуществляется через Web UI на порту, который вы открываете. Опасность представляет не сам фреймворк, а открытый интерфейс. Привяжите UI к loopback и подключайтесь через SSH или VPN, установите логин и пароль для UI, настройте межсетевой экран с политикой запрета по умолчанию и запускайте приложение от имени пользователя без привилегий.

Открывает ли Agent Zero доступ к Web UI в интернет по умолчанию?

Документированные команды docker run публикуют интерфейс без указания адреса (в README используется -p 80:80). Такое сопоставление заставляет сервис прослушивать все сетевые интерфейсы. На публичном VPS это означает, что интерфейс становится доступен из интернета сразу после запуска контейнера. UFW не блокирует этот доступ, так как Docker направляет трафик в обход правил межсетевого экрана. Добавьте 127.0.0.1 к адресу публикации, чтобы UI прослушивал только loopback, и подключайтесь к нему через SSH-туннель или VPN.

Может ли Agent Zero работать на небольшом VPS?

Да. Agent Zero работает везде, где есть Docker, включая недорогие VPS. Однако для выполнения ресурсоемких задач и запуска крупных локальных моделей требуется больше оперативной памяти. Если вы используете собственную модель вместо внешнего API, подбирайте характеристики сервера с учетом требований модели, а не только Agent Zero.

Чем Agent Zero отличается от OpenClaw или Hermes?

Эти инструменты пересекаются по функциональности, но имеют разные цели. Agent Zero — это фреймворк с приоритетом Docker, построенный вокруг основного агента, который создает подчиненных агентов внутри своего контейнера и управляется через Web UI. OpenClaw и Hermes — это персональные помощники, доступ к которым осуществляется через чат-приложения. Требования к безопасности для всех них одинаковы: держите интерфейс управления закрытым и защищайте хост.