I’ve read that standard containers are optimized for developer productivity and not security, which makes sense.
But then what would be ideal to use for security? Suppose I want to isolate environments from each other for security purposes, to run questionable programs or reduce attack surface. What are some secure solutions?
Something without the performance hit of VMs
Where did you read that and which arguments did the authors make?
Many times, the configuration of Docker is the issue, e.g. mounting stuff like files from
/etc/
or the Docker socket from the outside, using insecure file permissions or running the application asroot
user.If you use rootless Docker or Podman, you already eliminated one of the security risks. The same goes for the other mentioned things.
What exactly do you mean by “questionable programs”? If you want to run malware, you shouldn’t do so in an environment where it can break out of anything. There’s the possibility of hardware virtualisation which prevents many of the outbreaks possible, but even then, exploits have been found.
You’re really only secure if you run questionable software on an airgapped computer with no speakers and never run anything else on it.
What would be your use case?
How come no speakers? Is it to prevent your ears from being blasted just in case, or is there malware that can be transmitted through audio?
Yep, e.g. https://www.sciencedirect.com/science/article/abs/pii/S0167404821000523
Dang, that’s wild. there is some insane malware out there
There are multiple use cases I have in mind, but one of them is running proprietary software I don’t outright trust. For example, zoom video conferencing for work, or steam for games.
Docker isnt build to run these type of Programms. You should look into sandbox environments to test these apps.
Try firejail and flatseal for that.