[lxc-users] Failure to start a container with 'lxc.seccomp' option set
serge.hallyn at ubuntu.com
Mon Apr 28 18:30:28 UTC 2014
Quoting Nels Nelson (nels.n.nelson at gmail.com):
> Greetings, Serge,-
> I went ahead and tested out a blacklist, using the same lxc instance.
> I modified the /var/lib/lxc/test/config to specify the new seccomp policy
> lxc.seccomp = /tmp/blacklist
> However, now the lxc instance refuses to start at all:
Hm, I wonder if you're on an old libseccomp, or have an older copy
sitting around. Try doing
sed -i 's/mknod/mknod errno 0/' /tmp/blacklist
and see if it now loads. (errno 0 means it won't allow the mknod,
but will return success as though it had worked)
> I suppose my question is now: Is LXC somehow actually applying the seccomp
> restrictions to the container resources prior to init? And if so, why?
Prior to init, yes, but very close to the end. In fact right before
we run the start hooks. Since the start hooks come from the container
rootfs, we have to run them under seccomp. After that we close the
sigfd (so close has to be allowed), but that's about it.
> Shouldn't it start the container, and then begin to allow seccomp to
> enforce the syscall whitelisting for operations within the container?
> I suppose this might be sort of a chicken and egg problem, in that, if I
> wish to restrict a user's container, but still allow for a particular
> template to be provisioned and deployed by said user, then the init process
> may be entirely subversive, with respect to the sandboxing goal.
> With that in mind, can you give me an example of a simple seccomp
> white/black-list policy which would allow the lxc instance to init
> completely, but which would verifiably prevent some operation within the
> container, post-init?
> lxc-users mailing list
> lxc-users at lists.linuxcontainers.org
More information about the lxc-users