I often read that (docker) containers are not good for security. What are secure methods of creating secure isolated environments to run questionable programs in?
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?
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 as root 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.
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.