SSD Nodes Learn
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-07-24

Як безпечно запустити OpenClaw на VPS

Налаштуйте захист OpenClaw на VPS через unprivileged user та firewall. Дізнайтеся, як уникнути ризиків після виявлення критичної вразливості CVE-2026-32922.

Що таке OpenClaw і чому його потрібно спочатку захистити

OpenClaw — це AI-агент для самостійного хостингу. Ви запускаєте його на власному сервері, підключаєте до великої мовної моделі, і він може виконувати shell-команди, керувати браузером, читати та записувати ваші файли, а також діяти на основі повідомлень, які ви надсилаєте йому з чат-додатків. Такий рівень доступу є основною метою цього інструменту, але він же є і головним ризиком. Безпека агента, який може виконувати будь-яку команду, залежить лише від безпеки системи, на якій він запущений, та встановлених вами обмежень.

Цей посібник базується на двох фактах. По-перше, OpenClaw розроблений для ручного налаштування безпеки (hardening). Його модель безпеки покладає відповідальність за суворі політики інструментів, ізоляцію (sandboxing) та ретельне керування правами на оператора, а не на безпечні налаштування за замовчуванням. По-друге, у проєкті вже був серйозний інцидент безпеки: у березні 2026 року протягом чотирьох днів було виявлено дев'ять вразливостей, включаючи критичну помилку підвищення привілеїв CVE-2026-32922 з рейтингом 9.9 з 10. Ці факти не означають, що OpenClaw слід уникати. Вони означають, що його не можна запускати недбало, а цей посібник пропонує безпечний спосіб налаштування.

Є і хороші новини. OpenClaw вже має одне безпечне налаштування за замовчуванням: його gateway, єдиний процес, що керує всім, за замовчуванням прослуховує loopback-адресу, тому він недоступний з інтернету, якщо ви навмисно не зробите його відкритим. Більша частина наведених нижче дій спрямована на те, щоб зберегти цей стан і обмежити радіус ураження у разі виникнення помилки.

Надайте OpenClaw окремого непривілейованого користувача

Ніколи не запускайте агента від імені root. Якщо OpenClaw працює під root і щось піде не так — будь то помилка в коді, некоректна інструкція або CVE, подібна до вищезгаданої — масштаб шкоди не матиме меж. Створіть виділеного системного користувача без shell для входу та без прав sudo, і запускайте агента від імені цього користувача:

sudo useradd --system --home /opt/openclaw --shell /usr/sbin/nologin openclaw

Все, чим володіє OpenClaw, знаходиться в /opt/openclaw під керуванням цього облікового запису. Це найважливіший крок, що відповідає принципу, описаному в running services as an unprivileged user: можливості агента обмежені правами облікового запису, під яким він запущений.

Встановіть OpenClaw

OpenClaw розповсюджується як npm-пакет, тому спочатку встановіть Node.js, якщо він відсутній на сервері. Встановіть пакет глобально, що додасть бінарний файл openclaw у PATH для кожного користувача, а потім виконайте одноразовий крок налаштування:

sudo npm install -g openclaw@latest
sudo -u openclaw openclaw onboard

Запуск налаштування від імені користувача openclaw означає, що конфігурація агента буде збережена в його домашній директорії /opt/openclaw, а не в директорії root. Проєкт також пропонує інсталятор curl -fsSL https://openclaw.ai/install.sh | bash, який виконує те саме встановлення одним рядком. Пропустіть прапор --install-daemon під час налаштування: він зареєструє власний сервіс OpenClaw, тоді як суворий systemd unit, який ви створите нижче, є надійнішим.

Залиште gateway на loopback під захистом firewall

За замовчуванням gateway прив'язується до 127.0.0.1. Залиште його там. Майже ніколи не потрібно відкривати цей порт для інтернету; це дасть будь-кому, хто його знайде, віддалений доступ до процесу, який спеціалізується на виконанні команд.

Встановіть firewall з політикою "заборонено все за замовчуванням" перед сервером, щоб нічого не було відкрите випадково:

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

Тут варто уникати двох пасток. Firewall, що підтримує лише IPv4, може залишити той самий сервіс відкритим через IPv6, що і є тією самою IPv6 firewall gap, на якій потрапляє багато користувачів. І якщо вам потрібно підключитися до gateway зі свого ноутбука, не відкривайте порт. Використовуйте VPN або SSH-тунель, щоб агент ніколи не був доступний через відкритий інтернет.

Ізолюйте секрети

OpenClaw потребує API-ключ для будь-якої підключеної мовної моделі. Цей ключ може витрачати ваші кошти та, через агента, діяти від вашого імені, тому ставтеся до нього як до пароля. Не зберігайте його у файлі unit або в будь-якому репозиторії. Помістіть його у файл, який може читати лише користувач OpenClaw:

