Summary
In this chapter, we learned how to develop and apply techniques to improve the overall security of our container-based service architecture. We learned how leveraging rootless containers and avoiding UID 0 can reduce the attack surface of our services. Then, we learned how to sign and trust container images to avoid MITM attacks. Finally, we went under the hood of a containers' tools and looked at the Linux kernel's capabilities and the SELinux subsystem, which can help us fine-tune various security aspects for our running containers.
Now that we've done a deep dive into security, we are ready to move on to the next chapter, where we will take an advanced look at networking for containers.