- Networking is the obvious one in this scenario. By default (on Docker/LXC/others) all containers are on the same virtual bridge and can communicate with each other. Even with some additional configuration and isolation it is possible to MITM attack other containers on the same host.
- It is very easy to DDoS adjacent containers e.g. by spamming signals, forking new processes, creating files. There is again no default safeguard against this.
cgroups can prevent containers from using too much memory or cpu
If a process's network namespace contains a network device then it is not an escape to use it by definition. If the network namespace for a process contains no devices then being able to use a network device would be an escape.
services:
your_service:
image: your_image
networks:
isolated_network:
another_service:
image: another_image
# This service is on the default network
I'd be curious how a vanilla (actual) networking setup is full of holes...Does that also apply to Kubernetes workloads? And does that then require an encrypted service mesh (e.g. Linkerd) or TLS between services?
Still a good idea to use tls.