Зачем нужна двухфакторная защита панели 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-токены для автоматизации выданы отдельно от пароля пользователя.
Такой набор мер защищает панель управления от типовых атак и делает компрометацию одного пароля недостаточной для доступа к инфраструктуре.