Для OpenClaw v2026.2 | Статья подходит для всех пользователей OpenClaw, особенно для тех, кто готовит продакшн-развёртывание или командное использование.
TL;DR: DM-сопряжение предотвращает несанкционированный доступ: "dmPolicy": "pairing". Песочница изолирует опасные операции: "sandbox": {"mode": "non-main"}. Фильтрация конфиденциальных данных: "security": {"sensitiveData": {"patterns": ["sk-*"]}}. Для удалённого доступа используйте Tailscale, а не публичные порты. Запустите openclaw doctor --security для проверки состояния безопасности.
Обзор рисков безопасности
Основные типы рисков
| Тип риска | Описание | Возможные последствия |
|---|---|---|
| Несанкционированный доступ | Посторонний может использовать вашего Agent | Злоупотребление ресурсами, утечка данных |
| Злоупотребление правами | Agent выполняет операции сверх ожидаемых | Повреждение данных, нарушение работы системы |
| Утечка данных | Некорректная обработка конфиденциальной информации | Нарушение конфиденциальности, проблемы с соответствием |
| Сетевые атаки | Внешний злоумышленник использует уязвимости | Проникновение в систему, кража данных |
| Prompt-инъекция | Вредоносные инструкции обходят ограничения безопасности | Несанкционированные операции |
Модель безопасности
flowchart TB
subgraph Outer["Сетевой уровень"]
FW[Файрвол]
TLS[HTTPS/TLS]
end
subgraph Middle["Контроль доступа"]
DM[DM-сопряжение]
WL[Белый список]
AUTH[Аутентификация]
end
subgraph Inner["Контроль выполнения"]
SBX[Песочница]
PERM[Права доступа]
AUDIT[Аудит]
end
subgraph Core["Agent"]
AG[Ядро Agent]
end
Outer --> Middle --> Inner --> Core
Механизм DM-сопряжения
Что такое DM-сопряжение?
DM (Direct Message) сопряжение — это защитный механизм, требующий от новых пользователей пройти процедуру сопряжения перед началом диалога с Agent.
Процесс сопряжения
sequenceDiagram
participant S as Незнакомец
participant B as Бот
participant G as Gateway
participant O as Владелец
S->>B: Отправляет сообщение «Привет»
B->>G: Сообщение поступает
G->>G: Проверка статуса сопряжения
G-->>B: Не сопряжён, генерация кода
B-->>S: «Пожалуйста, выполните сопряжение: код ABC123»
S->>O: Сообщает владельцу код сопряжения
O->>G: openclaw pairing approve telegram ABC123
G->>G: Добавление в белый список
G-->>S: Сопряжение успешно
S->>B: Отправляет сообщение «Привет»
B-->>S: Нормальный ответ
Настройка DM-сопряжения
{
"channels": {
"telegram": {
"botToken": "your_token",
"dmPolicy": "pairing"
},
"whatsapp": {
"dmPolicy": "pairing"
},
"discord": {
"dmPolicy": "pairing"
}
}
}
Режимы сопряжения
| Режим | Описание | Уровень безопасности | Сценарий использования |
|---|---|---|---|
pairing |
Требуется код сопряжения | ⭐⭐⭐⭐ | Личное использование (по умолчанию) |
open |
Доступен любому | ⭐ | Публичный сервис |
whitelist |
Только пользователи из белого списка | ⭐⭐⭐⭐⭐ | Высокие требования к безопасности |
Управление сопряжением
# Просмотр ожидающих запросов на сопряжение
openclaw pairing list
# Пример вывода:
# Channel Code User Created
# telegram ABC123 @stranger 2026-02-26 10:30:00
# discord XYZ789 user#1234 2026-02-26 10:35:00
# Одобрить сопряжение
openclaw pairing approve telegram ABC123
# Отклонить сопряжение
openclaw pairing reject telegram ABC123
# Просмотр сопряжённых пользователей
openclaw pairing show telegram
Настройка белого списка
{
"channels": {
"telegram": {
"dmPolicy": "open",
"allowFrom": [
123456789,
987654321
]
},
"whatsapp": {
"dmPolicy": "open",
"allowFrom": [
"+8613800138000",
"+8613800138001"
]
}
}
}
Получение ID пользователя
# Telegram: отправьте сообщение боту @userinfobot
# Discord: используйте команду /id в канале или посмотрите профиль пользователя
# WhatsApp: получите из информации о контакте
Режим песочницы
Что такое песочница?
Песочница — это механизм изоляции, ограничивающий область действий Agent для предотвращения случайных или вредоносных изменений в системе.
Режимы песочницы
| Режим | Описание | Сценарий использования |
|---|---|---|
off |
Без песочницы, полное доверие | Основная сессия, доверенное окружение |
non-main |
Песочница для неосновных сессий | Многопользовательский, командный доступ |
always |
Песочница всегда включена | Ненадёжное окружение, публичный сервис |
Настройка песочницы
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main",
"allowlist": ["read", "write", "edit", "bash"],
"denylist": ["browser", "canvas", "nodes"],
"container": {
"image": "openclaw/sandbox:latest",
"timeout": 30000,
"memory": "512m",
"cpu": "0.5"
}
}
}
}
}
Контроль прав на инструменты
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main",
"allowlist": [
"read",
"write",
"edit",
"bash",
"web_search",
"sessions_list",
"sessions_history",
"sessions_send"
],
"denylist": [
"browser",
"canvas",
"nodes",
"cron",
"discord",
"gateway"
]
}
}
}
}
Права доступа к файловой системе
{
"agents": {
"defaults": {
"permissions": {
"filesystem": {
"read": ["~/workspace", "~/documents"],
"write": ["~/workspace/output"],
"deny": ["~/.ssh", "~/.gnupg", "~/.openclaw/credentials"]
}
}
}
}
}
Сетевые права
{
"agents": {
"defaults": {
"permissions": {
"network": {
"outbound": {
"allow": [
"api.anthropic.com",
"api.openai.com",
"github.com"
],
"deny": ["*"]
}
}
}
}
}
}
Повышенные привилегии (Elevated)
Что такое повышенные привилегии?
Повышенные привилегии — это механизм временного повышения уровня доступа для операций, требующих расширенных прав.
Настройка повышенных привилегий
{
"agents": {
"defaults": {
"elevatedAccess": {
"enabled": true,
"allowlist": [123456789, 987654321],
"requireConfirmation": true,
"timeout": 300000
}
}
}
}
Использование повышенных привилегий
# Запросить повышение привилегий в чате
/elevated on
# Выполнить операции, требующие повышенных привилегий
# ...
# Отключить повышенные привилегии
/elevated off
Обработка конфиденциальных данных
Типы конфиденциальной информации
| Тип | Пример | Способ обработки |
|---|---|---|
| API-ключи | sk-ant-xxx, sk-xxx |
Не записывать, не выводить |
| Пароли | Пароли для входа, пароли БД | Не хранить, не передавать |
| Токены | OAuth-токен, Session-токен | Шифрованное хранение |
| Персональные данные | Удостоверение личности, банковские карты | Не записывать, анонимизировать |
Настройка фильтрации конфиденциальных данных
{
"security": {
"sensitiveData": {
"patterns": [
"sk-[a-zA-Z0-9]{20,}",
"xox[baprs]-[a-zA-Z0-9-]+",
"[0-9]{15,19}",
"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"
],
"redact": true,
"log": false
}
}
}
Хранение учётных данных
# Расположение хранилища учётных данных
~/.openclaw/credentials/
# Шифрованное хранение
# OpenClaw использует системную связку ключей для шифрованного хранения конфиденциальных учётных данных
Управление учётными данными
# Просмотр сохранённых учётных данных
openclaw credentials list
# Пример вывода:
# Name Type Created
# telegram-bot api_key 2026-02-20
# gmail-oauth oauth 2026-02-21
# Удаление учётных данных
openclaw credentials delete telegram-bot
# Экспорт учётных данных (зашифрованных)
openclaw credentials export --output credentials.enc
# Импорт учётных данных
openclaw credentials import --input credentials.enc
Сетевая безопасность
Настройка привязки
{
"gateway": {
"bind": "loopback", // только локальный доступ
"port": 18789,
"tls": {
"enabled": false
}
}
}
| Вариант привязки | Описание | Уровень безопасности |
|---|---|---|
loopback |
Только локальный доступ | ⭐⭐⭐⭐⭐ |
private |
Доступ из частной сети | ⭐⭐⭐⭐ |
all |
Доступ со всех интерфейсов | ⭐ |
Настройка Tailscale
{
"gateway": {
"tailscale": {
"mode": "serve", // serve или funnel
"resetOnExit": true
},
"auth": {
"mode": "password",
"allowTailscale": true
}
}
}
Настройка аутентификации
{
"gateway": {
"auth": {
"mode": "password",
"password": "your-secure-password",
"sessionTimeout": 3600000
}
}
}
Аудит и логирование
Журнал операций
{
"logging": {
"level": "info",
"audit": {
"enabled": true,
"events": [
"tool.invoke",
"session.create",
"session.reset",
"pairing.approve",
"pairing.reject",
"elevated.enable",
"elevated.disable"
],
"retention": 30
}
}
}
Просмотр журнала аудита
# Просмотр журнала аудита
openclaw logs --type audit
# Пример вывода:
# [2026-02-26 10:30:00] INFO tool.invoke session=main tool=bash command="ls -la"
# [2026-02-26 10:30:05] INFO pairing.approve channel=telegram code=ABC123 user=123456789
# [2026-02-26 10:31:00] INFO elevated.enable session=telegram:user:123456789
# Фильтрация по типу события
openclaw logs --type audit --filter "tool.invoke"
# По временному диапазону
openclaw logs --type audit --from 2026-02-01 --to 2026-02-28
Мониторинг использования
# Просмотр статистики использования
openclaw usage --today
# Пример вывода:
# Date: 2026-02-26
# Requests: 128
# Tokens In: 125,000
# Tokens Out: 45,000
# Cost: $2.10
# Top Tools: bash(45), read(32), write(18)
# Обнаружение аномалий
openclaw usage --alerts
# Пример вывода:
# ⚠️ High usage detected: 1000+ requests in 1 hour
# ⚠️ Unusual tool pattern: bash commands to sensitive directories
Чек-лист безопасности
Базовая безопасность
- Включить DM-сопряжение или белый список
- Настроить режим песочницы
- Установить разумные права на инструменты
- Включить журнал аудита операций
- Регулярно менять API-ключи
Продвинутая безопасность
- Настроить ограничения доступа к файловой системе
- Установить белый список исходящих сетевых подключений
- Включить фильтрацию конфиденциальных данных
- Настроить подтверждение повышенных привилегий
- Регулярно проверять сопряжённых пользователей
Корпоративная безопасность
- Использовать Docker-песочницу для изоляции
- Настроить частную сеть Tailscale
- Включить HTTPS/TLS
- Настроить оповещения о превышении лимитов
- Регулярно проводить аудит безопасности
Диагностика безопасности
# Запуск диагностики безопасности
openclaw doctor --security
# Пример вывода:
# ✅ DM Pairing: Enabled
# ✅ Sandbox Mode: non-main
# ⚠️ File Permissions: Some directories not restricted
# ✅ Network Outbound: Restricted to allowlist
# ⚠️ Elevated Access: No confirmation required
# ✅ Audit Logging: Enabled
# ✅ Credentials: Encrypted
# Рекомендации:
# - Restrict file access to ~/workspace only
# - Enable elevated access confirmation
Итоги
Настройка безопасности — важный этап развёртывания OpenClaw:
- DM-сопряжение: предотвращение несанкционированного доступа
- Режим песочницы: ограничение области действий
- Контроль прав: гранулярные права на инструменты и файлы
- Конфиденциальные данные: фильтрация и защита конфиденциальной информации
- Сетевая безопасность: настройка привязки и аутентификации
- Журнал аудита: отслеживание и мониторинг операций
Краткие итоги статьи:
- Разобрались в основных рисках безопасности и механизмах защиты
- Освоили настройку DM-сопряжения и белого списка
- Научились настраивать песочницу и управление правами
- Узнали об обработке конфиденциальных данных и сетевой конфигурации
- Освоили журнал аудита и чек-лист безопасности
История изменений:
- 2026-02-26: первая публикация, на основе OpenClaw v2026.2
Навигация по серии:
- ← Предыдущая: Маршрутизация нескольких Agent и изоляция сессий
- → Следующая: Варианты удалённого развёртывания