3 ms·
> It's not a security boundary. It is a security boundary, just not necessarily the best one.
by scarby2 2y ago
> It's not a security boundary.
It is a security boundary, just not necessarily the best one.
- andix 2y agoI would even claim it's a pretty good security boundary, good enough for most applications.
- bayindirh 2y agoIt's an incidental security boundary because CGroups happen to isolate the process fairly well.
- vilunov 2y agoYeah, but that's not an incidental property of *namespaces* (of which cgroups is only one isolation axis), that was the requirement when namespaces were designed.
- bayindirh 2y agoYeah, I know. Namespaces are pretty cool outside containers too. My comment was more of a soft jab against using containers as the ultimate "thing" for anything and everything. I prefer to use them as "statically linked binaries" for short lived processes (like document building, etc.). But, whenever someone abuses containers (like adding an HTTPs fronting container in front of anything which can handle HTTPS on its own) I'm displeased. Relevant XKCD: https://xkcd.com/1988/ https://xkcd.com/1988/
- ajross 2y agoAll security boundaries are "incidental" in that sense, though. Virtualization isn't a "purpose-designed" security boundary either, most of the time it's deployed for non-security reasons and the original motivation was software compatibility management. The snobbery deployed in this "containers vs. VMs" argument really gets out of hand sometimes. Especially since it's almost never deployed symmetrically. Would you make the same argument against using a BSD jail? Do you refuse to run your services in a separate UID because it's not as secure as a container (or jail, or VM)? Of course not. Pick the tools that match the problem, don't be a zealot.
- bayindirh 2y ago> All security boundaries are "incidental" in that sense, though X86 protected mode, processor rings, user isolation in the multi user operating systems, secure execution environments in X86 and ARM ISAs, kernel and userspace isolation, etc. are purpose built security boundaries. Virtualization is actually built to allow better utilization of servers, which is built as a "nested protected mode", but had great overhead in the beginning, which has been reduced over generations. Containers are just BSD jails, ported to Linux. This doesn't make containers bad, however. They're a cool tech, but held very wrong in some cases because of laziness.
- ajross 2y agoThe motivation for MMU hardware was reliability and not "security". Basically no one was thinking about computer crime in the 1970's. They were trying to keep timesharing systems running without constant operator intervention.