2.3 KiB
2.3 KiB
Безопасность
Безопасность Minishop в первую очередь держится на стабильных секретах, корректном разделении публичных доменов и ограниченном доступе к админке.
Секреты
WEBAPP_SESSION_SECRETдолжен быть постоянным между рестартами, иначе Web App-сессии станут невалидными.WEBHOOK_SECRET_TOKENзащищает вебхук Telegram.PANEL_WEBHOOK_SECRETпроверяет входящие события Remnawave Panel. Секрет задается в Remnawave Panel и вставляется в настройки бота.- Платежные токены и webhook-секреты храните в
.envили настройках админки с учетом доступа к серверу.
Сгенерировать секрет можно так:
openssl rand -hex 32
Доступ администраторов
ADMIN_IDSзадает Telegram ID администраторов.- Админка доступна только пользователям из
ADMIN_IDSпри входе через Telegram. - Email-only аккаунты не получают админский доступ.
Публичные URL
WEBHOOK_BASE_URLдолжен вести на backend-сервер вебхуков.- В Remnawave Panel
WEBHOOK_URLдолжен бытьWEBHOOK_BASE_URL+/webhook/panel, напримерhttps://app.example.com/webhook/panel. SUBSCRIPTION_MINI_APP_URLдолжен вести на frontend/Mini App-домен.- Не добавляйте
/api,/authили webhook-пути вSUBSCRIPTION_MINI_APP_URL.
Дополнительно
- Используйте HTTPS на всех публичных доменах.
- Ограничивайте доступ к серверу и
.env. - Следите за логами платежных вебхуков и вебхуков панели.
- После ротации секретов перезапускайте соответствующие сервисы и проверяйте вебхуки.
См. также переменные окружения и развертывание.