Archived
Расширена документация secure-проекта
This commit is contained in:
@@ -1,3 +1,42 @@
|
|||||||
# Proxmox-VPS-Panel-secure
|
# Proxmox VPS Panel Secure
|
||||||
|
|
||||||
Защищённая версия self-hosted панели для управления VM и LXC в Proxmox VE
|
Защищённая переработка `Proxmox-VPS-Panel`.
|
||||||
|
|
||||||
|
## Реализовано в базовой версии
|
||||||
|
|
||||||
|
- запуск запрещён с демонстрационным `SECRET_KEY`;
|
||||||
|
- TLS-проверка Proxmox включена по умолчанию;
|
||||||
|
- пароли обрабатываются через Argon2id;
|
||||||
|
- access token имеет короткий срок жизни;
|
||||||
|
- CORS принимает только явно заданные origins;
|
||||||
|
- backend работает от non-root пользователя;
|
||||||
|
- backend не публикуется наружу напрямую;
|
||||||
|
- добавлены healthcheck и readiness-проверка PostgreSQL;
|
||||||
|
- добавлены security-заголовки Nginx;
|
||||||
|
- зависимости Python зафиксированы по версиям;
|
||||||
|
- конфигурация отделена от исходного кода.
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp .env.example .env
|
||||||
|
# задайте SECRET_KEY длиной не менее 32 символов,
|
||||||
|
# POSTGRES_PASSWORD, параметры Proxmox и ALLOW_ORIGINS
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
Frontend будет доступен на `http://host:5173`. Для production следует использовать HTTPS на внешнем reverse-proxy.
|
||||||
|
|
||||||
|
## Следующие этапы переноса функциональности
|
||||||
|
|
||||||
|
1. Перенести модели пользователей, шаблонов и инстансов.
|
||||||
|
2. Добавить Alembic-миграции.
|
||||||
|
3. Реализовать очередь провижининга и резервирование VMID.
|
||||||
|
4. Перенести Proxmox client с ожиданием и повторными попытками задач.
|
||||||
|
5. Передавать VM credentials через cloud-init, а LXC credentials — через API создания контейнера.
|
||||||
|
6. Не хранить пароли гостевых систем после однократной выдачи.
|
||||||
|
7. Добавить rate limiting, аудит и автоматические тесты.
|
||||||
|
|
||||||
|
## Безопасность
|
||||||
|
|
||||||
|
Не используйте `root@pam` для API-токена. Создайте отдельного Proxmox-пользователя с минимальным набором прав. Не публикуйте `.env`, не отключайте TLS-проверку и настройте резервное копирование PostgreSQL.
|
||||||
|
|||||||
Reference in New Issue
Block a user