sudo install -o openclaw -g openclaw -m 600 /dev/null /opt/openclaw/openclaw.env
sudoedit /opt/openclaw/openclaw.env      # add ANTHROPIC_API_KEY=... or your model provider's key

systemd unit завантажує цей файл за допомогою EnvironmentFile, тому ключ потрапляє в процес, не з'являючись у командному рядку, логах або історії shell.

Запускайте його як захищений systemd сервіс

Запуск агента через systemd забезпечує автоматичне перезавантаження, чисті логи через journalctl і, що найважливіше, набір опцій ізоляції на рівні ядра, які обмежують доступ процесу до ресурсів навіть у разі компрометації. Найважливішими для агента є NoNewPrivileges (щоб він не міг отримувати нові привілеї), ProtectSystem=strict (щоб файлова система була лише для читання там, де ви не дозволили запис), PrivateTmp (для ізольованої тимчасової директорії) та ProtectHome (щоб він не міг читати домашні директорії користувачів).

Згенеруйте повний захищений unit тут, а потім скопіюйте його в /etc/systemd/system/openclaw.service:

ToolGenerate a hardened systemd unit for the agent

Unit запускає openclaw gateway — довготривалий процес, що керує агентом; якщо which openclaw показує інший шлях на вашому сервері, змініть ExecStart відповідно. Повний опис цих директив, а також daemon-reload та enable --now, наведено в running a program as a systemd service. Коротка версія після того, як ви вставили unit:

sudo systemctl daemon-reload
sudo systemctl enable --now openclaw

Захистіть також зовнішній периметр

Безпека сервера визначає безпеку агента. Ще два рівні завершать захист. Переведіть SSH на автентифікацію лише за ключами та забороніть вхід під root, як описано в SSH hardening on a VPS, щоб обліковий запис, з якого ви керуєте сервером, неможливо було підібрати брутфорсом. Потім додайте Fail2ban, щоб блокувати сканери, які атакують усі відкриті порти. Це не впливає безпосередньо на OpenClaw, але це перекриває шляхи, які зловмисник міг би використати для доступу до нього.

Оновлюйте систему свідомо

Вразливості березня 2026 року є найчіткішим аргументом на користь регулярних оновлень. Помилка підвищення привілеїв в агенті набагато серйозніша, ніж у звичайному веб-додатку, оскільки агент вже має можливість виконувати команди. Стежте за релізами проєкту, швидко встановлюйте оновлення безпеки та ставтеся до оновлення OpenClaw як до рутинного обслуговування, а не як до справи, яку можна відкласти.

Щоб зрозуміти, що саме ви захищаєте, ознайомтеся з the architecture of an OpenClaw-style agent, а building your own AI agent on a VPS охоплює загальну структуру будь-якого агента.

FAQ

Чи безпечно запускати OpenClaw на публічному VPS?

Це можливо, якщо ви налаштуєте захист. OpenClaw потужний за своєю природою: він виконує shell-команди та керує браузером, тому недбале налаштування є справді небезпечним (проєкт уже мав критичну вразливість CVE-2026-32922 у березні 2026 року). Його модель безпеки передбачає, що саме ви, як оператор, повинні встановити обмеження. Запускайте його від імені непривілейованого користувача, тримайте gateway на loopback під захистом firewall з політикою "заборонено все за замовчуванням", ізолюйте API-ключі та запускайте його як захищений systemd сервіс.

Чи варто відкривати gateway OpenClaw для інтернету?

Ні. Gateway за замовчуванням прив'язується до loopback, і вам слід залишити його там. Це єдиний процес, що керує агентом, тому відкритий gateway — це віддалений шлях до системи, яка виконує команди. Якщо вам потрібен віддалений доступ, використовуйте VPN або SSH-тунель замість відкриття порту.

Під яким користувачем має працювати OpenClaw?

Виділений системний користувач без shell для входу та без sudo, ніколи не root. Якщо агент буде зламано, права цього користувача стануть межею завданої шкоди, тому цей обліковий запис повинен володіти лише власними файлами у директорії на кшталт /opt/openclaw і нічим іншим.

Як забезпечити безпеку API-ключів OpenClaw?

Зберігайте їх у файлі, доступному лише користувачу OpenClaw (режим 600), і завантажуйте його в сервіс за допомогою systemd EnvironmentFile. Не зберігайте ключ у файлі unit, в історії shell або в будь-якому git-репозиторії. Змініть ключ, якщо ви запідозрюєте його витік.