RustDesk: pre-prod security audit + операционный runbook

Аудит перед запуском в прод. Найдены и исправлены critical и medium issues:

Critical (fixed):
- File permissions 644 → 600/640 для id_ed25519, БД, config.yaml
- Нет logrotate (диск 2GB зальётся) → /etc/logrotate.d/rustdesk
- Нет авто-бэкапа → daily cron 03:00 в /root/rustdesk-backups/

Medium (fixed):
- Brute-force на /api/admin/login → NPM rate-limit 5r/m

Medium (deferred):
- NC share без пароля (NC сейчас down — отдельный task)
- Security headers не наследуются в location / (NPM template limitation)

Документация:
- decisions/2026-04-30-rustdesk-pre-prod-audit.md — полный отчёт
- projects/dttb/rustdesk-runbook.md — операционный runbook (recovery,
  troubleshooting, onboarding, updates)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
dttb
2026-04-30 10:42:19 +03:00
parent 37ca19ee5e
commit d58873368a
3 changed files with 551 additions and 0 deletions

View File

@@ -136,6 +136,18 @@ tail -f /var/log/rustdesk-api/rustdesk-api.log
- `/root/rustdesk-backup-20260428-1134/` — бэкап от 2026-04-28 миграции (ключи, БД, config.yaml.orig)
- `/root/rustdesk-rollback.sh` — откат к OSS bin'ам за 30 сек
## Operational runbook
Полный operational runbook (recovery, troubleshooting, onboarding нового клиента, обновления): [[rustdesk-runbook]].
Pre-production audit (2026-04-30) с найденными уязвимостями + fixes: [[../../decisions/2026-04-30-rustdesk-pre-prod-audit]].
**Применённые фиксы (2026-04-30):**
- File permissions: `id_ed25519` 644→600, БД и config.yaml 644→640
- Logrotate `/etc/logrotate.d/rustdesk` (daily, 14 дней)
- Auto-backup cron 03:00 → `/root/rustdesk-backups/`
- NPM rate-limit на `/api/admin/login` (5r/m) и `/api/login` (10r/m)
## Известные нюансы
- **MUST_LOGIN работает только в pro-бинаре hbbs.** OSS hbbs (как был до 2026-04-28) этот флаг игнорирует. См. [[../../decisions/2026-04-28-rustdesk-lejianwen-pro-migration]].