SlideShare a Scribd company logo
1 of 6
Download to read offline
Azure Arm Template IaC Security
Introduction
You can integrate prancer Platform into your DevOps process to do automated security tests on
Infrastructure as Code (IaC). This post will explain how to do an IaC security scan with Prancer
platform on your Azure ARM templates repository in a few steps.
High level steps
 clone the Prancer Hello World repository
 modify the connector file
 run the tests
 Interpret the results
Step 1 - clone the Prancer Hello World repository
git clone https://github.com/prancer-io/prancer-hello-world.git
cd prancer-hello-world
To clone the Prancer Hello World repository and change the directory to it.
Step 2 - modify the Connector
You should modify the Connector file to point to your own git repository. The sample connector
file is gitConnectorArm.json.
vi gitConnectorArm.json
You see the content of the file as follows:
{
"fileType": "structure",
"type": "filesystem",
"companyName": "prancer",
"gitProvider": "https://github.com/prancer-io/prancer-armof.git",
"branchName": "master",
"private": false
}
Change the gitProvider to point to your repository. You can find more information about the
structure of this file here
Step 3 - run the tests
First, crawl your repo and then run the tests with the following commands.
prancer scenario-arm-remote --crawler
prancer scenario-arm-remote
You will see the results of the tests on screen.
step 4 - Interpret the results
Prancer will generate an output file, and you can view the result of each test (Passed / Failed)
cat validation/scenario-arm-remote/output-master-test.json
Here is a snippet of the output-master-test.json file:
{
"eval": "data.rule.aks_cni_net",
"result": "passed",
"message": "",
"id": "PR-AZR-0006-ARM",
"remediation_description": "Make sure you are following the ARM template guidelines for
AKS from this URL : https://docs.microsoft.com/en-
us/azure/templates/microsoft.containerservice/managedclusters",
"remediation_function": "PR_AZR_0006_ARM.py",
"snapshots": [
{
"id": "ARM_TEMPLATE_SNAPSHOT1",
"structure": "filesystem",
"reference": "master",
"source": "gitConnectorArmRemoteStructure",
"collection": "armtemplate",
"type": "arm",
"region": "",
"paths": [
"/AKS/aks.azuredeploy.json",
"/AKS/aks.azuredeploy.parameters.json"
]
}
],
"autoRemediate": false,
"masterTestId": "TEST_AKS_1",
"masterSnapshotId": [
"ARM_TEMPLATE_SNAPSHOT"
],
"type": "rego",
"rule": "file(aks.rego)",
"title": "Azure CNI networking should be enabled in Azure AKS cluster",
"description": "Azure CNI provides the following features over kubenet
networking:_x000D__x000D_- Every pod in the cluster is assigned an IP address in the virtual
network. The pods can directly communicate with other pods in the cluster, and other nodes in
the virtual network._x000D_- Pods in a subnet that have service endpoints enabled can securely
connect to Azure services, such as Azure Storage and SQL DB._x000D_- You can create user-
defined routes (UDR) to route traffic from pods to a Network Virtual Appliance._x000D_-
Support for Network Policies securing communication between pods._x000D__x000D_This
policy checks your AKS cluster for the Azure CNI network plugin and generates an alert if not
found.",
"tags": [
{
"cloud": "git",
"compliance": [],
"service": [
"microsoft.containerservice"
]
}
],
"snapshotId": [
"ARM_TEMPLATE_SNAPSHOT1"
],
"status": "enable"
}
It provides you all the details you need to track down the item and fix it if required.
You can easily integrate the Prancer Platform into your pipeline for automated IaC scans.
fail_success=`grep failed validation/scenario-arm-remote/output-master-test.json`
pass_error=`grep passed validation/scenario-arm-remote/output-master-test.json`
if [[ -z "$fail_success" ]] || [[ ! -z "$pass_error" ]] ; then echo "scenario-arm-remote failed"; exit
1;fi
References
 Prancer Azure IaC security tests
 Prancer docs

More Related Content

What's hot

Auto-testing production CQ instances with Muppet
Auto-testing production CQ instances with MuppetAuto-testing production CQ instances with Muppet
Auto-testing production CQ instances with Muppetconnectwebex
 
How To Create EC2 instance Linux Server
How To Create EC2 instance Linux ServerHow To Create EC2 instance Linux Server
How To Create EC2 instance Linux ServerVCP Muthukrishna
 
How To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional StatementsHow To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional StatementsVCP Muthukrishna
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode ChefSri Ram
 
