This repository has been archived on 2026-08-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Proxmox-VPS-Panel-secure/README.md
T

43 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Proxmox VPS Panel Secure
Защищённая переработка `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.