By default, containers run as root. We consider this a security risk and something overlooked in many cases.
How Magalix Helps
Magalix KubeAdvisor ships with a governance policy that detects all your containers running as root across all of your Kuberentes clusters. We ship this policy enabled by default and consider this one of our best practice policies due to the level of access it gives to your running container.
Identifying the Issue
When logging into the Magalix console, find your cluster and drill down to Issues using the navigation bar on the left.
You’ll be brought to your Issues Dashboard. The top half of the page will contain information and graphs displaying the total number of violations against the total number of governance policies, or as we call them, Advisors. In the lower half of the page, locate Container running as root.
If you click on the issue, you can see an overview of how many entities are out of compliance along with a description of the Advisor.Towards the lower portion of the page, you will see each individual violation. After clicking on an entity, you can see the full breakdown in our Recommendation page.
In every policy, we give a brief explanation of our policy.
As a part of the violation, Magalix KubeAdvisor shows you your entity in YAML format. You can identify exactly where the problem is. In this case, you can search for securityContext and examine whether or not runAsNonRoot is set.
This area provides suggestions on how you can resolve the violation.
At the bottom, we also show you how long this entity has been in violation, giving you some insight into whether or not any new issues are a result of this violation.
Docker containers run as root by default. Kubernetes allows you to set which user you’d like to run as. In combination with understanding the users available in your container and by setting the container to run as that user, you can be sure that you have at least one security safeguard in place to protect your most important digital assets.