Безопасность
Рекомендации по защите панели и нод
mTLS между панелью и нодами
Все коммуникации между панелью и нодами защищены взаимной TLS-аутентификацией (mTLS). При создании ноды генерируются:
- CA-сертификат — общий корневой сертификат
- Node cert — серверный сертификат ноды
- Panel cert — клиентский сертификат панели
Сертификаты передаются через SECRET_KEY в docker-compose ноды. Они не хранятся на диске в открытом виде.
Защита панели
Сильные пароли
Используйте длинные пароли для admin-аккаунтов:
openssl rand -base64 24Ограничение доступа по IP
Настройте firewall для ограничения доступа к портам панели:
# Только ваш IP может подключаться к SSH
ufw allow from YOUR_IP to any port 22
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableAPI Tokens
Для интеграции с ботами используйте API tokens вместо JWT admin-сессий. Токены можно отозвать без смены пароля.
Защита нод
Минимальные открытые порты
Для каждого протокола открывайте только необходимые порты:
| Протокол | Порт | Протокол транспорта |
|---|---|---|
| VLESS Reality | 443 | TCP |
| Hysteria2 | 443 | UDP |
| AmneziaWG | 51820 | UDP |
| Node API (mTLS) | 2222 | TCP |
ufw default deny incoming
ufw allow 22/tcp
ufw allow 2222/tcp
ufw allow 443/tcp
ufw allow 443/udp
ufw enableОбновления
Регулярно обновляйте ОС и Docker:
apt update && apt upgrade -y
v2raytunsetup update
v2raytunsetup update nodeХранение секретов
| Секрет | Где хранится |
|---|---|
| mTLS сертификаты | PostgreSQL (зашифрованы в SECRET_KEY) |
| JWT secret | .env панели |
| Admin пароли | PostgreSQL (bcrypt hash) |
| API tokens | PostgreSQL (hashed) |
Рекомендации
- Регулярные бэкапы:
v2raytunsetup backupежедневно через cron - Мониторинг: следите за healthcheck-статусом нод в панели
- Обновления: обновляйте образы при каждом релизе
- Логирование:
v2raytunsetup logsдля аудита - Изоляция: каждая нода на отдельном сервере/VPS