Безопасность
XLADA — форк Remnawave под AGPL-3.0-only, в котором приватность и контроль над данными вынесены в отдельный приоритет. Этот раздел — обзорная страница: конкретные настройки описаны в разделах Безопасность панели и Обратный прокси.
Базовая модель простая: панель стоит за HTTPS, нода не имеет исходящих подключений, а данные пользователей либо не собираются, либо удаляются по сроку.
Что уже сделано
| Механизм | Детали |
|---|---|
| Защита входа от перебора | 5 попыток на пару «логин + IP», 20 с одного IP, 50 по логину, с эскалацией блокировки |
| Пароли | хешируются и никогда не попадают в уведомления о неудачном входе |
| Журнал действий администратора | таблица admin_audit_log: кто, что, когда, IP, результат |
| Секреты в покое | секрет TOTP зашифрован (AES-256-GCM) |
| Нет внешних запросов | в собранном бандле нет обращений к сторонним сервисам: иконки, проверки версий и телеметрия убраны |
| Тела запросов не логируются | в журнал попадают только метод, путь, результат, IP и время |
Минимизация данных
Надёжнее не собирать лишнее, чем чистить это потом. Если история трафика и запросы подписки вам не нужны, отключите их запись:
# .env
SERVICE_DISABLE_USER_USAGE_RECORDS=true
SERVICE_DISABLE_SRH_RECORDS=true
USER_USAGE_IGNORE_BELOW_BYTES=4096
Для таблиц, которые всё же заполняются, работает retention. По умолчанию автоочистка выключена — включите её осознанно:
| Таблица | Срок по умолчанию | Содержит |
|---|---|---|
admin_audit_log | 30 дней | кто, что, когда, IP |
hwid_user_devices | 90 дней | HWID, ОС, user-agent, IP |
user_subscription_request_history | 30 дней | IP, user-agent |
nodes_user_usage_history | 14 дней | без IP |
nodes_usage_history | 90 дней | без IP |
# .env — один недельный job обслуживает все таблицы
SERVICE_CLEAN_USAGE_HISTORY=true
SERVICE_CLEAN_OLD_LOGS=true
Полный список переменных и их значения по умолчанию — в разделе Переменные окружения.
Что остаётся за администратором
Часть работы нельзя автоматизировать — она зависит от вашей инфраструктуры.
APP_SECRET критичен. Его смена ломает вход, JWT и секреты TOTP. Храните
значение в менеджере секретов и не меняйте после первого запуска.
- Панель и страница подписки доступны только по HTTPS, HTTP перенаправляется.
METRICS_PORT(3001) закрыт наружу: метрики отдаются на127.0.0.1.NODE_PORT(2222) открыт в firewall только для IP панели.- Для администраторов включён второй фактор (TOTP).
- Ссылка на исходный код доступна пользователям — этого требует §13 AGPL.
- Сборки образов берутся только из официальной организации xray-panel.
SSH-терминал к нодам (Settings → Experimental) даёт командную строку на серверах нод. Приватный ключ хранится зашифрованным в браузере и на сервер не передаётся, но доступ широкий. Включайте его, только если понимаете следствия.
Чек-лист
-
.envимеет права600и не попадает в чужие бэкапы. -
APP_SECRETсохранён в менеджере секретов. - HTTPS настроен, HTTP редиректит на HTTPS.
-
METRICS_PORTзакрыт наружу. -
NODE_PORTдоступен только с сервера панели. - Включён TOTP для всех администраторов.
- Заданы сроки retention и включена автоочистка.
- Ссылка на исходный код указана в брендинге панели.
Что дальше
- Безопасность панели — механизмы подробно.
- Обратный прокси — TLS и реальный IP клиента.
- HWID-ограничение устройств — привязка к устройствам.
- Переезд с Remnawave — как не потерять данные при миграции.