Windows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive InfoWindows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive InfoVCP Muthukrishna
 
Debugging production - eurucamp 2013
Debugging production - eurucamp 2013Debugging production - eurucamp 2013
Debugging production - eurucamp 2013grosser
 
How To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter ValueHow To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter ValueVCP Muthukrishna
 
Inspec one tool to rule them all
Inspec one tool to rule them allInspec one tool to rule them all
Inspec one tool to rule them allKimball Johnson
 
Node.js and Google Cloud
Node.js and Google CloudNode.js and Google Cloud
Node.js and Google CloudPaulo Pires
 
Debugging ansible modules
Debugging ansible modulesDebugging ansible modules
Debugging ansible modulesaleonhardt
 
NLIT 2011: Chef & Capistrano
NLIT 2011: Chef & CapistranoNLIT 2011: Chef & Capistrano
NLIT 2011: Chef & Capistranonickblah
 
Unit Testing Express Middleware
Unit Testing Express MiddlewareUnit Testing Express Middleware
Unit Testing Express MiddlewareMorris Singer
 
How to configure amazon ec2 load balancer
How to configure amazon ec2 load balancerHow to configure amazon ec2 load balancer
How to configure amazon ec2 load balancerVCP Muthukrishna
 
How to cheat jb detector and detect cheating
How to cheat jb detector and detect cheatingHow to cheat jb detector and detect cheating
How to cheat jb detector and detect cheatingHokila Jan
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesAbhishek Sur
 
Cookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecCookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecDaniel Paulus
 
스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전
스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전
스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전HyungTae Lim
 
Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Julian Dunn
 

What's hot (20)

Auto-testing production CQ instances with Muppet
Auto-testing production CQ instances with MuppetAuto-testing production CQ instances with Muppet
Auto-testing production CQ instances with Muppet
 
How To Create EC2 instance Linux Server
How To Create EC2 instance Linux ServerHow To Create EC2 instance Linux Server
How To Create EC2 instance Linux Server
 
Chef training Day4
Chef training Day4Chef training Day4
Chef training Day4
 
How To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional StatementsHow To Construct IF and Else Conditional Statements
How To Construct IF and Else Conditional Statements
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode Chef
 
Windows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive InfoWindows PowerShell Basics - How To List PSDrive Info
Windows PowerShell Basics - How To List PSDrive Info
 
Debugging production - eurucamp 2013
Debugging production - eurucamp 2013Debugging production - eurucamp 2013
Debugging production - eurucamp 2013
 
How To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter ValueHow To Create Power Shell Function Mandatory Parameter Value
How To Create Power Shell Function Mandatory Parameter Value
 
Inspec one tool to rule them all
Inspec one tool to rule them allInspec one tool to rule them all
Inspec one tool to rule them all
 
Node.js and Google Cloud
Node.js and Google CloudNode.js and Google Cloud
Node.js and Google Cloud
 
Debugging ansible modules
Debugging ansible modulesDebugging ansible modules
Debugging ansible modules
 
NLIT 2011: Chef & Capistrano
NLIT 2011: Chef & CapistranoNLIT 2011: Chef & Capistrano
NLIT 2011: Chef & Capistrano
 
Unit Testing Express Middleware
Unit Testing Express MiddlewareUnit Testing Express Middleware
Unit Testing Express Middleware
 
How to configure amazon ec2 load balancer
How to configure amazon ec2 load balancerHow to configure amazon ec2 load balancer
How to configure amazon ec2 load balancer
 
How to cheat jb detector and detect cheating
How to cheat jb detector and detect cheatingHow to cheat jb detector and detect cheating
How to cheat jb detector and detect cheating
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager Templates
 
Testing Terraform
Testing TerraformTesting Terraform
Testing Terraform
 
Cookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecCookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and Serverrspec
 
스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전
스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전
스프링 시큐리티로 시작하는 웹 어플리케이션 보안 _강사준비 스터디 버전
 
Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.
 

Similar to Azure arm template ia c security

Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)Katy Slemon
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Helm Charts Security 101
Helm Charts Security 101Helm Charts Security 101
Helm Charts Security 101Deep Datta
 
DevOps Enabling Your Team
DevOps Enabling Your TeamDevOps Enabling Your Team
DevOps Enabling Your TeamGR8Conf
 
Accessibility Testing using Axe
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using AxeRapidValue
 
Helm Security Webinar
Helm Security WebinarHelm Security Webinar
Helm Security WebinarDeep Datta
 
