<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Madhu Akula</title>
    <description>The latest articles on Forem by Madhu Akula (@madhuakula).</description>
    <link>https://forem.com/madhuakula</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F166767%2F95b0fd77-5a55-4912-8fe0-8f81243c0ac2.jpeg</url>
      <title>Forem: Madhu Akula</title>
      <link>https://forem.com/madhuakula</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/madhuakula"/>
    <language>en</language>
    <item>
      <title>DEF CON Training — A Practical Approach to Breaking &amp; Pwning Kubernetes Clusters</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Tue, 19 Jul 2022 22:24:56 +0000</pubDate>
      <link>https://forem.com/madhuakula/def-con-training-a-practical-approach-to-breaking-pwning-kubernetes-clusters-20b6</link>
      <guid>https://forem.com/madhuakula/def-con-training-a-practical-approach-to-breaking-pwning-kubernetes-clusters-20b6</guid>
      <description>&lt;h3&gt;
  
  
  DEF CON Training — A Practical Approach to Breaking &amp;amp; Pwning Kubernetes Clusters
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Popular Kubernetes Security Hacking @ DEF CON Trainings
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N2cRGZv1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A4QBOMKZRRDrcSzkmOhDfYA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N2cRGZv1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A4QBOMKZRRDrcSzkmOhDfYA.png" alt="" width="880" height="358"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="https://defcontrainings.myshopify.com/products/madhu-akula-a-practical-approach-to-breaking-pwning-kubernetes-clusters"&gt;https://defcontrainings.myshopify.com/products/madhu-akula-a-practical-approach-to-breaking-pwning-kubernetes-clusters&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Woah! It’s amazing to see DEF CON 30 has started the training officially 🙌&lt;/p&gt;

&lt;p&gt;I’ve been presenting and sharing my research at &lt;a href="https://madhuakula.com/event/"&gt;DEF CON since 2016 via workshops, talks, etc among other conferences around the globe&lt;/a&gt;. But this time I’m super excited to teach my popular training at the global hacker's stage on “A Practical Approach to Breaking &amp;amp; Pwning Kubernetes Clusters”.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are interested in learning something from some of my previous research, trainings, workshops and knowledge. &lt;a href="https://madhuakula.com/content/"&gt;Here are some of my content and give aways!&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Introduction to DEF CON and Training
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;DEF CON&lt;/strong&gt; (also written as &lt;strong&gt;DEFCON&lt;/strong&gt; , &lt;strong&gt;Defcon,&lt;/strong&gt; or &lt;strong&gt;DC&lt;/strong&gt; ) is one of the world’s largest and most notable hacker conventions, held annually in Las Vegas, Nevada. The attendees include computer security professionals, journalists, lawyers, federal government employees, security researchers, students, and hackers with a general interest in software, computer architecture, hardware modification, conference badges, and anything else that can be “hacked”.&lt;br&gt;&lt;br&gt;
— &lt;a href="https://en.wikipedia.org/wiki/DEF_CON"&gt;https://en.wikipedia.org/wiki/DEF_CON&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DEF CON has been the world’s most influential hacker con for thirty years. This year DEF CON running intensive, two-day courses of study with world-class instructors aimed at building specific skills in a challenging, fast-paced environment. In some cases, these courses will carry a certification.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why should I join &lt;em&gt;A Practical Approach to Breaking &amp;amp; Pwning Kubernetes Clusters&lt;/em&gt; Training?
&lt;/h4&gt;

&lt;p&gt;Yes, that’s a great question 😊&lt;/p&gt;

&lt;p&gt;Here are 3 reasons among many others hundreds 😅&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Why Kubernetes security?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers, Kubernetes is used everywhere, and understanding its security is paramount to break &amp;amp; hack or protect &amp;amp; defend against security attacks and vulnerabilities in the ever-growing and adapting ecosystem&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Then why me?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I have been working on containers and Kubernetes since 2016, as I’ve previously mentioned did a ton of research and shared it with the community and conferences like Blackhat, DEFCON, USENIX, SANS, OWASP, etc. among many others. Apart from that, I’ve also created a practical interactive community learning playground to teach about Kubernetes Security using “&lt;a href="https://madhuakula.com/kubernetes-goat/"&gt;Kubernetes Goat&lt;/a&gt;”. Which helped thousands of folks around the globe to learn and understand real-world attacks and security misconfigurations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 It looks like you already sold me? Anything else?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, here are some more things I believe why it helps you 😊&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This course is built from years of experience and real-world knowledge put as simulated scenarios of testing hundreds of clusters. Also built by the author of Kubernetes Goat and Hacker container&lt;/li&gt;
&lt;li&gt;It has a complete hands-on approach, from beyond basic attacks to privilege escalation, exploitation, lateral movement, persistence, defense evasion, and many other techniques&lt;/li&gt;
&lt;li&gt;To gain the confidence to perform pen-testing, red teaming, and security architecture reviews of Kubernetes Clusters and Containerised environments&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  What I will get out of the Training?
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Real-World practical knowledge of effectively performing Pentesting/RedTeam/Security reviews of Kubernetes and Containersed environments&lt;/li&gt;
&lt;li&gt;Going beyond basics, showcasing attack trees, and chaining vulnerabilities to cover the possible security risks like privilege escalation, exploitation, lateral movement, persistence, defense evasion, and many other techniques&lt;/li&gt;
&lt;li&gt;Complete Digital Guide book, cheat sheets, many other resources, and references to further your learning&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  A little glimpse of the Training
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4mHxha7x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ACztwpzfKLSwkZrBmXNeiwQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4mHxha7x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ACztwpzfKLSwkZrBmXNeiwQ.png" alt="" width="880" height="440"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Some of the fantastic hacking, breaking, and Pwning of clusters, nodes, containers, and cloud environments!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Okay, I’m super excited now. How can I sign up?
&lt;/h4&gt;

&lt;p&gt;Here is the official DEF CON 30 training registration link, make sure you register before the training sold out 😉&lt;/p&gt;

&lt;p&gt;&lt;a href="https://defcontrainings.myshopify.com/products/madhu-akula-a-practical-approach-to-breaking-pwning-kubernetes-clusters"&gt;https://defcontrainings.myshopify.com/products/madhu-akula-a-practical-approach-to-breaking-pwning-kubernetes-clusters&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Anything I should be prepared before coming?
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Laptop with a modern browser, and wireless internet connectivity. For the training purpose, you will get your Kubernetes cluster with all the setup included so we can purely focus on training to learn and hack!&lt;/li&gt;
&lt;li&gt;Here are some skills which might be helpful to accelerate the training&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Able to use Linux CLI&lt;br&gt;&lt;br&gt;
👉 Basic understanding of system administration&lt;br&gt;&lt;br&gt;
👉 Experience with Docker and Containers ecosystem would be useful&lt;br&gt;&lt;br&gt;
👉 Security Experience would be plus&lt;/p&gt;

&lt;p&gt;Thank you so much for reading this article, super excited and looking forward to seeing you at DEF CON 30 👋&lt;/p&gt;




</description>
      <category>conference</category>
      <category>security</category>
      <category>hacking</category>
      <category>training</category>
    </item>
    <item>
      <title>A Practical Approach to Breaking &amp; Pwning Kubernetes Clusters</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Mon, 10 May 2021 22:24:20 +0000</pubDate>
      <link>https://forem.com/madhuakula/a-practical-approach-to-breaking-pwning-kubernetes-clusters-490f</link>
      <guid>https://forem.com/madhuakula/a-practical-approach-to-breaking-pwning-kubernetes-clusters-490f</guid>
      <description>&lt;p&gt;&lt;a href="https://rebrand.ly/bhusa21"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_vRsttaL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AikgPpEZ_XmVDonG9DPf3Lw.png" alt=""&gt;&lt;/a&gt;&lt;a href="https://rebrand.ly/bhusa21"&gt;&lt;/a&gt;&lt;a href="https://rebrand.ly/bhusa21"&gt;https://rebrand.ly/bhusa21&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Join me at Black Hat USA 2021 hands-on training!
&lt;/h4&gt;

&lt;p&gt;Super excited to run a complete attacker and offensive-focused Kubernetes Security training at Black Hat USA 2021 (online — virtual). It’s such a privilege and honor to train and present at Black Hat as always. After training multiple batches with sold-out trainings at Black Hat physically(before corona situations), this year I will be running a virtual online training on “&lt;a href="https://rebrand.ly/bhusa21"&gt;&lt;strong&gt;A Practical Approach to Breaking &amp;amp; Pwning Kubernetes Clusters&lt;/strong&gt;&lt;/a&gt;” with 2 batches.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can register for this training before it gets soldout at &lt;a href="https://rebrand.ly/bhusa21"&gt;https://rebrand.ly/bhusa21&lt;/a&gt; and there is an early-bird discount as well :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Why this training, why blackhat, and why Madhu Akula?
&lt;/h4&gt;

&lt;p&gt;The adoption of Kubernetes use in production has increased to 83% from a survey by CNCF. Still, most of the security teams struggle to understand these modern technologies.&lt;/p&gt;

&lt;p&gt;Some of the high-level things you will be doing in this course:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exploiting Misconfigruations, Private Registries by performing simple Recon&lt;/li&gt;
&lt;li&gt;Escaping out of containers to host systems &amp;amp; cluster to gain more access&lt;/li&gt;
&lt;li&gt;Escalating privileges, DoS cluster resources, Lateral movement from container&lt;/li&gt;
&lt;li&gt;Gaining unauthorized access to namespaces, microservices, data, and logs&lt;/li&gt;
&lt;li&gt;Breaking the boundaries of NSP(Network Security Policy), RBAC, PSP(Pod Security Policy)&lt;/li&gt;
&lt;li&gt;Defense evasion techniques &amp;amp; Persistance in Cluster environments&lt;/li&gt;
&lt;li&gt;Evaluating the cluster security using CIS benchmarks and Cluster Audits to find all possible risks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Black Hat&lt;/strong&gt; is an internationally recognized premier cybersecurity event, highly technical that bring together thought leaders from all facets of the infosec world. Black Hat training sessions are provided by some of the most respected experts in the world and many also provide formal certifications to qualifying attendees. Read more about Black Hat &lt;a href="https://www.blackhat.com/about.html"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://madhuakula.com"&gt;&lt;strong&gt;Madhu Akula&lt;/strong&gt;&lt;/a&gt; has been working on Containers and Kubernetes since 2016. Created &lt;a href="https://github.com/madhuakula/kubernetes-goat"&gt;Kubernetes Goat&lt;/a&gt;, an intentionally vulnerable by design Kubernetes Cluster to learn and practice Kubernetes Security from years of experience from testing, reviewing, architecting, building, and researching Containers, Kubernetes, and Cloud Native Infrastructure environments. Read more about Madhu Akula and his work &lt;a href="https://madhuakula.com"&gt;https://madhuakula.com&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What you will be learning in this training?
&lt;/h4&gt;

&lt;p&gt;This training is focused on the offensive and attacker point of view of Kubernetes Security. In this real-world scenario-based training, each participant will be learning Tactics, Techniques, and Procedures (TTP) to attack and assess Kubernetes clusters environments at different layers like Supply chain, Infrastructure, Runtime, and many others. Starting from simple recon to gaining access to microservices, sensitive data, escaping containers, escalating to clusters privileges, and even its underlying cloud environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Section-1&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kubernetes 101 — Fasttrack Edition&lt;/li&gt;
&lt;li&gt;Security Architecture Review &amp;amp; Attack Trees using MITRE ATT&amp;amp;CK framework&lt;/li&gt;
&lt;li&gt;kubectl kung-fu to explore the cluster&lt;/li&gt;
&lt;li&gt;Attacking the supply chain by exploiting private registry&lt;/li&gt;
&lt;li&gt;Pwning the container images and gaining access to the cluster&lt;/li&gt;
&lt;li&gt;Exploiting security misconfigurations in the cluster&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Section-2&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Escaping out of the container to the host system to gain more privileges&lt;/li&gt;
&lt;li&gt;Bypassing NSP and gaining unauthorized access to other microservices&lt;/li&gt;
&lt;li&gt;Lateral movement from container to node and then complete cluster access&lt;/li&gt;
&lt;li&gt;Escalating from ServiceAccount to more RBAC privileges (No least privileges)&lt;/li&gt;
&lt;li&gt;Helm with Tiller service = ClusterPwn (Complete cluster takeover)&lt;/li&gt;
&lt;li&gt;Gaining access to k8s volumes, logs of the services, and sensitive data&lt;/li&gt;
&lt;li&gt;From application vulnerability to cloud provider access (attack chain)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Section-3&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/madhuakula/hacker-container"&gt;&lt;strong&gt;Hacker Container&lt;/strong&gt;&lt;/a&gt; — The Swiss Army knife for hacking Kubernetes Clusters&lt;/li&gt;
&lt;li&gt;Exploiting Kubernetes Secrets and gaining access to third-party services&lt;/li&gt;
&lt;li&gt;DoS the services and cluster nodes by resources exemption&lt;/li&gt;
&lt;li&gt;Understanding Admission controller and possible attack surface around Webhooks&lt;/li&gt;
&lt;li&gt;Persisting in the clusters using Sidecar/Cronjob/DaemonSets&lt;/li&gt;
&lt;li&gt;Defense evasion techniques for Kubernetes Cluster environments&lt;/li&gt;
&lt;li&gt;Some useful hacks around kubectl(cheatsheet will be provided)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Section-4&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tools, techniques for beyond manual exploitation and analysis&lt;/li&gt;
&lt;li&gt;KubeAudit, KubeSec, k9s, trivy, dockle, rakkess, linters, and many others…&lt;/li&gt;
&lt;li&gt;Performing Docker &amp;amp; K8S CIS benchmarks to find all the possible security risks&lt;/li&gt;
&lt;li&gt;Auditing the cluster security posture from Code to Production running cluster&lt;/li&gt;
&lt;li&gt;Real-World case studies of Kubernetes Hacking, Vulnerabilities and Exploits&lt;/li&gt;
&lt;li&gt;Best practices, Recommendations based on the Security Maturity&lt;/li&gt;
&lt;li&gt;Resources &amp;amp; references to further your attacks, exploitation, more learning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, lot of experience and knowledge from the trainer to ask curious questions and learn more about best practices, architecture reviews, advice, strategy, and some hacking stories.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why you should attend this training, what you will get?
&lt;/h4&gt;

