[pve-devel] [PATCH qemu-server 1/7] api2 : migrate_vm : add migration_type "external"

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Nov 14 11:37:16 CET 2018


On Tue, Nov 13, 2018 at 11:22:23AM +0100, Dietmar Maurer wrote:
> I would like to move forward with that, but changing an existing API makes that difficult.
> 
> I would suggest to add a second API entry point instead:
> 
> __PACKAGE__->register_method({
>     name => 'external_migrate_vm',
>     path => '{vmid}/external_migrate',
>     method => 'POST',
> ...
> 
> Feel free to choose a better name ;-) We can the mark this API as unstable/experimental, and modify
> the parameters/types. IMHO most existing parameters does not really makes sense with external migration.
> I guess it is still possible to factor out most common code to avoid code duplication. 
>  
> What do you think?

@Alexandre: please set the permissions to root at pam only for this new API
path.

I see the following problematic aspects otherwise:
- potential back channel from a user/attacker-controlled target host to
  the source node via bugs in Qemu (might not even require a bug?)
- enumeration of hosts that root at pam can automatically connect to
- intrusion into node/cluster that root at pam can automatically connect to
  by live-migrating user/attacker-controlled VM there and trying to
  escape VM (e.g., the bridge/network there might have totally different
  assumptions about the trustworthiness of the attached guests, the
  node/cluster might not have the same patch level, etc.pp.)

given the above, I am not sure whether a model with explicit public keys
to target mapping somewhere in /etc/pve/priv/ might not be preferable
even with a limitation to root at pam.




More information about the pve-devel mailing list