<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CNCF-led &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/cncf-led/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Sat, 10 Aug 2019 07:02:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>CNCF-led open source Kubernetes security audit reveals 37 flaws in Kubernetes cluster; recommendations proposed</title>
		<link>https://www.bestdevops.com/cncf-led-open-source-kubernetes-security-audit-reveals-37-flaws-in-kubernetes-cluster-recommendations-proposed/</link>
					<comments>https://www.bestdevops.com/cncf-led-open-source-kubernetes-security-audit-reveals-37-flaws-in-kubernetes-cluster-recommendations-proposed/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 10 Aug 2019 07:02:30 +0000</pubDate>
				<category><![CDATA[IT Training]]></category>
		<category><![CDATA[audit]]></category>
		<category><![CDATA[CNCF-led]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=6879</guid>

					<description><![CDATA[Source: packtpub.com Last year, the Cloud Native Computing Foundation (CNCF) initiated a process of conducting third-party security audits for its [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Source: packtpub.com</p>



<p class="wp-block-paragraph">Last year, the Cloud Native Computing Foundation (CNCF) initiated a 
process of conducting third-party security audits for its own projects. 
The aim of these security audits was to improve the overall security of 
the CNCF ecosystem.</p>



<p class="wp-block-paragraph">CoreDNS, Envoy and Prometheus  are some of the CNCF projects which underwent these audits, resulting  in identification of several security issues and vulnerabilities in the  projects. With the help of the audit results, CoreDNS, Envoy and  Prometheus addressed their security issues and later, provided users  with documentation for the same.</p>



<p class="wp-block-paragraph">CNCF CTO Chris Aniszczyk says <em>“The  main takeaway from these initial audits is that a public security audit  is a great way to test the quality of an open source project along with  its vulnerability management process and more importantly, how  resilient the open source project’s security practices are.”</em> He has  also announced that, later this year, CNCF will initiate a bounty  program for researchers who identify bugs and other cybersecurity  shortcomings in their projects.</p>



<p class="wp-block-paragraph">After tasting initial success, CNCF formed a Security Audit Working Group to provide security audits to their graduated projects,  using the funds provided by the CNCF community. CNCF’s graduated  projects include Kubernetes, Envoy, Fluentd among others. Due to the  complexity and wide scope of the project, the Working group appointed  two firms called the Trail of Bits and Atredis Partners  to perform Kubernetes security audits. Trail of Bits implements  high-end security research to identify security vulnerabilities and  reduce risk and strengthen the code. Similarly, Atredis Partners also  does complex and research-driven security testing and consulting.</p>



<h2 class="wp-block-heading">Kubernetes security audit findings</h2>



<p class="wp-block-paragraph">Three days ago, the Trail of Bits team released an assessment report called the Kubernetes Security Whitepaper,  which includes all the key aspects of the Kubernetes attack surface and  security architecture. It aims to empower administrators, operators,  and developers to make better design and implementation decisions. The  Security Whitepaper presents a list of potential threats to Kubernetes  cluster.</p>



<h3 class="wp-block-heading">Kubernetes cluster vulnerabilities</h3>



<p class="wp-block-paragraph">A Kubernetes cluster consists of several base components such as 
kubelet, kube-apiserver, kube-scheduler, kube-controller-manager, and a 
kube-apiserver storage backend. Components like controllers and 
schedulers in Kubernetes assist in networking, scheduling, or 
environment management. Once a base Kubernetes cluster is configured, 
the Kubernetes clusters are managed by operator-defined objects. These 
operator-defined objects are referred as abstractions, which represents 
the state of the Kubernetes cluster. To provide an easy way of 
configuration and portability, the abstractions also include the 
component-agnostic. This again increases the operational complexity of a
 Kubernetes cluster.</p>



<p class="wp-block-paragraph">Since Kubernetes is a large system with many functionalities, the 
security audit was conducted on selected eight components within the 
larger Kubernetes ecosystem:</p>



<ul class="wp-block-list"><li>Kube-apiserver</li><li>Etcd</li><li>Kube-scheduler</li><li>Kube-controller-manager</li><li>Cloud-controller-manager</li><li>Kubelet</li><li>Kube-proxy</li><li>Container Runtime</li></ul>



<p class="wp-block-paragraph">The Trail of Bits team firstly identified three types of attackers within a Kubernetes cluster:</p>



<ul class="wp-block-list"><li>External attackers (who did not have access to the cluster)</li><li>Internal attackers (who had transited a trust boundary)</li><li>Malicious Internal users (who abuse their privilege within the cluster)</li></ul>



<p class="wp-block-paragraph">The security audits resulted in total 37 findings,  including 5 high severity, 17 medium severity, 8  low severity and 7  informational in the access control, authentication, timing, and data  validation of a Kubernetes cluster. Some of the findings include:</p>



<ul class="wp-block-list"><li>Insecure TLS is in use by default</li><li>Credentials are exposed in environment variables and command-line arguments</li><li>Names of secrets are leaked in logs</li><li>No certificate revocation</li><li>seccomp is not enabled by default</li></ul>



<h5 class="wp-block-heading">Recommendations for Kubernetes cluster administrators and developers</h5>



<p class="wp-block-paragraph">The Trail of Bits team have proposed a
 list of best practices and guideline recommendations for cluster 
administrators and developers.</p>



<h3 class="wp-block-heading">Recommendations for cluster administrators</h3>



<ul class="wp-block-list"><li><strong>Attribute Based Access Controls vs Role Based Access Controls: </strong>Role-Based
 Access Controls (RBAC) can be configured dynamically while a cluster is
 operational. In contrast, Attribute Based Access Control (ABAC) are 
static in nature. This increases the difficulty of ensuring proper 
deployment and enforcement of controls.</li><li><strong>RBAC best practices: Administrators
 are advised to test their RBAC policies to ensure that the policies 
defined on the cluster are backed by an appropriate component 
configuration and that the policies properly restrict behavior.</strong></li><li><strong>Node-host configurations and permissions:</strong> Appropriate
 authentication and access controls should be in place for the cluster 
nodes as an attacker with network access can use Kubernetes components 
to compromise other nodes.</li><li><strong>Default settings and backwards compatibility:</strong> Kubernetes
 contains many default settings which negatively impact the security of a
 cluster. Hence, cluster operators and administrators must ensure that 
the component and workload settings are rapidly changed and redeployed, 
in case of a compromise or an update.</li><li><strong>Networking:</strong> Due to 
the complexity of Kubernetes networking, there are many recommendations 
for maintaining a secure network. Some of them include: proper 
segmentation, isolation rules of the underlying cluster hosts should be 
defined. An executing control-plane components host should be isolated 
to the greatest extent possible.</li><li><strong>Environment considerations:</strong> The
 security of a cluster’s operating environment should be addressed. If a
 cluster is hosted on a cloud provider, administrators should ensure 
that best-practice hardening rules are implemented.</li><li><strong>Logging and alerting: </strong>Centralized logging of both workload and cluster host logs is recommended to enable debugging and event reconstruction. </li></ul>



<h4 class="wp-block-heading">Recommendations for developers</h4>



<ul class="wp-block-list"><li><strong>Avoid hardcoding paths to dependencies: Developers  are advised to be conservative and cautious when handling external  paths. Users should be warned if a path was not found, and have an  option to specify it through a configuration variable.</strong></li><li><strong>File permissions checking:</strong> Kubernetes  should provide users the ability to perform file permissions checking,  and enable this feature by default. This will help prevent common file  permissions misconfigurations and help promote more secure practices.</li><li><strong>Monitoring processes on Linux:</strong> A Linux  process is uniquely identified in the user-space via a process  identifier or PID. A PID will point to a given process as long as the  process is alive. If it dies, the PID can be reused by another spawned  process.</li><li><strong>Moving processes to a cgroup:</strong> While  moving a given process to a less restricted cgroup, it is necessary to  validate that the process is the correct process after performing the  movement.</li><li><strong>Future cgroup considerations for Kubernetes:</strong> Both Kubernetes and the components it uses (runc, Docker)  have no support for cgroups. Currently, it is not an issue, however, it  would be good to track this topic as it might change in the future.</li><li><strong>Future process handling considerations for Kubernetes:</strong> Tracking and participating in the development of a processes (or threads) on Linux is highly recommended.</li></ul>



<h5 class="wp-block-heading">Kubernetes security audit sets precedent for other open source projects</h5>



<p class="wp-block-paragraph">By conducting security audits and open sourcing the findings, 
Kubernetes, a widely used container-orchestration system, is setting a 
great precedent to other projects. This shows Kubernetes’ interest in 
maintaining security in their ecosystem. Though the number of security 
flaws found in the audit may upset a Kubernetes developer, it surely 
assures them that Kubernetes is trying its best to stay ahead of 
potential attackers. The Security Whitepaper and the threat model, 
provided in the security audit is expected to be of great help to 
Kubernetes community members for future references.</p>



<p class="wp-block-paragraph">Developers have also appreciated CNCF for undertaking great efforts in securing the Kubernetes system.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/cncf-led-open-source-kubernetes-security-audit-reveals-37-flaws-in-kubernetes-cluster-recommendations-proposed/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