&lt;p&gt;By end of the training, participants will be able to apply their knowledge to perform architecture reviews, security assessments, red team exercises, and pen-testing engagements on Kubernetes Clusters and Containersed environments successfully. Also, the trainer will provide step by step guide(Digital Book) with resources and references to further your learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways and Giveaways&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-World practical knowledge of effectively performing Pentests/RedTeam/SecurityReviews of Kubernetes and Containersed environments&lt;/li&gt;
&lt;li&gt;Going beyond basics, showcasing attack trees, and chaining vulnerabilities to cover all the possible security risks like privilege escalation, exploitation, lateral movement, persistence, defense evasion, many other techniques&lt;/li&gt;
&lt;li&gt;Complete Digital Guide book, labs, other resources to further your learning&lt;/li&gt;
&lt;li&gt;Private Slack Channel for next 30 days for any questions &amp;amp; discussions&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Who should attend and what to bring?
&lt;/h4&gt;

&lt;p&gt;One of the coolest things I have been doing since my first Black Hat training is running the entire training smoothly on browser-based labs. This means the attendee or participant just needs to bring their laptop with internet and browser and the trainer will be providing a dedicated custom-built Kubernetes Cluster for everyone.&lt;/p&gt;

&lt;p&gt;Some of the skill requirements include&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Able to use Linux CLI&lt;/li&gt;
&lt;li&gt;Basic understanding of system administration&lt;/li&gt;
&lt;li&gt;Experience with Docker and Containers ecosystem would be useful&lt;/li&gt;
&lt;li&gt;Security Experience would be plus&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  I work in DevOps/SRE team, can I join this training?
&lt;/h4&gt;

&lt;p&gt;Yes, absolutely you can join this training. This training very much helps anyone interested in learning more about attacks and the offensive side of the Kubernetes and containerized environments. While doing the training defenders/blue teams get a detailed picture of what things can go wrong and how we can secure Kubernetes Clusters and Cloud Native environments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pen Testers, Red Team, and Security Engineers&lt;/li&gt;
&lt;li&gt;DevOps, Defenders, Blue teams, Cloud and SRE teams to see the attackers side&lt;/li&gt;
&lt;li&gt;Security and Solutions Architects, Kubernetes Administrators&lt;/li&gt;
&lt;li&gt;Anyone interested in learning more about attacks and the offensive side of Kubernetes and Containersed environments security&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Some glimpse of this training includes
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RVEd45ds--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AeHjO4qzvEJsEjOto9Y9s8Q.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RVEd45ds--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AeHjO4qzvEJsEjOto9Y9s8Q.gif" alt=""&gt;&lt;/a&gt;Some of the glimpse for the Kubernetes Security training&lt;/p&gt;

&lt;h4&gt;
  
  
  Feedback &amp;amp; Review from previous attendees
&lt;/h4&gt;

&lt;p&gt;As I have been doing training, talks, and sessions around the globe for years. I had produced quite a lot of training and sessions around Kubernetes, Containers, and Cloud Native Security. So below are some of the feedback, review from the attendees and events recently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attendees Training Reviews: Hacking &amp;amp; Securing Kubernetes Clusters&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://shreyapohekar.com/blogs/my-experience-with-nullcon-training-hacking-and-securing-kubernetes-clusters-by-madhu/"&gt;My experience with Nullcon Training - Hacking and Securing Kubernetes clusters by Madhu - Geek Girl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/how-attending-nullcon-increased-my-security-appetite-aka-leibold/"&gt;How attending at NullCon increased my security appetite aka. about Flags, Hacking and Kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Nullcon Virtual Online Training Feedback Tweets&lt;/strong&gt;&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--884gBQ3s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/ext_tw_video_thumb/1369975157624819717/pu/img/QlMuGXverenrgXhN.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xxjw7Awl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1110872895591464960/bDLZ6Xe6_normal.png" alt="NULLCON profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        NULLCON
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @nullcon
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      😎We had an amazing 4 Days with &lt;a href="https://twitter.com/madhuakula"&gt;@madhuakula&lt;/a&gt; for his Training &lt;br&gt;&lt;br&gt;⚡Hacking and Securing Kubernetes Clusters &amp;amp; Students loved the Training session&lt;br&gt;&lt;br&gt;🙌Sharing with you the Upskilled Batch from Nullcon March Trainings 2021&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/Kubernetes"&gt;#Kubernetes&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Hacking"&gt;#Hacking&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Cybersecurity"&gt;#Cybersecurity&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Nullcon2021"&gt;#Nullcon2021&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      11:40 AM - 11 Mar 2021
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1369976422404608002" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1369976422404608002" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1369976422404608002" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;&lt;a href="https://twitter.com/Daniel_Leibold/status/1367039991390568452"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I2wmUIfS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/595/1%2AgkyK4r99SNe74kow8jcWFg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/nav2twit/status/1366970836901535745"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--orFdbs8U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/598/1%2AEvCJZB-kAXy2FwFMfouhqQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  This is awesome, I wanted to join the training. What should I do?
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;You can register for this training before it gets sold out at &lt;a href="https://rebrand.ly/bhusa21"&gt;https://rebrand.ly/bhusa21&lt;/a&gt; and there is an early-bird discount as well :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Registration Link:&lt;/strong&gt; &lt;a href="https://rebrand.ly/bhusa21"&gt;https://rebrand.ly/bhusa21&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looking forward to seeing you in the Black Hat training!&lt;/p&gt;




</description>
      <category>kubernetes</category>
      <category>devsecops</category>
      <category>pentesting</category>
      <category>security</category>
    </item>
    <item>
      <title>A practical guide to writing secure Dockerfiles</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Mon, 19 Apr 2021 12:32:01 +0000</pubDate>
      <link>https://forem.com/madhuakula/a-practical-guide-to-writing-secure-dockerfiles-2kgg</link>
      <guid>https://forem.com/madhuakula/a-practical-guide-to-writing-secure-dockerfiles-2kgg</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_NZTyj-a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2A9YvG7mZIfyF4r1Gu" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_NZTyj-a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2A9YvG7mZIfyF4r1Gu" alt=""&gt;&lt;/a&gt;Photo by &lt;a href="https://unsplash.com/@ishant_mishra54?utm_source=medium&amp;amp;utm_medium=referral"&gt;Ishant Mishra&lt;/a&gt; on &lt;a href="https://unsplash.com?utm_source=medium&amp;amp;utm_medium=referral"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Tools, techniques, and procedures to write secure Dockerfiles
&lt;/h4&gt;

&lt;p&gt;Docker is a familiar name by now. It has been instrumental in streamlining and improving the workflows of developers, operations, and other engineering teams. In this article, we are going to learn best practices to write Dockerfiles using BuildKit features, linters, and other tools. We’ll also touch on leveraging OPA (Open Policy Agent) to write custom policies.&lt;/p&gt;

&lt;p&gt;TL;DR: this article is based on &lt;a href="https://www.wearedevelopers.com/sessions/a-practical-guide-to-writing-secure-dockerfiles"&gt;A practical guide to writing secure Dockerfiles&lt;/a&gt;, a presentation that took place at the recent Container Day conference. The talk is available online as a &lt;a href="https://www.wearedevelopers.com/en/videos/a-practical-guide-to-writing-secure-dockerfiles"&gt;video recording&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/dudny94KWpo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Dockerfile?
&lt;/h3&gt;

&lt;p&gt;Before learning about Dockerfiles — what is Docker?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Docker is an open-source platform for building, deploying, and managing containerized applications. It has become the de facto standard to build and share apps, from desktop to cloud, including edge devices like Raspberry Pi.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;One of the features that have made Docker so popular among developers is the ability to easily pack, ship, and run applications as lightweight, portable, and self-sufficient containers that can run virtually anywhere.&lt;/p&gt;

&lt;p&gt;The instructions to build a Docker container image are stored in files called Dockerfile. This is an example of a typical Dockerfile :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mt2_vQAE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/992/1%2AxnbLjJgiCuiH5XWQBIzVlQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mt2_vQAE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/992/1%2AxnbLjJgiCuiH5XWQBIzVlQ.png" alt=""&gt;&lt;/a&gt;Dockerfile example from &lt;a href="https://github.com/dockersamples/example-voting-app/blob/master/vote/Dockerfile"&gt;&lt;/a&gt;&lt;a href="https://github.com/dockersamples/example-voting-app/blob/master/vote/Dockerfile"&gt;https://github.com/dockersamples/example-voting-app/blob/master/vote/Dockerfile&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A Dockerfile is a text document that contains all the commands a user can call on the command line to assemble an image.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Why Dockerfile security?
&lt;/h3&gt;

&lt;p&gt;If you perform a quick search for Dockerfiles in GitHub, you can see that it returns more than 3 million files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yrAcLH-C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AlwlSVnYTzqAihZLk51X79A.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yrAcLH-C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AlwlSVnYTzqAihZLk51X79A.png" alt=""&gt;&lt;/a&gt;&lt;a href="https://github.com/search?l=&amp;amp;q=filename:Dockerfile&amp;amp;type=code"&gt;&lt;/a&gt;&lt;a href="https://github.com/search?l=&amp;amp;q=filename:Dockerfile&amp;amp;type=code"&gt;https://github.com/search?l=&amp;amp;amp;q=filename:Dockerfile&amp;amp;amp;type=code&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dockerfiles are a blueprint for building your Docker container images&lt;/li&gt;
&lt;li&gt;Dockerfiles are a codified version of your application and infrastructure&lt;/li&gt;
&lt;li&gt;Dockerfiles are among the key components in the entire supply chain security&lt;/li&gt;
&lt;li&gt;Dockerfiles need to be part of your security posture to maintain the highest level of security comprehensively&lt;/li&gt;
&lt;li&gt;Insecure Dockerfiles can cause serious security issues&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Best practices to write Dockerfiles
&lt;/h3&gt;

