Навіщо потрібен двофакторний захист панелі Proxmox VE
Веб-інтерфейс Proxmox VE на порту 8006 відкриває повний контроль над віртуальними машинами: старт, стоп, консоль, диски і резервні копії. Один скомпрометований пароль адміністратора без другого фактора — це доступ до всієї інфраструктури, а не до одного сервісу.
Двофакторна автентифікація (2FA) вимагає після пароля ввести одноразовий код або підтвердити вхід апаратним ключем. Навіть якщо пароль витік через фішинг або базу іншого сайту, увійти в панель без другого фактора не вийде.
Які способи 2FA підтримує Proxmox VE
Proxmox VE підтримує кілька варіантів другого фактора: одноразові коди TOTP із застосунку-автентифікатора, апаратні і програмні ключі WebAuthn, а також одноразові паролі із заздалегідь згенерованого списку (recovery keys).
| Спосіб | Що потрібно | Коли зручний |
|---|---|---|
| TOTP | застосунок-автентифікатор на телефоні | базовий захист для всіх користувачів |
| WebAuthn | USB-ключ або біометрія пристрою | адміністратори з повним доступом |
| Recovery keys | роздрукований список одноразових кодів | резерв на випадок втрати телефону |
Як увімкнути TOTP для користувача
Налаштування виконується від імені самого користувача в розділі Datacenter → Permissions → Two Factor або через особистий профіль у правому верхньому куті панелі.
# додати TOTP-фактор користувачу через консоль
pveum user tfa add ivan@pve --type totp
Після виконання команди або підтвердження у веб-інтерфейсі Proxmox VE покаже QR-код: його скановують застосунком на кшталт Google Authenticator або Aegis, після чого вводять перший згенерований код для перевірки прив'язки. З цього моменту при кожному вході після пароля з'явиться додаткове поле для коду.
Резервні коди і що робити при втраті телефону
Під час налаштування TOTP Proxmox VE пропонує зберегти набір одноразових резервних кодів. Кожен код діє один раз і підходить замість TOTP, якщо телефон із застосунком-автентифікатором недоступний.
- Роздрукуйте або збережіть резервні коди окремо від телефону, на якому стоїть застосунок.
- Якщо коди закінчилися, а телефон втрачено, відновити доступ може лише адміністратор із роллю PVEAdmin через розділ Permissions → Two Factor, видаливши фактор у заблокованого користувача.
- Після відновлення одразу налаштуйте TOTP знову на новому пристрої.
Саме тому у другого адміністратора завжди повинен бути окремий обліковий запис із налаштованим 2FA — правильний розподіл таких ролей описано у статті про користувачів і ACL.
Ключі WebAuthn для адміністраторів
Для облікових записів із роллю PVEAdmin розумно використовувати WebAuthn замість або на додаток до TOTP: фізичний ключ неможливо перехопити фішингом, а прив'язка йде до конкретного домену панелі. Ключ реєструється в тому ж розділі Two Factor кнопкою Add → WebAuthn, далі браузер запитує дотик ключа або підтвердження відбитком пальця.
WebAuthn не замінює пароль, а додається до нього як другий фактор — комбінація «пароль + апаратний ключ» на практиці майже виключає віддалений злом облікового запису адміністратора.
Додатковий захист: порт, ліміт спроб і fail2ban
2FA знижує шкоду від витоку пароля, але не зупиняє перебір паролів на самому порту 8006. Додатково варто обмежити доступ до порту через файрвол Proxmox VE, дозволивши вхід лише з довірених адрес або через VPN.
# fail2ban для веб-інтерфейсу Proxmox
apt install fail2ban
systemctl enable --now fail2ban
fail2ban-client status proxmox
Починаючи з сучасних версій Proxmox VE в комплекті вже є готовий jail для fail2ban, який блокує IP-адресу після кількох невдалих спроб входу в панель. Увімкнути його можна однією командою, наведеною вище, без ручного налаштування фільтрів.
Чек-лист захисту веб-інтерфейсу Proxmox VE
- У кожного адміністратора увімкнено TOTP або WebAuthn.
- Резервні коди збережені в безпечному місці окремо від телефону.
- Доступ до порту 8006 обмежений файрволом або VPN.
- Увімкнено fail2ban для блокування перебору паролів.
- API-токени для автоматизації видані окремо від пароля користувача.
Такий набір заходів захищає панель керування від типових атак і робить компрометацію одного пароля недостатньою для доступу до інфраструктури.