AWS CloudFormation Intrinsic Functions and Mappings
AWS CloudFormation Intrinsic Functions and Mappings AWS CloudFormation Intrinsic Functions and Mappings
AWS CloudFormation Intrinsic Functions and Mappings Adam Book
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthroughSangwon Lee
 
JavaScript Modules in Practice
JavaScript Modules in PracticeJavaScript Modules in Practice
JavaScript Modules in PracticeMaghdebura
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsAndrey Karpov
 
How to use prancer configuration wizard for easy repository onboarding for ia...
How to use prancer configuration wizard for easy repository onboarding for ia...How to use prancer configuration wizard for easy repository onboarding for ia...
How to use prancer configuration wizard for easy repository onboarding for ia...Prancer Io
 
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...Amazon Web Services
 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravelConfiz
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfLuca Mattia Ferrari
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Amazon Web Services
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to SwaggerKnoldus Inc.
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using GoCloudOps2005
 
Deploying on Kubernetes - An intro
Deploying on Kubernetes - An introDeploying on Kubernetes - An intro
Deploying on Kubernetes - An introAndré Cruz
 
Web service with Laravel
Web service with LaravelWeb service with Laravel
Web service with LaravelAbuzer Firdousi
 

Similar to Azure arm template ia c security (20)

Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)Go swagger tutorial how to create golang api documentation using go swagger (1)
Go swagger tutorial how to create golang api documentation using go swagger (1)
 
Azure arm templates
Azure arm templatesAzure arm templates
Azure arm templates
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Helm Charts Security 101
Helm Charts Security 101Helm Charts Security 101
Helm Charts Security 101
 
DevOps Enabling Your Team
DevOps Enabling Your TeamDevOps Enabling Your Team
DevOps Enabling Your Team
 
Accessibility Testing using Axe
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using Axe
 
Helm Security Webinar
Helm Security WebinarHelm Security Webinar
Helm Security Webinar
 
AWS CloudFormation Intrinsic Functions and Mappings
AWS CloudFormation Intrinsic Functions and Mappings AWS CloudFormation Intrinsic Functions and Mappings
AWS CloudFormation Intrinsic Functions and Mappings
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthrough
 
JavaScript Modules in Practice
JavaScript Modules in PracticeJavaScript Modules in Practice
JavaScript Modules in Practice
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
 
How to use prancer configuration wizard for easy repository onboarding for ia...
How to use prancer configuration wizard for easy repository onboarding for ia...How to use prancer configuration wizard for easy repository onboarding for ia...
How to use prancer configuration wizard for easy repository onboarding for ia...
 
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravel
 
Meetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdfMeetup 2022 - APIs with Quarkus.pdf
Meetup 2022 - APIs with Quarkus.pdf
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
 
Deploying on Kubernetes - An intro
Deploying on Kubernetes - An introDeploying on Kubernetes - An intro
Deploying on Kubernetes - An intro
 
Web service with Laravel
Web service with LaravelWeb service with Laravel
Web service with Laravel
 

More from Prancer Io

Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...
Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...
Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...Prancer Io
 
Prancer Enterprise announces today the release of the Zero Trust Security Val...
Prancer Enterprise announces today the release of the Zero Trust Security Val...Prancer Enterprise announces today the release of the Zero Trust Security Val...
Prancer Enterprise announces today the release of the Zero Trust Security Val...Prancer Io
 
Prancer for Offensive Security Testing
Prancer for Offensive Security TestingPrancer for Offensive Security Testing
Prancer for Offensive Security TestingPrancer Io
 
Why do Next-generation snapshot scanning security solutions raise security co...
Why do Next-generation snapshot scanning security solutions raise security co...Why do Next-generation snapshot scanning security solutions raise security co...
Why do Next-generation snapshot scanning security solutions raise security co...Prancer Io
 
Announcing the launch of Red and Blue Cyber Security Show
Announcing the launch of Red and Blue Cyber Security ShowAnnouncing the launch of Red and Blue Cyber Security Show
Announcing the launch of Red and Blue Cyber Security ShowPrancer Io
 
9 tips for assessing your modern cloud security toolsets.pdf
9 tips for assessing your modern cloud security toolsets.pdf9 tips for assessing your modern cloud security toolsets.pdf
9 tips for assessing your modern cloud security toolsets.pdfPrancer Io
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodePrancer Io
 
IAC Compliance.pdf
IAC Compliance.pdfIAC Compliance.pdf
IAC Compliance.pdfPrancer Io
 
IaC Security and Continuous Compliance
IaC Security and Continuous ComplianceIaC Security and Continuous Compliance
IaC Security and Continuous CompliancePrancer Io
 