&lt;p&gt;Here is a collection of standard best practices that Docker recommend in their &lt;a href="https://docs.docker.com/develop/develop-images/dockerfile_best-practices/"&gt;Documentation&lt;/a&gt;, as well as community-driven best practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start with a small version of the image&lt;/li&gt;
&lt;li&gt;Create ephemeral containers&lt;/li&gt;
&lt;li&gt;Understand the build context&lt;/li&gt;
&lt;li&gt;Exclude files from the image with  &lt;strong&gt;.dockerignore&lt;/strong&gt;  — it works similarly to  &lt;strong&gt;.gitignore&lt;/strong&gt; in Git&lt;/li&gt;
&lt;li&gt;Use multi-stage builds to reduce the image size and its attack surface&lt;/li&gt;
&lt;li&gt;Create multi-line arguments in a structured way, and reduce the image layers&lt;/li&gt;
&lt;li&gt;Minimize the number of layers&lt;/li&gt;
&lt;li&gt;Leverage the build cache&lt;/li&gt;
&lt;li&gt;Create your own base image like a golden image&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Docker community recommends a number of other best practices when creating Dockerfiles &lt;strong&gt;.&lt;/strong&gt; For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Order the steps in the Dockerfile from least to most frequently changing content&lt;/li&gt;
&lt;li&gt;Use the COPY instruction to copy only the necessary files. Avoid executing instructions such as COPY . .&lt;/li&gt;
&lt;li&gt;Only install what you need. For example, use the --no-install-recommendsoption&lt;/li&gt;
&lt;li&gt;Group similar commands. For example: RUN apt-get update &amp;amp;&amp;amp; apt-get install -y curl&lt;/li&gt;
&lt;li&gt;Remove the package manager cache: rm -rf /var/lib/apt/lists/*&lt;/li&gt;
&lt;li&gt;Use a specific image tag; avoid the latest tag&lt;/li&gt;
&lt;li&gt;Set non-root user and group&lt;/li&gt;
&lt;li&gt;Disallow acquiring new privileges&lt;/li&gt;
&lt;li&gt;Use only trusted and official base images&lt;/li&gt;
&lt;li&gt;Don’t store secrets or sensitive information in Dockerfiles&lt;/li&gt;
&lt;li&gt;Don’t install SSH or similar services that may expose your containers&lt;/li&gt;
&lt;li&gt;Apply image lifecycle management updates, if required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So far we explored a number of standard best practices to follow. Now let’s see how we can apply them in practice in our DevOps workflow&lt;/p&gt;

&lt;h3&gt;
  
  
  Linters, tools, techniques to validate
&lt;/h3&gt;

&lt;p&gt;We can automate these tasks and checks to enforce them in our workflow, and to ensure the highest level of security.&lt;/p&gt;

&lt;p&gt;Let’s start with securing the place where we build the Dockerfiles to create Docker container images.&lt;/p&gt;

&lt;h4&gt;
  
  
  Say hello to BuildKit
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive, and repeatable manner.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Available from Docker 20.10&lt;/li&gt;
&lt;li&gt;Enabled by default in the latest release (export DOCKER_BUILDKIT=1)&lt;/li&gt;
&lt;li&gt;It significantly improves performance and security&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A couple of cool features in BuildKit are its support for securely passing secrets, and forwarding the SSH authentication agent from the host to the Docker build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BuildKit — Secrets usage in the build (security use case)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes, developers and organizations use insecure ways to pass secrets and sensitive information to the Dockerfile during build time. For example, they hardcode the data in the Dockerfile, or they pass it via build arguments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CPKsXbuA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1017/1%2AqnJrFvSmfsgN9XiXDzfHhg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CPKsXbuA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1017/1%2AqnJrFvSmfsgN9XiXDzfHhg.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;An insecure way to pass sensitive data and secret keys to the Dockerfile during build time&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Both examples are flawed: if you hardcode AWS secrets in the Dockerfile, any user or attacker with access to the file has access to the AWS environment. Similarly, if we pass the secrets as build arguments, they are available in the Docker build history, which is easy to obtain and to look up to gain access to the AWS environment.&lt;/p&gt;

&lt;p&gt;BuildKit offers a best practice approach to pass secrets to the Dockerfile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Qlggv7J9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2A0QmpS1A_RaJa5AVE" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qlggv7J9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2A0QmpS1A_RaJa5AVE" alt=""&gt;&lt;/a&gt;A secure way to pass sensitive data and secret keys to the Dockerfile during build time is by using BuildKit&lt;/p&gt;

&lt;p&gt;In the example above we pass the AWS secrets via the mount option from the host system. In this way, the secrets are available only during build time; they aren’t stored in the Docker build history or in the Dockerfile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BuildKit — SSH Socket (security use case)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Organizations hosting their code on private version control systems and running Docker builds in CI/CD pipelines may sometimes use workarounds to pass the SSH authentication credentials to have SSH access to the container build. In the example below, the SSH key is copied to the Dockerfile in an insecure manner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sNQCeHiP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/897/1%2A-cHp9Nfy9okA1VW6FO6Xnw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sNQCeHiP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/897/1%2A-cHp9Nfy9okA1VW6FO6Xnw.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;An insecure way to pass SSH keys to the Dockerfile&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;BuildKit enables passing the SSH socket by mounting it. This forwards the SSH agent from the host in a secure manner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xHZDBmQB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AiXRkpzqwDCL_YRPo" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xHZDBmQB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AiXRkpzqwDCL_YRPo" alt=""&gt;&lt;/a&gt;&lt;em&gt;A secure way to pass SSH access by forwarding the agent to Docker using BuildKit&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Learn more about Docker BuildKit on &lt;a href="https://docs.docker.com/develop/develop-images/build_enhancements/"&gt;Build images with BuildKit&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  hadolint — Haskell Dockerfile Linter
&lt;/h4&gt;

&lt;p&gt;A smarter Dockerfile linter that helps you build best practice Docker images. The linter parses the Dockerfile to an AST, and then it runs rules on top of it.&lt;/p&gt;

&lt;p&gt;hadolint is inspired by ShellCheck, which lints Bash code inside RUN instructions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GxSNvFrS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AWuy75a_Bw6p37XCjqTEQLw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GxSNvFrS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AWuy75a_Bw6p37XCjqTEQLw.png" alt=""&gt;&lt;/a&gt;hadolint online — &lt;a href="https://hadolint.github.io/hadolint/"&gt;&lt;/a&gt;&lt;a href="https://hadolint.github.io/hadolint/"&gt;https://hadolint.github.io/hadolint/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;hadolint is available also online at &lt;a href="https://hadolint.github.io/hadolint/"&gt;https://hadolint.github.io/hadolint&lt;/a&gt;. However, it is valuable to add these linters and checks to our CI/CD pipelines as part of the deployment workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--87jDV2cx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AUxnM73nfGGHL1u0Z" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--87jDV2cx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AUxnM73nfGGHL1u0Z" alt=""&gt;&lt;/a&gt;hadolint linter checks against Dockerfile&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;dockle — Container Image Linter for Security&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Container Image Linter for Security. It helps build best practice Docker images. To learn more about dockle, check the GitHub repo: &lt;a href="https://github.com/goodwithtech/dockle"&gt;https://github.com/goodwithtech/dockle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;dockle performs multiple CIS benchmark checks, as well as more generic checks that are considered recommended best practices, and which we mentioned in the lists at the beginning of the article.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CIS Benchmarks security checks comparison&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ehUstagC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2Ar0vRM1fbOzBwZvs5" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ehUstagC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2Ar0vRM1fbOzBwZvs5" alt=""&gt;&lt;/a&gt;&lt;a href="https://github.com/goodwithtech/dockle#checkpoints-comparison"&gt;&lt;/a&gt;&lt;a href="https://github.com/goodwithtech/dockle#checkpoints-comparison"&gt;https://github.com/goodwithtech/dockle#checkpoints-comparison&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generic Checks for Dockerfiles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oC_G1Wjt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2ATTT8yP-F8l4hYgZs" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oC_G1Wjt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2ATTT8yP-F8l4hYgZs" alt=""&gt;&lt;/a&gt;&lt;a href="https://github.com/goodwithtech/dockle#checkpoints-comparison"&gt;&lt;/a&gt;&lt;a href="https://github.com/goodwithtech/dockle#checkpoints-comparison"&gt;https://github.com/goodwithtech/dockle#checkpoints-comparison&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  docker-slim — Minify and Secure Docker Containers
&lt;/h4&gt;

&lt;p&gt;DockerSlim is a project to minify and secure Docker containers. The process doesn’t change anything in your Docker container image; but it minifies it by up to 30x, making it secure too! DockerSlim can do more, besides optimizing images: also help you understand and author better container images. Find out more about the project on &lt;a href="https://dockersl.im/"&gt;https://dockersl.im/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_DIYR3NT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2An8jmbi7uX41sVr7W" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_DIYR3NT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2An8jmbi7uX41sVr7W" alt=""&gt;&lt;/a&gt;Example from the DockerSlim project — &lt;a href="https://dockersl.im/"&gt;&lt;/a&gt;&lt;a href="https://dockersl.im/"&gt;https://dockersl.im/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DockerSlim — Security Profiles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DockerSlim collects application information to optimize containers for security. It also generates Seccomp and AppArmor (potentially SELinux as well) profiles.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/engine/security/apparmor/"&gt;AppArmor profiles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/engine/security/seccomp/"&gt;Seccomp profiles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Generating the Seccomp profiles may not work for some use cases&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run the DockerSlim
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker-slim build your-name/your-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Use the generated Seccomp profile
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run — security-opt seccomp:&amp;lt;docker-slim directory&amp;gt;/.images/&amp;lt;YOUR_APP_IMAGE_ID&amp;gt;/artifacts/your-name-your-app-seccomp.jso n &amp;lt;your other run params&amp;gt; your-name/your-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  dive — Explore each layer in a Docker image
&lt;/h4&gt;

&lt;p&gt;dive enables exploring a Docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image. Find out more about the project on &lt;a href="https://github.com/wagoodman/dive"&gt;https://github.com/wagoodman/dive&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Dive offers a rich exploratory feature set. For example, it can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Show broken Docker image contents by layer&lt;/li&gt;
&lt;li&gt;Indicate what’s changed in each layer&lt;/li&gt;
&lt;li&gt;Estimate image efficiency&lt;/li&gt;
&lt;li&gt;Execute quick build/analysis cycles&lt;/li&gt;
&lt;li&gt;Be included in CI integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MgVrh7Ky--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AwByGcACnpXDUgETj" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MgVrh7Ky--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AwByGcACnpXDUgETj" alt=""&gt;&lt;/a&gt;dive tool analysis in action&lt;/p&gt;

&lt;h4&gt;
  
  
  IDE linters and plugins
&lt;/h4&gt;

&lt;p&gt;We write our Dockerfiles in our IDEs; this is a good opportunity to mention some IDE linters and plugins that help us enforce best practices and identify potential security issues in the early stages of our SDLC lifecycle.&lt;/p&gt;

&lt;p&gt;For example, this is a Docker linter plugin for Microsoft Visual Studio Code. It enables running linters in Docker containers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qKfVGD6Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AP9dnK0HGLFh-XhIP" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qKfVGD6Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AP9dnK0HGLFh-XhIP" alt=""&gt;&lt;/a&gt;Source: &lt;a href="https://marketplace.visualstudio.com/items?itemName=henriiik.docker-linter"&gt;&lt;/a&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=henriiik.docker-linter"&gt;https://marketplace.visualstudio.com/items?itemName=henriiik.docker-linter&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Introducing Open Policy Agent (OPA)
&lt;/h3&gt;

&lt;p&gt;Open Policy Agent (OPA) is an open-source, general-purpose policy engine that unifies policy enforcement across the stack. It is a policy-based control for cloud native environments providing flexible, fine-grained control for administrators. It features a high-level declarative language that lets administrators specify policy as code and simple APIs to offload policy decision-making from their software. Find out more about the project on &lt;a href="https://www.openpolicyagent.org/"&gt;https://www.openpolicyagent.org&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Rego — OPA policy language
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;OPA policies are expressed in a high-level declarative language called Rego. Rego (pronounced “ray-go”) is purpose-built for expressing policies over complex hierarchical data structures&lt;/li&gt;
&lt;li&gt;Rego was inspired by Datalog, which is a well-understood, decades-old query language. Rego extends Datalog to support structured document data models such as JSON&lt;/li&gt;
&lt;li&gt;Rego queries are assertions on data stored in OPA. The queries can be used to define policies that enumerate instances of data that violate the expected state of the system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is an example of a Rego policy from the Rego Playground for the Role-Based Access Control (RBAC) use case scenario.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LYZUxluM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AkfXrHlw3IDBzuANd" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LYZUxluM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AkfXrHlw3IDBzuANd" alt=""&gt;&lt;/a&gt;Rego Playground — &lt;a href="https://play.openpolicyagent.org/"&gt;&lt;/a&gt;&lt;a href="https://play.openpolicyagent.org/"&gt;https://play.openpolicyagent.org/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Conftest — Tests against structured configuration data
&lt;/h4&gt;

&lt;p&gt;Conftest is a utility to help you write tests against structured configuration data. For example, you can use Conftest to validate Kubernetes configurations, Terraform code, Serverless configurations, or any other structured data. In this context, Conftest helps write validation policies for Dockerfiles.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Conftest relies on the Rego language from Open Policy Agent to write the assertions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Conftest supports multiple formats of input types, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YAML&lt;/li&gt;
&lt;li&gt;JSON&lt;/li&gt;
&lt;li&gt;INI&lt;/li&gt;
&lt;li&gt;TOML&lt;/li&gt;
&lt;li&gt;HOCON&lt;/li&gt;
&lt;li&gt;HCL&lt;/li&gt;
&lt;li&gt;HCL 2&lt;/li&gt;
&lt;li&gt;CUE&lt;/li&gt;
&lt;li&gt;Dockerfile&lt;/li&gt;
&lt;li&gt;EDN&lt;/li&gt;
&lt;li&gt;VCL&lt;/li&gt;
&lt;li&gt;XML&lt;/li&gt;
&lt;li&gt;Jsonnet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The sample policy below checks the Kubernetes YAML manifests to verify if the security context of the container is running as root or not, and if it has an app label.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--grJlkGGM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/763/0%2AwPwVjpI7B8dzPEcZ" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--grJlkGGM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/763/0%2AwPwVjpI7B8dzPEcZ" alt=""&gt;&lt;/a&gt;Sample policy from conftest for Kubernetes YAML: &lt;a href="https://www.conftest.dev/#usage"&gt;&lt;/a&gt;&lt;a href="https://www.conftest.dev/#usage"&gt;https://www.conftest.dev/#usage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--af-Q21Fz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/751/0%2AWDanVDExXHS_rZDJ" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--af-Q21Fz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/751/0%2AWDanVDExXHS_rZDJ" alt=""&gt;&lt;/a&gt;Execution of conftest tests against the deployment YAML file: &lt;a href="https://www.conftest.dev/#usage"&gt;&lt;/a&gt;&lt;a href="https://www.conftest.dev/#usage"&gt;https://www.conftest.dev/#usage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To learn more about leveraging the power of OPA and Conftest, check the Conftest project on &lt;a href="https://www.conftest.dev/"&gt;https://www.conftest.dev&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Dockerfile security checks using OPA Conftest Rego policies
&lt;/h4&gt;

&lt;p&gt;Let’s take an intentionally insecure Dockerfile example that doesn’t comply with security best practices and standards.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM ubuntu:latest
LABEL MAINTAINER "Madhu Akula"

ENV SECRET AKIGG23244GN2344GHG
ENV GITLAB_API_ID gig32oig3bgi34gb43gb43uigb43i 

WORKDIR /app

ADD app /app
COPY README.md /app/README.md
ADD code /tmp/code
RUN sudo apt-get udpate

RUN apt-get update &amp;amp;&amp;amp; apt-get install -y htop

CMD ["/bin/bash", "/app/entrypoint.sh"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The snippet is part of the docker-security-checker tool, based on OPA and Conftest. Find out more about the project on &lt;a href="https://github.com/madhuakula/docker-security-checker"&gt;https://github.com/madhuakula/docker-security-checker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample Rego policy to check ADD vs COPY&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The example below checks if a Dockerfile contains occurrences of the ADD command. If it finds occurrences of ADD, it throws an error, and it notifies users about replacing ADD with COPY.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;warn[msg] {
  input[i].Cmd == "add"
  val := concat(" ", input[i].Value)
  msg = sprintf("Use COPY instead of ADD: %s", [val])
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Running docker-security-checker against Dockerfiles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In&lt;/strong&gt; the example below, we run a set of custom security OPA Rego policies with Conftest on Dockerfiles to validate best practices and to perform security checks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RolMOhUp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2Awlp7E48BSwWcHP6v" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RolMOhUp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2Awlp7E48BSwWcHP6v" alt=""&gt;&lt;/a&gt;docker-security-checker in action &lt;a href="https://github.com/madhuakula/docker-security-checker"&gt;&lt;/a&gt;&lt;a href="https://github.com/madhuakula/docker-security-checker"&gt;https://github.com/madhuakula/docker-security-checker&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why custom policies?
&lt;/h3&gt;

&lt;p&gt;Most organizations have common patterns across their workflows. Some policies can be specific to the organization. For example, the policy below allows only base images from a predefined trusted source ( &lt;strong&gt;exampletrustedregistry.com&lt;/strong&gt; ).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deny[msg] {
  input[i].Cmd == "from"
  image := input[i].Value
  not startswith(image, "exampletrustedregistry.com/")
  msg := sprintf("Base image '%v' is used from untrusted registry", [image])
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Simple and powerful policies like this help prevent using untrusted images, and they enforce only images from internal private registries.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Want to try it yourself?
&lt;/h3&gt;

&lt;p&gt;I created a simple Katacoda online interactive playground where you can play with the docker-security-checker, OPA policies, and Conftest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/docker-security-checker"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_5kASvGw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AFsS0dEowYrI6d6ga" alt=""&gt;&lt;/a&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/docker-security-checker"&gt;&lt;/a&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/docker-security-checker"&gt;https://katacoda.com/madhuakula/scenarios/docker-security-checker&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What should I do next?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Try following best practices when writing Dockerfiles; use linters&lt;/li&gt;
&lt;li&gt;Include these checks in your GitOps workflow, and in your usage of Git hooks&lt;/li&gt;
&lt;li&gt;Create and standardize organization-wide custom policies to make your workflow consistent and predictable&lt;/li&gt;
&lt;li&gt;Add these checks to your CI/CD pipelines to enable and to validate security best practices&lt;/li&gt;
&lt;li&gt;Extend these practices besides Dockerfiles, and implement them in each workflow layer
&lt;a href="https://medium.com/media/e52b9f88224437d919138d1d160ae4fb/href"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/e52b9f88224437d919138d1d160ae4fb/href"&gt;https://medium.com/media/e52b9f88224437d919138d1d160ae4fb/href&lt;/a&gt;
### Resources and references&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The list below includes a selection of resources and reference I used to create, follow, and learn more about Dockerfile security, as well as the ecosystem around it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/engine/reference/builder"&gt;https://docs.docker.com/engine/reference/builder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=JofsaZ3H1qM"&gt;Dockerfile Best Practices talk at dockercon 19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.docker.com/develop/develop-images/dockerfile_best-practices"&gt;https://docs.docker.com/develop/develop-images/dockerfile_best-practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hexops/dockerfile"&gt;https://github.com/hexops/dockerfile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://engineering.bitnami.com/articles/best-practices-writing-a-dockerfile.html"&gt;https://engineering.bitnami.com/articles/best-practices-writing-a-dockerfile.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://snyk.io/blog/10-docker-image-security-best-practices"&gt;https://snyk.io/blog/10-docker-image-security-best-practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pythonspeed.com/docker/"&gt;https://pythonspeed.com/docker/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/moby/buildkit"&gt;https://github.com/moby/buildkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/goodwithtech/dockle"&gt;https://github.com/goodwithtech/dockle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hadolint/hadolint"&gt;https://github.com/hadolint/hadolint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/docker-slim/docker-slim"&gt;https://github.com/docker-slim/docker-slim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openpolicyagent.org"&gt;https://www.openpolicyagent.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://play.openpolicyagent.org"&gt;https://play.openpolicyagent.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.conftest.dev/"&gt;https://www.conftest.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhuakula/docker-security-checker"&gt;https://github.com/madhuakula/docker-security-checker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you so much, &lt;a href="https://medium.com/u/ef2113dad29"&gt;Marco Spinello&lt;/a&gt; and Ivan Remizov for the review :)&lt;/p&gt;

&lt;h4&gt;
  
  
  Seems cool, exciting, and fun stuff? Then Join our team at Miro!
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Do you like building things and working at scale while we are in hypergrowth? Would you like to be an Engineer, Team Lead, or Engineering Manager at Miro? Check out opportunities to join the &lt;a href="https://miro.com/careers/"&gt;Engineering team&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>miro</category>
      <category>devops</category>
      <category>infosec</category>
      <category>security</category>
    </item>
    <item>
      <title>Introducing Kubernetes Goat</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Thu, 25 Jun 2020 17:20:31 +0000</pubDate>
      <link>https://forem.com/madhuakula/introducing-kubernetes-goat-4a0</link>
      <guid>https://forem.com/madhuakula/introducing-kubernetes-goat-4a0</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CMq4yQiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AcmkE9bROijKK2LuDZNCpDQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CMq4yQiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AcmkE9bROijKK2LuDZNCpDQ.png" alt=""&gt;&lt;/a&gt;&lt;a href="https://madhuakula.com/kubernetes-goat/"&gt;&lt;/a&gt;&lt;a href="https://madhuakula.com/kubernetes-goat"&gt;https://madhuakula.com/kubernetes-goat&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Intentionally vulnerable cluster environment to learn and practice Kubernetes security.
&lt;/h4&gt;

&lt;p&gt;I have been working in Containers, Kubernetes and it’s security for quite sometime. I felt that there is a gap between the security and technology understanding of the Kubernetes it self. We all learnt using different goats in security world like WebGoat. I wanted to create some simple environment where anyone can practice and learn to get started in Kubernetes Security.&lt;/p&gt;

&lt;p&gt;That’s how it all started with Kubernetes Goat. But it has lot of extensive documented scenarios which are taken from real-world attacks, vulnerabilities and misconfigurations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---NLNrELw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A7g6Ria0LSVu5u8-clXFUcA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---NLNrELw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A7g6Ria0LSVu5u8-clXFUcA.png" alt=""&gt;&lt;/a&gt;Kubernetes Goat Home&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Okay, where can I get more info about Kubernetes Goat?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;You can learn more about Kubernetes Goat and its active development, scenarios and the documentation at Github.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/madhuakula/kubernetes-goat"&gt;madhuakula/kubernetes-goat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/madhuakula/kubernetes-goat"&gt;https://github.com/madhuakula/kubernetes-goat&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What all scenarios Kubernetes Goat has?
&lt;/h4&gt;

&lt;p&gt;I had covered almost 14 different scenarios in Kubernetes Goat currently, also adding more scenarios and features soon. List of scenarios currently available in Kubernetes Goat are as follows&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sensitive keys in code bases&lt;/li&gt;
&lt;li&gt;DIND(docker-in-docker) exploitation&lt;/li&gt;
&lt;li&gt;SSRF in K8S world&lt;/li&gt;
&lt;li&gt;Container escape to access host system&lt;/li&gt;
&lt;li&gt;Docker CIS Benchmarks analysis&lt;/li&gt;
&lt;li&gt;Kubernetes CIS Benchmarks analysis&lt;/li&gt;
&lt;li&gt;Attacking private registry&lt;/li&gt;
&lt;li&gt;NodePort exposed services&lt;/li&gt;
&lt;li&gt;Helm v2 tiller to PwN the cluster&lt;/li&gt;
&lt;li&gt;Analysing crypto miner container&lt;/li&gt;
&lt;li&gt;Kubernetes Namespaces bypass&lt;/li&gt;
&lt;li&gt;Gaining environment information&lt;/li&gt;
&lt;li&gt;DoS the memory/cpu resources&lt;/li&gt;
&lt;li&gt;Hacker Container preview&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;I’m excited, how can I quickly get started using/learning more about Kubernetes Goat?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;As it’s a complicated to setup the entire cluster environment and trying these scenarios, I have created &lt;strong&gt;free&lt;/strong&gt; online playground at Katacoda to just tryout from your browser. You can just get started playing with Kubernetes Goat by clicking below link&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/kubernetes-goat"&gt;Kubernetes Goat | madhuakula | Katacoda&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/kubernetes-goat"&gt;https://katacoda.com/madhuakula/scenarios/kubernetes-goat&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  I am stuck at a scenario while playing, where can I get solutions?
&lt;/h4&gt;

&lt;p&gt;Yes, indeed the Kubernetes Goat is intended to help you teach and learn as a walkthrough and the detailed step by step Guide can be found at &lt;a href="https://madhuakula.com/kubernetes-goat/"&gt;https://madhuakula.com/kubernetes-goat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://madhuakula.com/kubernetes-goat/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O-8xx9kq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AR0L2dX-fGWA6am_Bxk8Swg.png" alt=""&gt;&lt;/a&gt;&lt;a href="https://madhuakula.com/kubernetes-goat/"&gt;&lt;/a&gt;&lt;a href="https://madhuakula.com/kubernetes-goat"&gt;https://madhuakula.com/kubernetes-goat&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Can we try this in our production cluster?
&lt;/h4&gt;

&lt;p&gt;No, please don’t do that. It’s intentionally designed to be vulnerable cluster to showcase different vulnerabilities, misconfigurations in Kubernetes environments. Also read the below disclaimers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Kubernetes Goat creates intentionally vulnerable resources into your cluster. DO NOT deploy Kubernetes Goat in a production environment or alongside any sensitive cluster resources.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Kubernetes Goat comes with absolutely no warranties whatsoever. By using Kubernetes Goat, you take full responsibility for any and all outcomes that result.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Wow, this looks amazing! how can I can i get to know more about its upcoming features/scenarios?
&lt;/h4&gt;

&lt;p&gt;As I said, the project is in active development to include new features and scenarios. So, to just name some of the upcoming features/scenarios coming in Kubernetes Goat includes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;More offensive or attacker scenarios to learn about Kubernetes security from an attackers perspective&lt;/li&gt;
&lt;li&gt;Defender scenarios to secure/mitigate these misconfigurations and vulnerabilities&lt;/li&gt;
&lt;li&gt;Also, working on KIND based deployments to showcase cluster it self vulnerabilities and weaknesses&lt;/li&gt;
&lt;li&gt;Detailed references and resources for attacks/vulnerabilities which are unable to reproduce with newer version of clusters&lt;/li&gt;
&lt;li&gt;Many more…&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So stay tuned for the more updates in below channels&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⭐️ Star the Github repo to show some love❤️&lt;a href="https://github.com/madhuakula/kubernetes-goat"&gt;https://github.com/madhuakula/kubernetes-goat&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Follow me in twitter &lt;a href="https://twitter.com/@madhuakula"&gt;@madhuakula&lt;/a&gt; for more updates/tweets about Kubernetes Goat as well as information more about security around Cloud, Containers, Kubernetes.&lt;/p&gt;




</description>
      <category>security</category>
      <category>kubernetes</category>
      <category>devsecops</category>
      <category>infosec</category>
    </item>
    <item>
      <title>Hacker Container for Kubernetes Security Assessments</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Sat, 06 Jun 2020 21:42:54 +0000</pubDate>
      <link>https://forem.com/madhuakula/hacker-container-for-kubernetes-security-assessments-49lp</link>
      <guid>https://forem.com/madhuakula/hacker-container-for-kubernetes-security-assessments-49lp</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AVCveDv7bjGIxdX1lPzR9qA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2AVCveDv7bjGIxdX1lPzR9qA.png"&gt;&lt;/a&gt;&lt;a href="https://worditout.com/word-cloud/4251548/private/752ede061babc4da45ef0d8ea0599924" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://worditout.com/word-cloud/4251548/private/752ede061babc4da45ef0d8ea0599924" rel="noopener noreferrer"&gt;https://worditout.com/word-cloud/4251548/private/752ede061babc4da45ef0d8ea0599924&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Your go to container for hacking Kubernetes Clusters
&lt;/h4&gt;

&lt;p&gt;Hacker Container is a simple alpine based docker container with commonly used tools and utilities while performing security assessments for containerised and Kuberentes cluster environments.&lt;/p&gt;

&lt;p&gt;The repository and project information can be found here &lt;a href="https://github.com/madhuakula/hacker-container" rel="noopener noreferrer"&gt;https://github.com/madhuakula/hacker-container&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/madhuakula/hacker-container" rel="noopener noreferrer"&gt;madhuakula/hacker-container&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Hacker Container?
&lt;/h3&gt;

&lt;p&gt;While performing and testing container or Kubernetes infrastructure, I always have to install some common tools inside a container to perform further exploitation and later movement with in the cluster.&lt;/p&gt;

&lt;p&gt;To give an example, I have found redis service within the cluster without any authentication and network security policies. So I had to install and setup redis-cli to communicate and see what more data I can get from the server.&lt;/p&gt;

&lt;p&gt;In another case, I wanted to understand what all privileges and capabilities I had for the container. So I end up running amicontained or capsh --print&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2Aqajv7-YNeSuRLjl6JO3TlA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2Aqajv7-YNeSuRLjl6JO3TlA.png"&gt;&lt;/a&gt;Hacker Container in Action running amicontained&lt;/p&gt;

&lt;h4&gt;
  
  
  Some use cases why we need all tools in one container?
&lt;/h4&gt;

&lt;p&gt;Having multiple tools and processes running in a single container is not a good approach in real-world. This container is not for running production workloads or real-world applications.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consider that we want to perform a white box security assessment of Kubernetes cluster, and we got one pod access with limited privileges in the cluster. In this scenario we can use this container as an attacker, with all the utilities to perform assessment and understand cluster environment. Similarly in black box assessments as well, it helps you with all the utilities in a single place to perform further exploitation&lt;/li&gt;
&lt;li&gt;Also, there could be an usecase where your cluster doesn’t have internet access and wanted to perform specific assessment. You end up downloading required tools and build it from scratch with all the requirements. Hence using this container helps you to gain more time in identifying and exploiting vulnerabilities in the infrastructure instead of investing time in setup&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What tools are available in this container
&lt;/h3&gt;

&lt;p&gt;There are almost nearly 50 commonly used tools and utilities for hackers, security researchers and penetration testers. The detailed list of tools can be found at &lt;a href="https://github.com/madhuakula/hacker-container/blob/master/list.todo" rel="noopener noreferrer"&gt;https://github.com/madhuakula/hacker-container/blob/master/list.todo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea behind these tools is not to add all of them and making a big fat container. But just adding useful utilities or commonly highly required tools while performing containerised security assessments.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to use Hacker Container?
&lt;/h3&gt;

&lt;p&gt;The simplest way to get started with Hacker container is trying out the container in &lt;a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/madhuakula/hacker-container/master/docker-stack.yml" rel="noopener noreferrer"&gt;Play With Docker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/madhuakula/hacker-container/master/docker-stack.yml" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F132%2F1%2ACEpGvJgqKoXToqMv8bl-8g.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Just run the following command to explore in the docker container environments
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run --rm -it madhuakula/hacker-container
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To deploy as a Pod in Kubernetes cluster run the following command
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl run -it hacker-container --image=madhuakula/hacker-container
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This container can be used in different ways in different environments, it aids your penetration testing or security assessments of container and Kubernetes cluster environments.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hope this helpful for fellow researchers, security engineers/testers and I would love to hear your feedback/suggestions. Feel free to tweet to me &lt;a href="https://twitter.com/madhuakula" rel="noopener noreferrer"&gt;&lt;strong&gt;@madhuakula&lt;/strong&gt;&lt;/a&gt; or create an issue at &lt;a href="https://github.com/madhuakula/hacker-container" rel="noopener noreferrer"&gt;&lt;strong&gt;Github&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Thanks for reading this article. If you enjoyed it please let me know by clicking that clap below :)
&lt;/h4&gt;




</description>
      <category>kubernetes</category>
      <category>security</category>
      <category>pentesting</category>
      <category>hacking</category>
    </item>
    <item>
      <title>How does the pen testing world do penetration testing : Part-2</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Sat, 30 May 2020 17:31:42 +0000</pubDate>
      <link>https://forem.com/madhuakula/how-does-the-pen-testing-world-do-penetration-testing-part-2-3jhb</link>
      <guid>https://forem.com/madhuakula/how-does-the-pen-testing-world-do-penetration-testing-part-2-3jhb</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ELJDsv0J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AKA2VMg3QdagqVhOowwblXw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ELJDsv0J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AKA2VMg3QdagqVhOowwblXw.png" alt=""&gt;&lt;/a&gt;Penetration Testing World — Part 2&lt;/p&gt;

&lt;h3&gt;
  
  
  How does the pen testing world do penetration testing : Part-2
&lt;/h3&gt;

&lt;p&gt;Hello Folks,&lt;/p&gt;

&lt;p&gt;This article is part of the series called &lt;strong&gt;&lt;em&gt;How does the pen testing world do penetration testing&lt;/em&gt;&lt;/strong&gt;. If you haven’t read the &lt;a href="https://medium.com/@madhuakula/how-does-the-pen-testing-world-do-penetration-testing-part-1-f38a6f47dc58"&gt;&lt;strong&gt;Part-1&lt;/strong&gt;&lt;/a&gt; please check the below link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@madhuakula/how-does-the-pen-testing-world-do-penetration-testing-part-1-f38a6f47dc58"&gt;How does the pen testing world do penetration testing : Part-1&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Different standard organisations activities to perform penetration testing
&lt;/h4&gt;

&lt;p&gt;There are different suggested methodologies for penetration testing, some of the main ones are&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PTES Methodology&lt;/li&gt;
&lt;li&gt;OWASP Methodology&lt;/li&gt;
&lt;li&gt;OSSTMM Methodology&lt;/li&gt;
&lt;li&gt;ISSAF Methodology&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  PTES Methodology
&lt;/h4&gt;

&lt;p&gt;PTES is a newer standard designed to provide both businesses and security service providers with a common language and scope for performing penetration. The industry has used the term Penetration Test in a variety of ways in the past. This has driven a large amount of confusion to what a Penetration Test is or isn’t. PTES’s aim is to create a clear standard to measure Penetration Testing and provide customers/consultants a guideline to how testing needs to be conducted.&lt;/p&gt;

&lt;h4&gt;
  
  
  OWASP Methodology
&lt;/h4&gt;

&lt;p&gt;The goal of this project is to collect all the possible testing techniques, explain these techniques, and keep the guide updated. The OWASP Web Application Security Testing method is based on the black box approach where the tester knows nothing or has very little information about the application to be tested.&lt;/p&gt;

&lt;h4&gt;
  
  
  OSSTMM Methodology
&lt;/h4&gt;

&lt;p&gt;OSSTMM is a methodology to test the operational security of physical locations, workflow, human security testing, physical security testing, wireless security testing, telecommunication security testing, data networks security testing and compliance. OSSTMM can be supporting reference of IOS 27001 instead of a hands-on penetration testing guide.&lt;/p&gt;

&lt;h4&gt;
  
  
  ISSAF Methodology
&lt;/h4&gt;

&lt;p&gt;The methodology defined by ISSAF covers all the aspects related to security assessments: from a high-level perspective (e.g. business impact and organisational models) to practical techniques (e.g. security testing of passwords, systems, network, etc.). The framework is divided in four main phases structured in several working packages (named “activities”). The four phases are respectively: Planning, Assessment, Treatment, and Accreditation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a4XGfKzk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ANsfUVDEQhZZy3YLMIche2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a4XGfKzk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ANsfUVDEQhZZy3YLMIche2g.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;PTES, OWASP, OSSTMM, ISSAF activities of doing penetration testing&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What are software and network requirements for doing penetration testing?
&lt;/h3&gt;

&lt;p&gt;There are multiple resources required while conducting a penetration testing engagement. These include software resources such as tools, scripts, network requirements like the IP network range through you are going to test and collaboration tools to make the team effective when more than one person is conducting penetration testing. The most important thing is documentation and reporting, this is the result or output of the entire penetration testing process which includes the way you approached it, the methodologies used and the tools and techniques you used. This will help both technical and non-technical users to understand what has been done.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools to perform penetration testing
&lt;/h3&gt;

&lt;p&gt;There are multiple frameworks and tools out there to do penetration testing. Which ones are used will depend on the which application or infrastructure is being tested. For example, if you are testing IoT devices then you might need a different toolset to testing a server environment. Penetration testers often use a pre-complied set of tools known as a ‘distro’ (distribution in an operating system which helps them to do things more quickly. One of the more popular distros was created by Offensive Security called “ &lt;strong&gt;Kali Linux&lt;/strong&gt; ” (and formerly called as “&lt;strong&gt;Back Track”)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The Kali Linux distro for penetration testing includes tools for&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Information Gathering&lt;/li&gt;
&lt;li&gt;Vulnerability Analysis&lt;/li&gt;
&lt;li&gt;Exploitation Tools&lt;/li&gt;
&lt;li&gt;Wireless Attacks&lt;/li&gt;
&lt;li&gt;Forensics Tools&lt;/li&gt;
&lt;li&gt;Web Applications&lt;/li&gt;
&lt;li&gt;Stress Testing&lt;/li&gt;
&lt;li&gt;Sniffing &amp;amp; Spoofing&lt;/li&gt;
&lt;li&gt;Password Attacks&lt;/li&gt;
&lt;li&gt;Maintaining Access&lt;/li&gt;
&lt;li&gt;Hardware Hacking&lt;/li&gt;
&lt;li&gt;Reverse Engineering&lt;/li&gt;
&lt;li&gt;Reporting Tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More details about the tool-set can be found at &lt;a href="http://tools.kali.org/tools-listing"&gt;http://tools.kali.org/tools-listing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some of the network requirements while performing penetration testing in terms of organisational and pen tester perspective are key part.&lt;/p&gt;

&lt;p&gt;Penetration testing may also need to be carried out internally or externally; internal penetration test is like having a malicious intruder inside the network and trying to get into the system by exploiting.&lt;/p&gt;

&lt;p&gt;While conducting penetration testing it’s also important that you are aware about the boundaries and critical systems.&lt;/p&gt;

&lt;p&gt;Another good practice is to test from specific IP’s to help organisations make sure that pen testers are performing the attack and not real attackers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8YNQhLCO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A_y0rRran5BxP5Jcwr9CUpA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8YNQhLCO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A_y0rRran5BxP5Jcwr9CUpA.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;Overview of penetration testing&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Considerations
&lt;/h3&gt;

&lt;p&gt;Before starting a penetration testing engagement it’s good to consider a few things&lt;/p&gt;

&lt;p&gt;The one of the main things to agree is the scope of the penetration tests which helps both the organisation and individual to decide what to test and what not to test. Scopes may vary differently for each engagement. For example, some organisations will want to do complete exploitation of their systems but they won’t want to include social engineering attacks. It’s also possible that in some cases they may want to do only external penetration testing which means only conducting tests on public facing environments like websites and external infrastructure.&lt;/p&gt;

&lt;p&gt;It is very important to select a proper organisation or well experienced penetration tester, so they have the skills and experience to properly understand the system before doing penetration testing; in some cases there might be critical infrastructure (or) legacy systems you have to test and the amount of scanning should not be aggressive while doing that.&lt;/p&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;These methodologies and techniques are helpful from both individual and the organisational perspective. Penetration testing simulates attacks like a real world hacker test security controls. By conducting penetration testing it helps an organisation to create a baseline for security and compliance for their infrastructure and to understand existing vulnerabilities.&lt;/p&gt;

&lt;p&gt;The sample penetration test report below is one produced by the Offensive Security team.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/media/db36b3d0b02431fa87f025be6528c078/href"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/db36b3d0b02431fa87f025be6528c078/href"&gt;https://medium.com/media/db36b3d0b02431fa87f025be6528c078/href&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.owasp.org/index.php/Penetration_testing_methodologies"&gt;https://www.owasp.org/index.php/Penetration_testing_methodologies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pentest-standard.org/index.php/Main_Page"&gt;http://www.pentest-standard.org/index.php/Main_Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.isecom.org/mirror/OSSTMM.3.pdf"&gt;http://www.isecom.org/mirror/OSSTMM.3.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.helpnetsecurity.com/2013/09/09/how-important-is-penetration-testing/"&gt;https://www.helpnetsecurity.com/2013/09/09/how-important-is-penetration-testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf"&gt;https://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sans.org/reading-room/whitepapers/analyst/penetration-testing-assessing-security-attackers-34635"&gt;https://www.sans.org/reading-room/whitepapers/analyst/penetration-testing-assessing-security-attackers-34635&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.crisalis-project.eu/sites/crisalis-project.eu/files/crisalis_deliverable-D5.1.pdf"&gt;http://www.crisalis-project.eu/sites/crisalis-project.eu/files/crisalis_deliverable-D5.1.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://resources.infosecinstitute.com/standards-for-penetration-testing/"&gt;http://resources.infosecinstitute.com/standards-for-penetration-testing/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://community.rapid7.com/docs/DOC-2248"&gt;https://community.rapid7.com/docs/DOC-2248&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.securitymetrics.com/static/resources/orange/new-penetration-testing-requirements-explained.pdf"&gt;https://www.securitymetrics.com/static/resources/orange/new-penetration-testing-requirements-explained.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Thanks for reading this article. If you enjoyed it please let us know by clapping to reach more audience.
&lt;/h4&gt;




</description>
      <category>informationsecurity</category>
      <category>hacking</category>
      <category>security</category>
      <category>penetrationtesting</category>
    </item>
    <item>
      <title>Dockerfile Security Checks using OPA Rego Policies with Conftest</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Sat, 16 May 2020 09:52:22 +0000</pubDate>
      <link>https://forem.com/madhuakula/dockerfile-security-checks-using-opa-rego-policies-with-conftest-2ma7</link>
      <guid>https://forem.com/madhuakula/dockerfile-security-checks-using-opa-rego-policies-with-conftest-2ma7</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bmsTT022--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AbAZMwJENjl2a3Knt" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bmsTT022--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/0%2AbAZMwJENjl2a3Knt" alt=""&gt;&lt;/a&gt;Photo by &lt;a href="https://unsplash.com/@glenncarstenspeters?utm_source=medium&amp;amp;utm_medium=referral"&gt;Glenn Carstens-Peters&lt;/a&gt; on &lt;a href="https://unsplash.com?utm_source=medium&amp;amp;utm_medium=referral"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Docker is everywhere! In modern day to day development and operations, we use Docker images and containers to run our applications ranging from developer laptop, raspberry pi, staging servers to including production environments.&lt;/p&gt;

&lt;p&gt;As we use modern technologies and tools, we tend to forget securing them while building and serving customers. That is why we can write and codify our security into policies and validate them against the Dockerfiles (Infrastructure as a Code) to identify the potential security risks before deploying them into production.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is Conftest?
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Conftest&lt;/em&gt;&lt;/strong&gt; is a utility to help you write tests against structured configuration data. For instance you could write tests for your Kubernetes configurations, Terraform code, Serverless configs or any other structured data. In our context, we will use it to write validation policies for deprecated Kubernetes API versions.&lt;/p&gt;

&lt;p&gt;Conftest relies on the Rego language from &lt;a href="https://www.openpolicyagent.org/"&gt;Open Policy Agent&lt;/a&gt; for writing the assertions. You can read more about Rego in &lt;a href="https://www.openpolicyagent.org/docs/how-do-i-write-policies.html"&gt;How do I write policies&lt;/a&gt; in the Open Policy Agent documentation.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is OPA (Open Policy Agent)?
&lt;/h4&gt;

&lt;p&gt;The Open Policy Agent (OPA, pronounced “oh-pa”) is an open source, general-purpose policy engine that unifies policy enforcement across the stack. OPA provides a high-level declarative language that let’s you specify policy as code and simple APIs to offload policy decision-making from your software.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is docker-security-cheker?
&lt;/h4&gt;

&lt;p&gt;docker-security-checker uses open policy agent rego policies for Dockerfile security checks using Conftest.&lt;/p&gt;

&lt;p&gt;Checkout more information at &lt;a href="https://github.com/madhuakula/docker-security-checker"&gt;https://github.com/madhuakula/docker-security-checker&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  How to write a simple rego policy for Dockerfile?
&lt;/h4&gt;

&lt;p&gt;The below is simplest example of a rego policy for identifying if the Dockerfile is using ADDinstead of COPY command in the &lt;strong&gt;Dockerfile&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deny[msg] {

   input[i].Cmd == "add"

   val := concat(" ", input[i].Value)

   msg = sprintf("Use COPY instead of ADD: %s", [val])

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here in the above example input contains the Dockerfile in a JSON format and we are looking for any command we find ADD and if we find in the Dockerfile we are returning the deny message.&lt;/p&gt;

&lt;p&gt;This is much simplified by using Conftest, also it supports multiple different files, formats like Kubernetes manifests, terraform, ini, etc. to build your own policies with OPA checkout examples at &lt;a href="https://www.conftest.dev/examples/"&gt;https://www.conftest.dev/examples/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Running conftest docker security policies
&lt;/h4&gt;

&lt;p&gt;You can run the conftest using the following command, which by default pickup the policies from policy directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;conftest test Dockerfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you can see similar output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;WARN - Dockerfile - Do not use latest tag with image: ["ubuntu:latest"]
FAIL - Dockerfile - Suspicious ENV key found: ["SECRET", "AKIGG23244GN2344GHG"]
FAIL - Dockerfile - Use COPY instead of ADD: app /app
FAIL - Dockerfile - Use COPY instead of ADD: code /tmp/code

5 tests, 1 passed, 1 warning, 3 failures
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Try out yourself
&lt;/h4&gt;

&lt;p&gt;I had built this scenario to try out your self to learn and practice rather reading it and forgetting ;)&lt;/p&gt;

&lt;p&gt;You can practice this scenario at katacoda playground &lt;a href="https://katacoda.com/madhuakula/scenarios/docker-security-checker"&gt;https://katacoda.com/madhuakula/scenarios/docker-security-checker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rkvVt-TS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AgO49knu-MTkDBjChMrFGZA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rkvVt-TS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AgO49knu-MTkDBjChMrFGZA.png" alt=""&gt;&lt;/a&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/docker-security-checker"&gt;&lt;/a&gt;&lt;a href="https://katacoda.com/madhuakula/scenarios/docker-security-checker"&gt;https://katacoda.com/madhuakula/scenarios/docker-security-checker&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Some ideas to take this forward
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Adding this checks in CI/CD pipeline as part of the DevSecOps&lt;/li&gt;
&lt;li&gt;Also, integrating these checks at your Kubernetes clsuters as a DaemonSet to look for Kubernetes Objects for any security misconfigurations and issue in near real-time&lt;/li&gt;
&lt;li&gt;Many more…&lt;/li&gt;
&lt;li&gt;Please feel free to contribute and add more feedback/issues/PR at &lt;a href="https://github.com/madhuakula/docker-security-checker"&gt;https://github.com/madhuakula/docker-security-checker&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  References to learn more
&lt;/h4&gt;

&lt;p&gt;I just started learning more and more about Open Policy Agent and writing security policies using conftest. But you can explore more about them and write your own policies using below resources.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.openpolicyagent.org/"&gt;Open Policy Agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openpolicyagent.org/docs/latest/policy-reference/"&gt;Rego Policy Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://play.openpolicyagent.org/"&gt;Rego Playground&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.conftest.dev/"&gt;Conftest.Dev&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Thanks for reading this article. If you enjoyed it please let me know by clicking that clap below :)
&lt;/h3&gt;




</description>
      <category>policy</category>
      <category>infosec</category>
      <category>docker</category>
      <category>security</category>
    </item>
    <item>
      <title>A Fond Farewell to Appsecco</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Fri, 17 Jan 2020 02:26:01 +0000</pubDate>
      <link>https://forem.com/madhuakula/a-fond-farewell-to-appsecco-1ocb</link>
      <guid>https://forem.com/madhuakula/a-fond-farewell-to-appsecco-1ocb</guid>
      <description>&lt;h4&gt;
  
  
  TL;DR: Woah! What an exciting ride it was :)
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JH27Z7bk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AxGlQ0j2VDuICNZw4Ychrmw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JH27Z7bk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AxGlQ0j2VDuICNZw4Ychrmw.jpeg" alt=""&gt;&lt;/a&gt;Image by &lt;a href="https://pixabay.com/users/geralt-9301/?utm_source=link-attribution&amp;amp;amp;utm_medium=referral&amp;amp;amp;utm_campaign=image&amp;amp;amp;utm_content=3258939"&gt;Gerd Altmann&lt;/a&gt; from &lt;a href="https://pixabay.com/?utm_source=link-attribution&amp;amp;amp;utm_medium=referral&amp;amp;amp;utm_campaign=image&amp;amp;amp;utm_content=3258939"&gt;Pixabay&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello everyone, I’m not sure how I should start writing this post. It’s been one amazing ride these last few years at Appsecco. I believe all good stories need to be told, so here’s me writing about my journey as one of the earliest core team member of an amazing company with an even more amazing team!&lt;/p&gt;

&lt;h4&gt;
  
  
  An unbelievable opportunity
&lt;/h4&gt;

&lt;p&gt;It all started when I was about to quit my previous job and was thinking of moving outside India for sometime. Given that I had worked with Akash before, I sought his opinion and ended up accepting an offer to work with him at Appsecco. Back then, I was just excited to work with him and Riyaz, but little did I know that it would become one of the most fulfilling adventures of my life. It is here that I began my journey to fulfill my goals and (many a times, items from a bucket list that I did not even know existed) in both as part of my professional and personal career.&lt;/p&gt;

&lt;p&gt;I have always tried to build myself as a T-shaped individual at Appsecco, focusing on depth in security as my primary area and breadth of everything including building training programs, consulting, individual personality and adding to our amazing company culture. It wouldn’t be fair if I don’t give credit to the amazing people I have had the opportunity to work with in these last few years.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you haven’t read how I joined Appsecco and what my first month looked like, I highly recommend you read this :D&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://blog.appsecco.com/i-cant-believe-it-s-been-a-month-already-appsecco-62f3c6061050"&gt;I can’t believe it’s been a month already @ Appsecco!&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  The first year
&lt;/h4&gt;

&lt;p&gt;I cannot believe that I did so many cool things in my first year itself. I started working on opensource platforms, created solutions to manage the company’s operations while breaking and pwning applications and servers whenever I could with Riyaz and his team.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fOrZrixs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AZnbtrtIGkGj_GNpjLxtlKg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fOrZrixs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AZnbtrtIGkGj_GNpjLxtlKg.jpeg" alt=""&gt;&lt;/a&gt;Our ubercool free upgrade to Business class in an Emirates A380 flight to the US for DEFCON, Las Vegas :)&lt;/p&gt;

&lt;p&gt;I started preparing myself to OSCP (offensive security certified professional) as a way to challenge my self and to sharpen my attacker skills with help of &lt;a href="https://medium.com/u/724b10f882ad"&gt;Riyaz Walikar&lt;/a&gt; (aka &lt;a href="https://twitter.com/wincmdfu"&gt;wincmdfu&lt;/a&gt;) in early December 2016. I have nothing but immense respect for Riyaz for his patience and explaining concepts to someone who doesn’t have much knowledge about that topic. The way he visualises targets and application features to identify where the vulnerabilities could be, sometimes even without actually making any HTTP requests, is just mind-boggling. I wish there was a Brain-as-a-Service thingy so that I could utilise his skills and attacker mindset. I was able to successfully complete my OSCP and it helped me gain a lot of confidence in the approach to testing for security and finding cool bugs.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FssVV2Cs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/C2hiLazXEAA1u4L.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ElRK_AxS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/975023199929946113/aTyLwhRd_normal.jpg" alt="Madhu Akula profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Madhu Akula
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/madhuakula"&gt;@madhuakula&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      As part of my to-do checklist at &lt;a href="https://twitter.com/appseccouk"&gt;@appseccouk&lt;/a&gt; I completed my &lt;a href="https://twitter.com/hashtag/OSCP"&gt;#OSCP&lt;/a&gt; certification 😀 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      09:39 AM - 19 Jan 2017
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=822015497357185024" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=822015497357185024" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=822015497357185024" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;In my time at Appsecco, I had lots of opportunities to perform security testing for applications and servers for variety of clients across industry verticals and I did use them to find some amazing vulnerabilities.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the best things I learnt while performing security assessments at Appsecco, is that it’s not only important to show what cool vulnerability you found, but it is far more ubercool to explain the vulnerability and it’s mitigation in a friendly language that developers can consume and fix their stuff.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As time progress, I started creating research talks, trainings and workshops that I liked to present. I toured a bunch of industry notable conferences around the world like DEFCON, All Day DevOps, nullcon, DevSecCon, at the null community etc. This also allowed me to travel around the world in my first year itself!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--afAnJ0Pt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/715/1%2AENm-jnDiJ5judktMWxWIyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--afAnJ0Pt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/715/1%2AENm-jnDiJ5judktMWxWIyg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the end of my first year, I was able to work on a given problem statement and come up with pragmatic solution (with automation as the key). I started working with the 3 largest cloud providers (AWS, Azure and GCP) and opensource software platforms like HashiCorp Stack (Vagrant, Terraform, Packer, etc). I ended up writing numerous automation playbooks using Ansible and custom scripts as well.&lt;/p&gt;

&lt;p&gt;While trying out some OpenSource products and platforms, I found critical vulnerabilities in GitLab CI/CD private build system, SaaS based malware analysis platform, etc. that could be additional visibility in the security community, which was very cool.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lrVB9nez--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/489/1%2AKf--Yyilcim37f1wjDyeuA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lrVB9nez--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/489/1%2AKf--Yyilcim37f1wjDyeuA.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As part of building stuff internally, I created an in-house infrastructure security monitoring system using Elastic Stack and Beats with ElastAlert for detecting attacks and alerting our teams.&lt;/p&gt;

&lt;p&gt;I can surely say that I have never before coming to Appsecco, built these many Proof of Concepts on multiple open source tools and technologies on Monitoring, CI/CD, Version Control, Scanning, Auditing, etc. which helped me to explore even more wide variety of platforms, products and stacks. Using all of the collective knowledge, I built an automated markdown based documentation, knowledge base system using Raneto, MkDocs, Gitbooks with help of pipelines, containers and Kubernetes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JPiSOY3I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AzIJpbWaw0-gPGUTLW4JKBw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JPiSOY3I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AzIJpbWaw0-gPGUTLW4JKBw.jpeg" alt=""&gt;&lt;/a&gt;Me presenting my first DEFCON workshop in Las Vegas :)&lt;/p&gt;

&lt;p&gt;I can go on and on about all the cool technical things I did, but this post would be incomplete if I don’t talk about the people I worked with and with whom I started my journey at Appsecco.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Kve2GET_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AXrMR6e5Wfa4aNAUREQ3uHg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Kve2GET_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AXrMR6e5Wfa4aNAUREQ3uHg.jpeg" alt=""&gt;&lt;/a&gt;Our tech team when we started the company and our fancy backdrop :D&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5OkEzOaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ANV_zVFEL_r5Qk71FtZDYTw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5OkEzOaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ANV_zVFEL_r5Qk71FtZDYTw.jpeg" alt=""&gt;&lt;/a&gt;Our awesome team outings. By the way these are blue team and red team (of course blue team won :D)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here is my 1 year working at Appsecco blogpost. It’s fun read about things I have done over a year with an amazing team :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://blog.appsecco.com/1-year-appsecco-d6ccd49c9cc9"&gt;1 Year @Appsecco&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  As time flew by
&lt;/h4&gt;

&lt;p&gt;We have always been a small team of people doing amazing and cool work and that kept us busy. So I started working on more and more operational work to use Docker containers and Kubernetes clusters to help other teams streamline their work, which helped us to automate most of our deployments using CI/CD pipelines, resulting in lots of time saved to do more cool things and do research.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LWTkvxXw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AuIhnGS-29H2-sRwMydtamA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LWTkvxXw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AuIhnGS-29H2-sRwMydtamA.jpeg" alt=""&gt;&lt;/a&gt;Me teaching my first BlackHat training on “Automated Defense using Cloud Service for AWS, Azure and GCP”&lt;/p&gt;

&lt;p&gt;Over the years, I also kept my promise of giving back to the community by teaching and sharing my work at multiple conferences including BlackHat, OWASP Appsec, USENIX LISA, All Day DevOps, DevSecCon, nullcon, null and &lt;a href="https://www.madhuakula.com/talk/"&gt;many more&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--66sDjDoj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1000/1%2ABo0dPT1R6_R85l54trvb2w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--66sDjDoj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1000/1%2ABo0dPT1R6_R85l54trvb2w.jpeg" alt=""&gt;&lt;/a&gt;Some of my conferences photos :D&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--si6uBCdr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2AcpNR3ffXL9Ii-OiHW9J2Rg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--si6uBCdr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/640/1%2AcpNR3ffXL9Ii-OiHW9J2Rg.jpeg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With our experience of doing automation using Ansible, &lt;a href="https://medium.com/u/750968b743c7"&gt;Akash Mahajan&lt;/a&gt; suggested that we can share what we learnt with everyone to perform their daily security tasks. So we ended up writing a book on &lt;a href="https://www.secautomationbook.com/"&gt;Security Automation using Ansible2&lt;/a&gt;, which is also referenced as a technical resource by RedHat Ansible itself. This fulfilled a life goal of mine without me realising I wanted it. The feedback about the book was very heartwarming from friends, the community and total strangers on the Internet.&lt;/p&gt;

&lt;p&gt;I haven’t met or worked with anyone in my entire career and personal life who shares the same attitude towards life like Akash. A quote that I will always remember that he said to me was “&lt;em&gt;Knowledge is noble&lt;/em&gt;”. This keeps me motivating and will continue to do so to keep learning new things and trying them out. One thing he explained was about fatigue that if you continue to do the same thing for too long there are chances that I would get bored. However, as I picked up several different technologies and got better at many new things rapidly, Akash helped me automate several things that would leave my time for cool new things that I would like to pickup. As a mentor, Akash also worked with me to figure out what makes me happy and what new exciting things we could work at so that Appsecco could benefit from my energy levels while I would develop my career and technical skills at a personal level.&lt;/p&gt;

&lt;p&gt;As we moved forward, we started working with more and more challenges in automation and cloud native technologies. At this point, Akash suggested that I become a Certified Kubernetes Administrator by appearing for the CKA exam. This aligned perfectly with my personal interest as well, as I was on my way to digging deeper into container and orchestration security. As most of our workloads ran on Kubernetes, it was easy to get started and prepare for the exam. I learnt a LOT in the next few months as I realised that the more deeper I got into understanding about cluster specific operations like API Server and troubleshooting etc. I got better at identifying potential security pitfalls and how we could secure clusters and what could be the potential attack surface as well.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b85djd79--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/D5fbL8sV4AAljb8.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--ElRK_AxS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/975023199929946113/aTyLwhRd_normal.jpg" alt="Madhu Akula profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Madhu Akula
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/madhuakula"&gt;@madhuakula&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Did I tell you that I have passed &lt;a href="https://twitter.com/linuxfoundation"&gt;@linuxfoundation&lt;/a&gt; and &lt;a href="https://twitter.com/CloudNativeFdn"&gt;@CloudNativeFdn&lt;/a&gt; Certified &lt;a href="https://twitter.com/kubernetesio"&gt;@kubernetesio&lt;/a&gt; Administrator exam with 95%?&lt;br&gt;&lt;br&gt;Thanks &lt;a href="https://twitter.com/makash"&gt;@makash&lt;/a&gt; for motivation me to take the exam. &lt;a href="https://twitter.com/appseccouk"&gt;@appseccouk&lt;/a&gt; team you are amazing &amp;amp; always helped me to achieve my goals!&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/CKA"&gt;#CKA&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Kubernetes"&gt;#Kubernetes&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      15:18 PM - 01 May 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1123607642964779009" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1123607642964779009" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1123607642964779009" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;The certification and my personal interest pushed me into learning more about containers, Kubernetes and the ever evolving cloud native landscape. So I started giving more time to research and ended up building an amazing training focusing on both attackers and defenders perspectives in container security. I eventually had an opportunity to present my research and training at a wide variety of my dream conferences including USENIX :D&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dAcGU2iC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AUutL3LZZpTkAS0njHB5GeA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dAcGU2iC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AUutL3LZZpTkAS0njHB5GeA.jpeg" alt=""&gt;&lt;/a&gt;Some of the screenshots of my Docker Containers and Kubernetes Cluster Hacking Training&lt;/p&gt;

&lt;p&gt;While presenting at multiple conferences, I realised that I wanted to build my leadership and management skills as well. I have been lucky enough to moderate one of the worlds largest DevOps conference (30k+ audience) called All Day DevOps for the past 4 years. I moderate their DevSecOps track which not only helped me build my leadership and communication skills, also gave me a lot of friends, connections and community involvement.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you haven’t read about how I speak and moderate &lt;a href="https://medium.com/u/142a52fe2447"&gt;AllDayDevOps&lt;/a&gt; conference for the past 4 years, I suggest you must read this :D&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.alldaydevops.com/blog/moderating-and-presenting-at-all-day-devops"&gt;Moderating and Presenting at All Day DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Appsecco provided me with a lot of opportunity to travel the world. In my stint here, I have done some amazing trips to some of the most beautiful cities in the world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0b0puYk5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/580/1%2Ad9f0mVVBRDJzg63pBEmmlA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0b0puYk5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/580/1%2Ad9f0mVVBRDJzg63pBEmmlA.png" alt=""&gt;&lt;/a&gt;My high level travel history while at Appsecco&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ekzXJZH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AYu1leBA0tKtABfJutJ9H0Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ekzXJZH0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AYu1leBA0tKtABfJutJ9H0Q.png" alt=""&gt;&lt;/a&gt;Travelling to a different city/country without fun is no travel at all :)&lt;/p&gt;

&lt;p&gt;One of the things I will take back with me is the support and ever learning culture that Appsecco provides that helps it’s employees to achieve their dreams and put their progress in the right direction.&lt;/p&gt;

&lt;p&gt;To spice things up at work and to break some monotony that had started to develop, I suggested that we should do team hackthons in office. So one Friday a month would be when there was no client work assigned but pure hacking and breaking. We ended up doing lots of cool hacking and gulping down copious amounts of Coke Zero and Pizzas :) Our internal Hackathons have not only helped the team think of edge cases and create out of the box attack scenarios but also helped build team spirit and get better at collaboration.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
    &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__two-pics"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mSac11sY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/EJYz9iPVUAEbePr.jpg" alt="unknown tweet media content"&gt;
    &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--evwqwXkO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1273303313224630272/5RS0oxTg_normal.jpg" alt="Akash Mahajan - Chat about Cloud DataSec &amp;amp; AppSec profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Akash Mahajan - Chat about Cloud DataSec &amp;amp; AppSec
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/makash"&gt;@makash&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Some of the &lt;a href="https://twitter.com/appseccouk"&gt;@appseccouk&lt;/a&gt; team decided today was a day to participate in a &lt;a href="https://twitter.com/hashtag/hackathon"&gt;#hackathon&lt;/a&gt; today. 😃😃😃&lt;br&gt;&lt;br&gt;Cc &lt;a href="https://twitter.com/abh1sek"&gt;@abh1sek&lt;/a&gt; &lt;a href="https://twitter.com/0xbharath"&gt;@0xbharath&lt;/a&gt; &lt;a href="https://twitter.com/madhuakula"&gt;@madhuakula&lt;/a&gt; &lt;a href="https://twitter.com/_riddhishree"&gt;@_riddhishree&lt;/a&gt; &lt;a href="https://twitter.com/riyazwalikar"&gt;@riyazwalikar&lt;/a&gt; &lt;a href="https://twitter.com/suneshgovind"&gt;@suneshgovind&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      04:40 AM - 15 Nov 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1195199895386255360" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1195199895386255360" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1195199895386255360" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;A very simple responsibility I picked up was to send a daily quote to everyone in the company, first thing in the morning. This allowed me to read up on so much motivational stuff, figure out what would be applicable to Appsecco and keep my energy levels going throughout the day.&lt;/p&gt;

&lt;p&gt;Here’s an example quote that I have shared with the team&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UiQRjg8C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/596/1%2Adm_tOX5gxTdrEyE4ZBSGYQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UiQRjg8C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/596/1%2Adm_tOX5gxTdrEyE4ZBSGYQ.jpeg" alt=""&gt;&lt;/a&gt;Daily Quotes by me for to keep everyone motivated and learn cool things about team work and collaboration&lt;/p&gt;

&lt;p&gt;In my last year at Appsecco, I was fortunate to work with &lt;a href="https://medium.com/u/51e28dbf2098"&gt;Abhisek Datta&lt;/a&gt; to build internal automation platform using Kubernetes and cloud native technologies. This platform helps our Security Testing team to hasten up their process of discovery of low hanging fruits while the team can work on attacking the bigger bits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qqe9CDe---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AsbKmEm8fJuRzdcqwsa9pLw.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qqe9CDe---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AsbKmEm8fJuRzdcqwsa9pLw.jpeg" alt=""&gt;&lt;/a&gt;First Kubernetes Day Bangalore!&lt;/p&gt;

&lt;p&gt;Abhisek Datta or Datta sir as he is lovingly addressed by most of us, has an insane amount of patience. His experience across domains like attack, defense, automation and development is something I have never see. His trolling capabilities are next level too!&lt;/p&gt;

&lt;p&gt;Working with Abhisek has taught me the most important parts of my work. My approach towards any task that I pick up was to dive right into it because of my hunger for knowledge, but working with him allowed me to focus on the thought process and figure out the most simple, yet elegant solutions to the problem statement in question.&lt;/p&gt;

&lt;p&gt;When not working, most of my time spent in office was hanging out with my cool colleagues and having fun with them. &lt;a href="https://medium.com/u/c35e1d5a2e46"&gt;Bharath&lt;/a&gt;, &lt;a href="https://medium.com/u/a536602bb4c9"&gt;Riddhi&lt;/a&gt; and &lt;a href="https://medium.com/u/3810dce73ad2"&gt;Sunesh&lt;/a&gt; are always up for coffee break and random discussions (which would eventually come back to something technical), making me realise that Appsecco is a company of people with amazingly common interest towards same goal with the hunger to achieve it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ifl3ubA8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/888/1%2AvzBI0j4lTbt8Kk3AhrfcdQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ifl3ubA8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/888/1%2AvzBI0j4lTbt8Kk3AhrfcdQ.png" alt=""&gt;&lt;/a&gt;Our team at Kochi airport, going for c0c0n to deliver our workshops :)&lt;/p&gt;

&lt;p&gt;Our Friday lunches was an amazing break from work and we have tried a variety of restaurants and cuisine in Indiranagar. My favourite has been &lt;strong&gt;Bombay Brasserie&lt;/strong&gt; and my favourite food has been &lt;strong&gt;Kashmiri Naan Kebab&lt;/strong&gt; and &lt;strong&gt;Amritsari Kulfa&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1hjWbZWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/780/1%2ABcoqgLU1MVupkT0eyqt1Sw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1hjWbZWN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/780/1%2ABcoqgLU1MVupkT0eyqt1Sw.png" alt=""&gt;&lt;/a&gt;My amazingly favourite dessert, Amritsari Kulfa :D&lt;/p&gt;

&lt;h4&gt;
  
  
  The last month
&lt;/h4&gt;

&lt;p&gt;Last month I decided to tell Akash, Abhisek and Gwil about my plans for the future and how I wanted to move on to my next adventure. It has been the most difficult thing I have had to do. It was like telling your family you are leaving them and not knowing how they would react or feel.&lt;/p&gt;

&lt;p&gt;But when I told them, for reasons I did not fully understand, they were happy for me! This was very weird in my head as I had not anticipated them to be happy.&lt;/p&gt;

&lt;p&gt;They said that I have done so much at Appsecco and put in all the effort I could to ensure the company and community progresses that they had nothing but good luck for me. It’s a good sign, they said, as my career is still growing (and being young :D) now would be a good time to explore.&lt;/p&gt;

&lt;p&gt;When it came to transition and handing over of responsibilities, access and data, it could not have been smoother. Apart from doing all of that, we had the most fun, I think in recent times, this month.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pl8vzOzf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AoL1S7PiEAJb-A3X7r4PCfg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pl8vzOzf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AoL1S7PiEAJb-A3X7r4PCfg.jpeg" alt=""&gt;&lt;/a&gt;Our amazing and awesome Ubercool team :D&lt;/p&gt;

&lt;p&gt;We had fun outings, cool lunches and dinners, secret santa, bowling, go-karting, games, eating, drinking, etc. to name a few, mostly thanks to our new Fun Committee in-charge — &lt;a href="https://medium.com/u/1d9ec6361ee3"&gt;Shruthi Kamath&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d-ZvRKYw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1000/1%2AoKJD2P9ICtIkOon-W4xvlg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d-ZvRKYw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1000/1%2AoKJD2P9ICtIkOon-W4xvlg.jpeg" alt=""&gt;&lt;/a&gt;Our Christmas team outing and fun activities :)&lt;/p&gt;

&lt;p&gt;I have had really great time working at Appsecco. My time year has nothing been short of a movie. A blockbuster, not the flop types. The people, the culture, the learning, the fun, the trolling, the acceptance of new tech, the embracing of failures, the celebration of success and the ever constant push to do more than you are capable of. I will always be thankful for the opportunity given to me and I believe that very few companies out there will match my experience of Appsecco.&lt;/p&gt;

&lt;h4&gt;
  
  
  5 key things I learnt at Appsecco
&lt;/h4&gt;

&lt;p&gt;To end this looooooong blogpost, here’s 5 cool things I picked up at Appsecco as part of my non-technical learning&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don’t assume anything. As the quote goes — Never ASSUME, because when you ASSUME, you make an ASS out of U and ME&lt;/li&gt;
&lt;li&gt;The company is as strong as the team&lt;/li&gt;
&lt;li&gt;Set your dream goals and work towards them&lt;/li&gt;
&lt;li&gt;Communication is the key to everything&lt;/li&gt;
&lt;li&gt;It’s okay to fail and learn from failures&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  What is next for me
&lt;/h4&gt;

&lt;p&gt;Alas, all good stories need a sequel. My journey has just begun in the world of security of Cloud, Containers, Kubernetes and Cloud native landscape. I’m moving on to a different place, to get a taste of a different culture and to try something new and hopefully as exciting as my time here.&lt;/p&gt;

&lt;p&gt;If I want to leave you all with just one thought, remember&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Great things happen to those who don’t stop believing, trying, learning, and being grateful.&lt;/p&gt;

&lt;p&gt;— Roy Bennett&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/madhuakula"&gt;Twitter&lt;/a&gt; or &lt;a href="https://linkedin.com/in/madhuakula"&gt;LinkedIn&lt;/a&gt; for upcoming updates :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://madhuakula.com"&gt;Madhu Akula&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you so much &lt;a href="https://medium.com/u/724b10f882ad"&gt;Riyaz Walikar&lt;/a&gt; for reviewing my blogpost, you are awesome as always :)&lt;/p&gt;




</description>
      <category>applicationsecurity</category>
      <category>farewell</category>
      <category>appsecco</category>
      <category>workplace</category>
    </item>
    <item>
      <title>Submit your proposal to All Day DevOps</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Tue, 30 Apr 2019 01:46:20 +0000</pubDate>
      <link>https://forem.com/madhuakula/submit-your-proposal-to-all-day-devops-4ljc</link>
      <guid>https://forem.com/madhuakula/submit-your-proposal-to-all-day-devops-4ljc</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K3xZGREk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AZAX4IdaB_C1ttJ8SZN2yPw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K3xZGREk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AZAX4IdaB_C1ttJ8SZN2yPw.png" alt=""&gt;&lt;/a&gt;&lt;a href="https://www.alldaydevops.com"&gt;All Day DevOps — World’s largest DevOps conference&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why you should submit your proposal to All Day DevOps
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Speaking and working experience with one of the worlds largest online community
&lt;/h4&gt;

&lt;p&gt;Hello Everyone,&lt;/p&gt;

&lt;p&gt;This blog post is all about &lt;a href="https://www.alldaydevops.com"&gt;All Day DevOps&lt;/a&gt;, especially why you should submit your proposal to see the world class experience of presenting your research. I have added my experience as a veteran at speaking and organizing All Day DevOps event for the past 3 years and it’s keep growing :)&lt;/p&gt;

&lt;p&gt;First of all let me tell you what is All Day DevOps&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;All Day DevOps is a&lt;/em&gt; &lt;strong&gt;FREE&lt;/strong&gt; &lt;em&gt;online community responsible for creating the world’s largest DevOps conference.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ 24 Hours&lt;br&gt;&lt;br&gt;
✅ Live Streaming&lt;br&gt;&lt;br&gt;
✅ 125 Speakers&lt;br&gt;&lt;br&gt;
✅ Five Tracks&lt;br&gt;&lt;br&gt;
✅ 38 Time Zones&lt;br&gt;&lt;br&gt;
✅ World wide viewing parties&lt;br&gt;&lt;br&gt;
✅ Free Registration&lt;br&gt;&lt;br&gt;
✅ No Travel Required&lt;/p&gt;
&lt;h4&gt;
  
  
  All Day DevOps 2016
&lt;/h4&gt;

&lt;p&gt;It all started from All Day DevOps 2016, I have had an opportunity present my research &lt;a href="https://www.youtube.com/watch?v=3_HIlDm3GtM"&gt;Automated Infrastructure Security Monitoring with FOSS&lt;/a&gt; and got wonderful response and feedback from the community, organizers and around them. It almost built my confidence to next level to prepare, present at 13k+ crowd.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3_HIlDm3GtM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I still remember and bookmarked the &lt;a href="https://www.papercall.io/all-day-devops-2016"&gt;CFP page of All Day DevOps 2016&lt;/a&gt;. This conference helped me to get some great friends and chance to contribute and work with amazing organizers &lt;a href="https://medium.com/u/4fc4d0e000ae"&gt;Derek E. Weeks&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/seniorstoryteller"&gt;Mark Miller&lt;/a&gt; and &lt;a href="https://medium.com/u/a43db92df755"&gt;devsecops&lt;/a&gt;. They have helped me throughout the conference as well as post conference and now as well :)&lt;/p&gt;

&lt;p&gt;I would have to really appreciate and give credit to my company &lt;a href="https://appsecco.com"&gt;Appsecco&lt;/a&gt; and &lt;a href="https://medium.com/u/750968b743c7"&gt;Akash Mahajan&lt;/a&gt; for pushing me towards to contribute to community and helping me all the way along :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RuGQkCtL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/535/1%2ATbXAO8tulBpP4Xf__iHFIg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RuGQkCtL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/535/1%2ATbXAO8tulBpP4Xf__iHFIg.png" alt=""&gt;&lt;/a&gt;Speakers photo from All Day DevOps 2016&lt;/p&gt;

&lt;h4&gt;
  
  
  All Day DevOps 2017
&lt;/h4&gt;

&lt;p&gt;This year I had taken more responsibility and privileged to share my research with community. In this year I had chance to moderate the DevSecOps track and speak as well. Initially bit nervous but you don’t believe what I had done. &lt;a href="https://blog.appsecco.com/moderating-and-presenting-at-all-day-devops-d80df02a7b30"&gt;Read my story about taking at taking two role during All Day DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.appsecco.com/moderating-and-presenting-at-all-day-devops-d80df02a7b30"&gt;Moderating and Presenting at All Day DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/media/1a7f2c2a9d488bb42445cb20ed82e3fa/href"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/1a7f2c2a9d488bb42445cb20ed82e3fa/href"&gt;https://medium.com/media/1a7f2c2a9d488bb42445cb20ed82e3fa/href&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pnjFkpca--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A01up2bDjrENku2SRSo0ejA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pnjFkpca--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A01up2bDjrENku2SRSo0ejA.jpeg" alt=""&gt;&lt;/a&gt;Speakers photo from All Day DevOps 2017&lt;/p&gt;

&lt;h4&gt;
  
  
  All Day DevOps 2018
&lt;/h4&gt;

&lt;p&gt;As I had done great job with previous year. This year I continued to take my role as moderator for DevSecOps track and presenting my research.&lt;/p&gt;

&lt;p&gt;In this year I had also did some chitchat preview interview with &lt;a href="https://medium.com/u/919991af5686"&gt;Mike Rosado&lt;/a&gt; about my presentation “Container Security Monitoring using Open Source” and about my self and other things. You can watch the video below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.facebook.com/AllDayDevOps/videos/all-day-devops-speaker-series-madhu-akula/733940340277601/"&gt;All Day DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here is the my presentation from All Day DevOps 2018&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/media/06564555a0b6066eec8acb6f81b0ce1f/href"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/06564555a0b6066eec8acb6f81b0ce1f/href"&gt;https://medium.com/media/06564555a0b6066eec8acb6f81b0ce1f/href&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j8GovoDJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/552/1%2AifCKBS4C5GmviLhhmhOnGw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j8GovoDJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/552/1%2AifCKBS4C5GmviLhhmhOnGw.png" alt=""&gt;&lt;/a&gt;Speakers photo from All Day DevOps 2018&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dPEH5XrE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/828/1%2AgzsaUr72upA-Cpwthegz9Q.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPEH5XrE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/828/1%2AgzsaUr72upA-Cpwthegz9Q.jpeg" alt=""&gt;&lt;/a&gt;Some of the cool goodies you will get includes, I love them all the time :D&lt;/p&gt;

&lt;h4&gt;
  
  
  Some of the benefits you will get by speaking at All Day DevOps
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Get a chance to present your amazing work to the world&lt;/li&gt;
&lt;li&gt;Get review, feedback and suggestions from organizers, reviewers and participants&lt;/li&gt;
&lt;li&gt;Build your confidence to next level as you are facing almost 30k+ participants from variety levels and skills in the world&lt;/li&gt;
&lt;li&gt;One of the great speaking experience from submitting to the post conference. You will definitely learn something along the way, if you are the veteran at speaking also ;)&lt;/li&gt;
&lt;li&gt;You will get help from organizers throughout the conference to build your presentation, review, prepare for the session, per-checks and many more&lt;/li&gt;
&lt;li&gt;Awesome preview interview with &lt;a href="https://medium.com/u/919991af5686"&gt;Mike Rosado&lt;/a&gt; about your session and your hobbies, etc&lt;/li&gt;
&lt;li&gt;Get to interact with fellow speakers, moderators and organizers&lt;/li&gt;
&lt;li&gt;Talking to the amazing crowd of participants in the slack channel&lt;/li&gt;
&lt;li&gt;And I totally forgot to mention, You will get an amazingly ubercool speaker goodies and I love them all the time :D&lt;/li&gt;
&lt;li&gt;Build your personal and your organisation public brand in social media and other news coverage&lt;/li&gt;
&lt;li&gt;Many more, I think this list keep going…&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Remember that what is ordinary to you is awesome for someone else&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  What’s about this year?
&lt;/h4&gt;

&lt;p&gt;The 4th Annual All Day DevOps is on November 6, 2019. Starting at 9:00am GMT and continuing for 24 hours, there will be 5 simultaneous tracks, with each track containing a continuous series of 30-minute presentations, for a total of over 50+ hours of presentations. Attendance is free.&lt;/p&gt;

&lt;p&gt;The high level overview of tracks includes&lt;/p&gt;

&lt;p&gt;There are 5 defined tracks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cloud Native Infra and Monitoring&lt;/li&gt;
&lt;li&gt;DevSecOps and Automated Security&lt;/li&gt;
&lt;li&gt;CI/CD — Continuous Everything&lt;/li&gt;
&lt;li&gt;Cultural Transformation&lt;/li&gt;
&lt;li&gt;SRE — Site Reliability Engineering&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;I have submitted my talk for this year and also moderating DevSecOps track as well. Looking forward and excited to the All Day DevOps 2019!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Excited!! Want to share your story with All Day DevOps 2019, then submit your talk at &lt;a href="https://sessionize.com/2019-all-day-devops/"&gt;https://sessionize.com/2019-all-day-devops&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I would like thank every organizer, moderator, speaker, supporters, sponsors and awesome participants without them we can’t have this free online community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Thanks for reading the article, if you like it please share with others by clicking on the clap icon - Follow me on twitter @&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://twitter.com/@madhuakula"&gt;&lt;strong&gt;&lt;em&gt;madhuakula&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Some tips to review Docker Hub Hack of 190k accounts</title>
      <dc:creator>Madhu Akula</dc:creator>
      <pubDate>Sat, 27 Apr 2019 18:05:37 +0000</pubDate>
      <link>https://forem.com/madhuakula/some-tips-to-review-docker-hub-hack-of-190k-accounts-6db</link>
      <guid>https://forem.com/madhuakula/some-tips-to-review-docker-hub-hack-of-190k-accounts-6db</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--scroGZiJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/775/1%2AMXyGHENxlZYvCdD-BKd2eg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--scroGZiJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/775/1%2AMXyGHENxlZYvCdD-BKd2eg.png" alt=""&gt;&lt;/a&gt;Docker Hub Hack of 190k accounts compromised and put everyone at risk!&lt;/p&gt;

&lt;p&gt;As most of you must be aware, Docker Hub has been compromised very recently and this attack has put almost 190K users at risk. According to me, this is one of the craziest supply chain attacks in the recent history. I say so, because it is not easy to make oneself foolproof against this attack. We might have to review multiple things before we feel safe, and still, we cannot provide the guarantee that we are secure enough.&lt;/p&gt;

&lt;p&gt;Read more about this hack in &lt;a href="https://news.ycombinator.com/item?id=19763413"&gt;Hacker News thread&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=19763413"&gt;Docker Hub Hacked - 190k accounts, GitHub tokens revoked, Builds disabled | Hacker News&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For your benefit, I have come up with a list of checks which might help you to review your Docker hub, Github account, etc. Listed below are some of the checks that might help you while reviewing your Docker hub, Github accounts. All of these points are taken from my personal checklist, and they might or might not guarantee that you are completely secure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Checklist
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Login to your &lt;a href="https://hub.docker.com"&gt;Docker Hub&lt;/a&gt; and change your password in account settings page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v4zHoJhZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A8qM6absv8Fqqr38tWIdukQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v4zHoJhZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A8qM6absv8Fqqr38tWIdukQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check each of your repository image’s last build time, and see if you could identify any suspicious build. Additionally, check if any new tags were created for the images, or, if new images have been created or pushed manually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hwaL3v0j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ABcOvK7bAIhECqLbIwbEVoA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hwaL3v0j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ABcOvK7bAIhECqLbIwbEVoA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review the repository settings and check if any new collaborator has been added without your knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sk7QdQd3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AohiMa8QXChJzQojfqxenYA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sk7QdQd3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AohiMa8QXChJzQojfqxenYA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review all external webhooks. Check if a suspicious webhook has been added to any of the repositories, or, if an existing webhook has been modified suspiciously&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hnJ8Wxz8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AokYTgn1K2YRVTpoYJyan0Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hnJ8Wxz8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AokYTgn1K2YRVTpoYJyan0Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review your organization’s team members and ensure that any unknown user has not been added&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XIipQzXY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AaKIlYK3B3cpPglMJt6RdOg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XIipQzXY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AaKIlYK3B3cpPglMJt6RdOg.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure your automated builds from version control systems have been revoked and reconnected. Also, check for new connections or providers that might have been added suspiciously. Finally verify if the emails are mentioned correctly and that no new or modified webhooks have been added&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UqMazJmZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AUQXi0gpHMo4lkzEN8i-D5Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UqMazJmZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AUQXi0gpHMo4lkzEN8i-D5Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to your version control system provider and ensure you revoke the existing application integration and tokens. Also, review if any new GitHub apps have been added or if the existing ones have been removed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dwKmTWov--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AnngOgdxzCfuWt0-xCUwQHQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dwKmTWov--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AnngOgdxzCfuWt0-xCUwQHQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review yours and your organisation’s GitHub security activity to verify if any suspicious changes have been made over time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t2d5IOIg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A4mpvFTUxOVs2MGBlnPMSuA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t2d5IOIg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2A4mpvFTUxOVs2MGBlnPMSuA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review your organisation’s and your personal account’s audit logs. Review any changes that have been made based on the privileges of the Docker Hub integration with GitHub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---RhsasrZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ACl2QBKv0_yvTIfPX_dbl7Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---RhsasrZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2ACl2QBKv0_yvTIfPX_dbl7Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some additional checks which might be done includes, verifying your base images and existing images as it is possible that the corresponding owner accounts might have been compromised too. Use some open source image scanners like &lt;a href="https://github.com/coreos/clair"&gt;Clair&lt;/a&gt;, &lt;a href="https://vulners.com/audit"&gt;Vulners Audit&lt;/a&gt;, etc. These checks would apply even if you are not in Docker Hub and are using a private registry. This is because you might have ended up using some external base image like nginx, alpine, etc.&lt;/li&gt;
&lt;li&gt;Monitor, and monitor again, all the things (containers) that you are running. This is required because there are chances that some of the running containers might have been compromised already&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These are some of the tips that I came up with and I would love to know what are some of the other thing that you might be thinking of and that could be helpful for our community. Please leave your comments and suggestions here and I will incorporate your suggestions into my post.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Contributors
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://medium.com/u/a536602bb4c9"&gt;Riddhi Shree&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Please feel free to provide any feedback, suggestions or improvements. If you liked this article, click the 👏 button and share this post so that other people could also benefit from this post.&lt;/p&gt;
&lt;/blockquote&gt;




</description>
      <category>hacking</category>
      <category>docker</category>
      <category>security</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
