<div dir="ltr">I'll be happy to be the driving force but I need info from experts.<br><br>Let's say the command will look like this:<br>lxc-sandbox -n mybox /bin/bash<br>Do you think that lxc-sandbox can use an API similar to libvirt-sandbox?<br>
<a href="http://rpm.pbone.net/index.php3/stat/45/idpl/19820275/numer/1/nazwa/virt-sandbox">http://rpm.pbone.net/index.php3/stat/45/idpl/19820275/numer/1/nazwa/virt-sandbox</a><br><br>Will lxc-sandbox need to call lxc-execute with a predefined secure config?<br>
Will it need to use seccomp, apparmor, selinux or something else?<br><br><div class="gmail_quote">On Tue, Jan 29, 2013 at 12:08 AM, Serge Hallyn <span dir="ltr"><<a href="mailto:serge.hallyn@canonical.com" target="_blank">serge.hallyn@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Quoting pablo platt (<a href="mailto:pablo.platt@gmail.com">pablo.platt@gmail.com</a>):<br>

> Hi,<br>
><br>
> Is there an example for a config file needed to create a sandbox?<br>
> I'm using ubuntu 12.04 (can use any other version if required).<br>
> I need to execute untrusted code inside a sandbox with lxc-execute.<br>
><br>
> libvirt-sandbox seems to be what I need but it's not available in ubuntu<br>
> and doesn't support limiting ram and cpu.<br>
> <a href="https://www.berrange.com/posts/2012/01/17/building-application-sandboxes-with-libvirt-lxc-kvm/" target="_blank">https://www.berrange.com/posts/2012/01/17/building-application-sandboxes-with-libvirt-lxc-kvm/</a><br>

><br>
> Is there an equivalent in lxc tools?<br>
> Is there a plan for something like a lxc-sandbox command?<br>
><br>
> Basically I want to disable everything and allow only the minimum to<br>
> compile and execute simple scripts.<br>
><br>
> I've started with the following config file but I don't know what else need<br>
> to be prevented or changed to protect the host.<br>
> Does anyone have a config file he can share?<br>
><br>
> Thanks<br>
><br>
> lxc.network.type = empty<br>
> lxc.cgroup.cpu.shares = 1234<br>
> lxc.cgroup.memory.limit_in_bytes = 10M<br>
> lxc.cgroup.memory.memsw.limit_in_bytes = 20M<br>
> lxc.cgroup.devices.deny = a<br>
> lxc.cap.drop = audit_control audit_write chown  dac_override<br>
> dac_read_search fowner fsetid ipc_lock ipc_owner kill lease linux_immutable<br>
> mac_admin mac_override mknod net_admin net_bind_service net_broadcast<br>
> net_raw setgid setfcap setpcap setuid  sys_boot sys_chroot sys_module<br>
> sys_nice sys_pacct sys_ptrace sys_rawio sys_resource sys_time sys_tty_config<br>
> #lxc.cap.drop = sys_admin syslog<br>
<br>
</div></div>You could also use a custom aa_profile and (if you move from precise to<br>
quantal) add a tight seccomp profile.<br>
<br>
There is no lxc-sandbox tool right now (at least in the main source, or<br>
elsewhere that I know of).  arkose might do what you want, not sure.<br>
But if you're willing to write it, an lxc-sandbox command would be a<br>
nice addition to lxc-execute IMO.<br>
<span class="HOEnZb"><font color="#888888"><br>
-serge<br>
</font></span></blockquote></div><br></div>