IaC Security and Continuous Compliance
IaC Security and Continuous ComplianceIaC Security and Continuous Compliance
IaC Security and Continuous CompliancePrancer Io
 
Security Validation as Code
Security Validation as CodeSecurity Validation as Code
Security Validation as CodePrancer Io
 
Automated Pentesting vs Dynamic Application Security Testing
Automated Pentesting vs Dynamic Application Security TestingAutomated Pentesting vs Dynamic Application Security Testing
Automated Pentesting vs Dynamic Application Security TestingPrancer Io
 
Security Validation
Security ValidationSecurity Validation
Security ValidationPrancer Io
 
Cloud Security Validation at Scale
Cloud Security Validation at ScaleCloud Security Validation at Scale
Cloud Security Validation at ScalePrancer Io
 
Security Validation as Code.pdf
Security Validation as Code.pdfSecurity Validation as Code.pdf
Security Validation as Code.pdfPrancer Io
 
Prancer web interface for the ease of use
Prancer web interface for the ease of usePrancer web interface for the ease of use
Prancer web interface for the ease of usePrancer Io
 
What are the configuration files in the prancer framework
What are the configuration files in the prancer frameworkWhat are the configuration files in the prancer framework
What are the configuration files in the prancer frameworkPrancer Io
 
Automated pentesting vs dynamic application security testing (dast) (2)
Automated pentesting vs dynamic application security testing (dast) (2)Automated pentesting vs dynamic application security testing (dast) (2)
Automated pentesting vs dynamic application security testing (dast) (2)Prancer Io
 
Is iac scanning scalable in the git ops era
Is iac scanning scalable in the git ops eraIs iac scanning scalable in the git ops era
Is iac scanning scalable in the git ops eraPrancer Io
 
Prancer web interface for the ease of use
Prancer web interface for the ease of usePrancer web interface for the ease of use
Prancer web interface for the ease of usePrancer Io
 

More from Prancer Io (20)

Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...
Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...
Prancer Enterprise has achieved SOC 2 Type I compliance in accordance with Am...
 
Prancer Enterprise announces today the release of the Zero Trust Security Val...
Prancer Enterprise announces today the release of the Zero Trust Security Val...Prancer Enterprise announces today the release of the Zero Trust Security Val...
Prancer Enterprise announces today the release of the Zero Trust Security Val...
 
Prancer for Offensive Security Testing
Prancer for Offensive Security TestingPrancer for Offensive Security Testing
Prancer for Offensive Security Testing
 
Why do Next-generation snapshot scanning security solutions raise security co...
Why do Next-generation snapshot scanning security solutions raise security co...Why do Next-generation snapshot scanning security solutions raise security co...
Why do Next-generation snapshot scanning security solutions raise security co...
 
Announcing the launch of Red and Blue Cyber Security Show
Announcing the launch of Red and Blue Cyber Security ShowAnnouncing the launch of Red and Blue Cyber Security Show
Announcing the launch of Red and Blue Cyber Security Show
 
9 tips for assessing your modern cloud security toolsets.pdf
9 tips for assessing your modern cloud security toolsets.pdf9 tips for assessing your modern cloud security toolsets.pdf
9 tips for assessing your modern cloud security toolsets.pdf
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
IAC Compliance.pdf
IAC Compliance.pdfIAC Compliance.pdf
IAC Compliance.pdf
 
IaC Security and Continuous Compliance
IaC Security and Continuous ComplianceIaC Security and Continuous Compliance
IaC Security and Continuous Compliance
 
IaC Security and Continuous Compliance
IaC Security and Continuous ComplianceIaC Security and Continuous Compliance
IaC Security and Continuous Compliance
 
Security Validation as Code
Security Validation as CodeSecurity Validation as Code
Security Validation as Code
 
Automated Pentesting vs Dynamic Application Security Testing
Automated Pentesting vs Dynamic Application Security TestingAutomated Pentesting vs Dynamic Application Security Testing
Automated Pentesting vs Dynamic Application Security Testing
 
Security Validation
Security ValidationSecurity Validation
Security Validation
 
Cloud Security Validation at Scale
Cloud Security Validation at ScaleCloud Security Validation at Scale
Cloud Security Validation at Scale
 
Security Validation as Code.pdf
Security Validation as Code.pdfSecurity Validation as Code.pdf
Security Validation as Code.pdf
 
Prancer web interface for the ease of use
Prancer web interface for the ease of usePrancer web interface for the ease of use
Prancer web interface for the ease of use
 
