Перейти к основному содержимому

Безопасность панели

Что уже сделано​

МеханизмДетали
Защита входа от перебора5 попыток на пару «логин + IP», 20 с одного IP, 50 по логину, с эскалацией блокировки
Паролихешируются; пароль никогда не попадает в уведомления о неудачном входе
Журнал действий администраторатаблица admin_audit_log: кто, что, когда, IP, результат
Секреты в покоесекрет TOTP хранится зашифрованным (AES-256-GCM)
Нет внешних запросовв собранном бандле нет обращений к сторонним сервисам: иконки, проверки версий и телеметрия убраны
Тела запросов не логируютсяиначе в журнал попадали бы пароли, токены и секреты OAuth2 — фиксируются только метод, путь, результат, IP и время
Retentionавтоматическая очистка персональных данных по срокам (см. Переменные окружения)

Что логируется и что с этим происходит​

ЧтоГдеСрок по умолчаниюСодержит
Журнал действий админовadmin_audit_log30 днейкто, что, когда, IP
Устройства пользователейhwid_user_devices90 днейHWID, ОС, user-agent, IP
Запросы подпискиuser_subscription_request_history30 днейIP, user-agent
История трафикаnodes_user_usage_history14 днейбез IP
Статистика нодnodes_usage_history90 днейбез IP

Автоочистка выключена по умолчанию: включите SERVICE_CLEAN_USAGE_HISTORY и SERVICE_CLEAN_OLD_LOGS, если хотите, чтобы сроки соблюдались автоматически.

Ручная очистка​

На странице Logs выберите источники и нажмите «Delete selected». Сервер дополнительно требует явного подтверждения (confirm: true), поэтому вызвать очистку в обход интерфейса нельзя.

Журнал действий администраторов доступен на странице Audit Log: фильтры по администратору и результату, пагинация.

Чек-лист администратора​

  • APP_SECRET сохранён в надёжном месте (менеджер секретов, не в чате).
  • Файл .env имеет права 600 и не попадает в бэкапы, доступные третьим лицам.
  • Панель доступна только по HTTPS, HTTP редиректит.
  • METRICS_PORT закрыт наружу: метрики отдаются только на 127.0.0.1.
  • Порт ноды 2222 доступен только с IP панели.
  • Включён 2FA (TOTP) для администраторов.
  • Ссылка на исходный код доступна пользователям (§13 AGPL).
  • Пароль администратора хранится в менеджере паролей: требования жёсткие, но именно они защищают единственную точку входа.

SSH-терминал к нодам​

Функция (Settings → Experimental) даёт командную строку на серверах нод. Приватный ключ хранится зашифрованным в браузере и на сервер не передаётся, но сам доступ очень широкий. Включайте, только если понимаете последствия, и выдавайте его минимальному числу администраторов.

Сообщить об уязвимости​

Не открывайте публичный issue. Опишите проблему приватно через Security Advisories в репозитории.