Безопасность на вашем сервере
Безопасность на вашем сервере DSH
Общий длинный гайд «отдельный пользователь dsh-agent» полезен на будущее. Сейчас у вас рабочая схема: DSH под systemd, часто от root, UI за nginx basic auth, секреты в /etc/dsh.env.
Эта глава — про безопасность как есть.
Уже защищает
- Basic auth на :3080 — без пароля UI не открыть.
- DSH слушает 127.0.0.1:3081 — снаружи не торчит напрямую.
- Секреты в файлах с правами
600, не в git. - Launch-token не нужно помнить — sync-скрипт.
Главные риски прямо сейчас
| Риск | Почему | Что делать |
|---|---|---|
| Агент = root | Может тронуть системные файлы | Жёсткие промпты; Ask перед Agent; не просить разрушительные команды |
| Утечка пароля UI / root / токенов | В скриптах на ПК или в чатах | Сменить пароли/токены; убрать секреты из репо dsh на ноутбуке |
Широкий GITHUB_TOKEN |
Push во все репо токена | Отдельный fine-grained PAT по возможности |
| Случайный commit в main | Привычка «сделай» | Запрет в AGENTS.md + явная ветка в каждом Agent-промпте |
Правила в /root/AGENTS.md (минимум)
Должно быть явно:
- не менять
/etc/dsh.env, credentials, htpasswd; - не удалять чужие проекты;
- feature-ветки;
- Ask / Plan / Agent;
- не вставлять секреты в ответы.
Подробно (куда легло, как проверить и обновить): глава «Правила AGENTS.md на сервере».
Смена пароля UI
На сервере:
htpasswd -bB /etc/nginx/dsh.htpasswd admin 'НОВЫЙ_ПАРОЛЬ'
nginx -s reload
Позже (когда будет время)
Вынести DSH из root в отдельного пользователя, сузить filesystem sandbox, разобрать длинный блок «Система безопасности (архив)» в оглавлении «позже».
Квиз по главе
Ответьте на все вопросы и сдайте квиз — сразу будет оценка и отсылки к тексту, где доучить ошибки.