What are the configuration files in the prancer framework
What are the configuration files in the prancer frameworkWhat are the configuration files in the prancer framework
What are the configuration files in the prancer framework
 
Automated pentesting vs dynamic application security testing (dast) (2)
Automated pentesting vs dynamic application security testing (dast) (2)Automated pentesting vs dynamic application security testing (dast) (2)
Automated pentesting vs dynamic application security testing (dast) (2)
 
Is iac scanning scalable in the git ops era
Is iac scanning scalable in the git ops eraIs iac scanning scalable in the git ops era
Is iac scanning scalable in the git ops era
 
Prancer web interface for the ease of use
Prancer web interface for the ease of usePrancer web interface for the ease of use
Prancer web interface for the ease of use
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Azure arm template ia c security

  • 1. Azure Arm Template IaC Security Introduction You can integrate prancer Platform into your DevOps process to do automated security tests on Infrastructure as Code (IaC). This post will explain how to do an IaC security scan with Prancer platform on your Azure ARM templates repository in a few steps. High level steps  clone the Prancer Hello World repository  modify the connector file  run the tests  Interpret the results Step 1 - clone the Prancer Hello World repository git clone https://github.com/prancer-io/prancer-hello-world.git cd prancer-hello-world To clone the Prancer Hello World repository and change the directory to it. Step 2 - modify the Connector You should modify the Connector file to point to your own git repository. The sample connector file is gitConnectorArm.json. vi gitConnectorArm.json
  • 2. You see the content of the file as follows: { "fileType": "structure", "type": "filesystem", "companyName": "prancer", "gitProvider": "https://github.com/prancer-io/prancer-armof.git", "branchName": "master", "private": false } Change the gitProvider to point to your repository. You can find more information about the structure of this file here Step 3 - run the tests First, crawl your repo and then run the tests with the following commands. prancer scenario-arm-remote --crawler prancer scenario-arm-remote You will see the results of the tests on screen.
  • 3. step 4 - Interpret the results Prancer will generate an output file, and you can view the result of each test (Passed / Failed) cat validation/scenario-arm-remote/output-master-test.json Here is a snippet of the output-master-test.json file: { "eval": "data.rule.aks_cni_net", "result": "passed", "message": "",
  • 4. "id": "PR-AZR-0006-ARM", "remediation_description": "Make sure you are following the ARM template guidelines for AKS from this URL : https://docs.microsoft.com/en- us/azure/templates/microsoft.containerservice/managedclusters", "remediation_function": "PR_AZR_0006_ARM.py", "snapshots": [ { "id": "ARM_TEMPLATE_SNAPSHOT1", "structure": "filesystem", "reference": "master", "source": "gitConnectorArmRemoteStructure", "collection": "armtemplate", "type": "arm", "region": "", "paths": [ "/AKS/aks.azuredeploy.json", "/AKS/aks.azuredeploy.parameters.json" ] }
  • 5. ], "autoRemediate": false, "masterTestId": "TEST_AKS_1", "masterSnapshotId": [ "ARM_TEMPLATE_SNAPSHOT" ], "type": "rego", "rule": "file(aks.rego)", "title": "Azure CNI networking should be enabled in Azure AKS cluster", "description": "Azure CNI provides the following features over kubenet networking:_x000D__x000D_- Every pod in the cluster is assigned an IP address in the virtual network. The pods can directly communicate with other pods in the cluster, and other nodes in the virtual network._x000D_- Pods in a subnet that have service endpoints enabled can securely connect to Azure services, such as Azure Storage and SQL DB._x000D_- You can create user- defined routes (UDR) to route traffic from pods to a Network Virtual Appliance._x000D_- Support for Network Policies securing communication between pods._x000D__x000D_This policy checks your AKS cluster for the Azure CNI network plugin and generates an alert if not found.", "tags": [ { "cloud": "git", "compliance": [], "service": [
  • 6. "microsoft.containerservice" ] } ], "snapshotId": [ "ARM_TEMPLATE_SNAPSHOT1" ], "status": "enable" } It provides you all the details you need to track down the item and fix it if required. You can easily integrate the Prancer Platform into your pipeline for automated IaC scans. fail_success=`grep failed validation/scenario-arm-remote/output-master-test.json` pass_error=`grep passed validation/scenario-arm-remote/output-master-test.json` if [[ -z "$fail_success" ]] || [[ ! -z "$pass_error" ]] ; then echo "scenario-arm-remote failed"; exit 1;fi References  Prancer Azure IaC security tests  Prancer docs