Skip to content

Security: Jah0x/Buh

Security

docs/SECURITY.md

Безопасность и управление секретами

Работа с секретами

  • Все чувствительные значения хранятся в .env, файл не коммитится в репозиторий.
  • Ограничьте доступ к .env и резервным копиям через права файловой системы и менеджер секретов (например, Ansible Vault, Vault, 1Password).
  • Разделяйте окружения: уникальные токены и ключи для разработки, стейджа и продакшена.
  • Регулярно ротируйте токены Telegram и ключи платежного провайдера, обновляя переменные окружения и рестартуя сервис.

Контроль доступа

  • Сервер приложения должен быть доступен только команде сопровождения по VPN/SSH с ключевой аутентификацией.
  • Учетная запись базы данных должна иметь минимально необходимые права и быть отделена от администраторских учёток.
  • Webhook-эндпоинты принимают запросы только по HTTPS; используйте обратный прокси с TLS-сертификатом и ограничением IP, если доступен.

Хранение данных

  • Каталог data/ содержит файлы пользователей и договоры. Разместите его на защищенном разделе файловой системы с резервным копированием и шифрованием на уровне диска.
  • Логи не должны содержать персональные данные. Для отладки используйте маскирование или отдельную тестовую среду.
  • Доступ к бэкапам ограничьте теми же правилами, что и к продуктивной базе.

Мониторинг и реакция

  • Включите мониторинг неудачных попыток доступа и ошибок авторизации (Telegram, платежный провайдер, БД).
  • Настройте уведомления о критических ошибках (Sentry, Opsgenie, e-mail).
  • При компрометации ключей немедленно отзовите их, обновите .env, перезапустите сервис и проведите аудит последних операций.

There aren't any published security advisories