News for hackers. Stuff that matters.
Re:Binctr: Static, unprivileged, self-contained containers a... by ajross on Sunday December 23, 2018 @09:13AM (#18746159)
POSIX doesn't speak to the problem at all (except for chroot). It's just not part of the standard.

With linux, it's because the tools are exposed piecewise. Creating a process namespace isn't the same thing as creating a virtual network device. You can use cgroups to stop a container all at once, sure, but you can also use them for other useful purposes and the code is the same. Some of these APIs are simple, some less so. But they're tools.

I know, I know, now you're asking "well, why didn't someone just put all the tools together in one box that would do it with one sane UI?!"

They did. It's called Docker.

Re:Binctr: Static, unprivileged, self-contained containers a... by amelius on Sunday December 23, 2018 @09:55AM (#18746363)
> I know, I know, now you're asking "well, why didn't someone just put all the tools together in one box that would do it with one sane UI?!"

> They did. It's called Docker.

Yes I see that. But I was hoping more for a toolbox like GNU fileutils, not a toolbox with a billion dollar valuation (which is what Docker is)

Re:Binctr: Static, unprivileged, self-contained containers a... by icebraining on Sunday December 23, 2018 @10:51AM (#18746700)
If you're already using systemd, there's systemd-nspawn.
Re:Binctr: Static, unprivileged, self-contained containers a... by ytjohn on Sunday December 23, 2018 @10:29AM (#18746589)
Take a look at rkt. It seems like it would be much closer as it does script based container execution.

https://coreos.com/rkt/

Re:Binctr: Static, unprivileged, self-contained containers a... by meddlepal on Sunday December 23, 2018 @04:52PM (#18748569)
Rkt is pretty much dead as a standalone technology. It was influential in a number of ways though (for example, it forced the CRI to come into existence in Kubernetes).
Re:Binctr: Static, unprivileged, self-contained containers a... by zbentley on Sunday December 23, 2018 @11:57AM (#18747074)
> I was hoping more for a toolbox like GNU fileutils, not a toolbox with a billion dollar valuation

What do you see as the primary differences between those two projects, or types of projects?

Re:Binctr: Static, unprivileged, self-contained containers a... by alexandre_m on Sunday December 23, 2018 @05:10PM (#18748676)
Re:Binctr: Static, unprivileged, self-contained containers a... by groestl on Sunday December 23, 2018 @12:51PM (#18747330)
Well, there is unshare. The problem really is network devices, which require tinkering with C.
Re:Binctr: Static, unprivileged, self-contained containers a... by maccio92 on Sunday December 23, 2018 @12:58PM (#18747358)
So because a tool is valuable you don't want to use it?
Re:Binctr: Static, unprivileged, self-contained containers a... by wyldfire on Sunday December 23, 2018 @09:52AM (#18746345)
Actually lxc is fairly mature and a more "Linux native" sandboxing feature. But docker certainly was/is more popular.
Re:Binctr: Static, unprivileged, self-contained containers a... by ajross on Sunday December 23, 2018 @09:56AM (#18746371)
I know. And the linked project is an effort in that direction too. The point was that a knee jerk "sandboxing in linux is hard" argument is just silly on its face. Because Docker. Just go read any of the bajillion tutorials and testimonials about how to get your process to run in a sandbox.
Re:Binctr: Static, unprivileged, self-contained containers a... by hedora on Sunday December 23, 2018 @02:20PM (#18747795)
Are any of the linux sandboxes considered secure yet?

Last I checked, they weren’t suitable for multi-tenant machines or for running untrusted code.

Re:Binctr: Static, unprivileged, self-contained containers a... by cpuguy83 on Sunday December 23, 2018 @02:45PM (#18747914)
Fundamentally they share a kernel with the host. This has its own implications.

Beyond that it is very difficult to get things right, and there's definitely some information leakage (e.g. see the output of `mount` in a docker container... not a docker specific problem).

The main issue is, having a VM layer is always going to be "more secure" (because it's another security boundary) than not having a VM layer. Of course VM's have their own issues.

So if you have a need to run multi-tenant/untrusted workloads it's kind of a CYA situation where if you don't use this extra security boundary and there is a problem sometime down the line then you'll have to answer questions like "why didn't you do ..."

The reality is you can do a lot to lock things down with seccomp+selinux/apparmor.

Re:Binctr: Static, unprivileged, self-contained containers a... by ajross on Sunday December 23, 2018 @04:32PM (#18748476)
Secure for what? I mean, sandboxing is more or less inherently a security technique. An app running in a Docker (or whatever) container is less exposed than one running on a big shared host. Is it as firm an isolation as you get from a proper virtual machine layer? No. But then, as we've discovered over the past year the hardware itself can have bugs that poke holes in that protection.

No free lunch. But yeah, Linux's suite of "container" tools are basically as secure as any other OS's "containers", no matter what spin you're reading elsewhere.