| Версия | Поддержка |
|---|---|
| 1.x | да |
Не открывайте публичный issue. Напишите владельцу репозитория приватно (контакт указан в профиле GitHub) и приложите: версию, шаги воспроизведения, ожидаемое и фактическое поведение. Ответ — в течение 72 часов.
Панель хранит доступы к регистратору и хостингам, поэтому рассматривается как секретный административный инструмент, а не публичный сервис.
| Угроза | Защита |
|---|---|
| Утечка пароля REG.RU из БД/бэкапа | libsodium secretbox; ключ только в .env (0600), вне БД и git |
| Утечка паролей из хранилища | шифрование с привязкой к id записи; список API не содержит паролей |
| Кража API-токена | хранится только SHA-256; plaintext показывается один раз; scope-ограничение; отзыв |
| Подбор пароля панели | Argon2id, лимит попыток, блокировка аккаунта, задержка ответа |
| CSRF | SameSite=Strict cookie + X-CSRF-Token; Bearer-запросы не подвержены CSRF |
| XSS | строгий CSP без unsafe-inline; данные в DOM попадают только текстовыми узлами (h()) |
| Кликджекинг | X-Frame-Options: DENY, frame-ancestors 'none' |
| Утечка через логи | редакция ключей password/secret/token/…, тела запросов не логируются |
| Перебор API | лимит на токен/IP, 429 с Retry-After |
| Компрометация REG.RU API | белый список IP в настройках REG.RU; локальный предохранитель 1100 запросов/час |
| Злоупотребление раскрытием секретов | отдельный scope secrets:read; каждое чтение в audit_log (актор, IP, время) |
- Доступ администратора к серверу: он и так может прочитать
.envи БД. - Атака на сам REG.RU API или его TLS.
- Утечка через браузер пользователя, заражённый расширениями.
APP_ENV=production,APP_DEBUG=0.APP_KEY— 32 случайных байта,chmod 600 .env.SESSION_SECURE=1и HTTPS.- Ограничение доступа к панели в nginx:
allowтолько доверенным сетям/адресам,deny allдля остальных; каталогиbackend/,frontend/,var/,docs/и dotfiles закрыты. - Разрешить в REG.RU API только IP сервера.
- Резервные копии — вне веб-корня, с теми же правами, что и
.env. - Cron-синхронизация — под отдельным пользователем сайта, без доступа к shell.
- Отозвать все API-токены:
regru token:list→token:revoke --id. - Сменить пароль панели и пароль REG.RU API; в настройках REG.RU обновить белый список IP.
- Сменить
APP_KEYтолько вместе с перешифровкой: без старого ключа пароли в БД не восстановить. Если ключ скомпрометирован — считайте все сохранённые пароли раскрытыми и смените их у провайдеров/панелей. - Проверить
audit_logза период, особенноcredential.reveal,hosting.reveal,auth.login,token.create. - Восстановить БД из проверенной резервной копии при признаках изменения данных.
- Приложение не защищает от вредоносного кода с правами пользователя сайта (
site_user): он читает.env. - Приватность: при включённом внешнем rerank/embedding у поисковых провайдеров данные могут уходить с сервера — это не относится к панели, но учитывайте при интеграциях.
- REG.RU не возвращает пароли панелей для всех типов услуг; если API их не отдал, пароль можно сохранить вручную — он будет зашифрован так же.