Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for...

92
Building and operating cloud apps securely using the Secure DevOps Kit for Azure Jonathan Trull

Transcript of Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for...

Page 1: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Building and operating cloud apps securely using the Secure DevOps Kit for Azure

Jonathan Trull

Page 2: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

“Companies looking to digitally transform need a trusted cloud” – Satya Nadella

Page 3: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Onboarding Configuration Operational Practices and Hygiene

Pilot Onboarding Get Secure Process Incident Response Table Top

Subscription Procurement Subscription Configuration Backup and Recovery Table Top

Security Operations Onboarding Azure Security Center Configuration Audit Log Table Top

Configuration Insights Onboarding Application Insights Configuration Azure Security Center Table Top

OMS Onboarding Deployment Template Use Configuration Insights Table Top

MyApps Onboarding PowerShell Library Use Subscription User Access Reviews

Engage ISRM Onboarding Network Configuration RG/Resource Access Reviews

SAW Onboarding Forensics Use Key and Secret Rotation Table Top

Alternate Credentials – SC-backed Key and Secret Management Release Management/Change Control

ExpressRoute Onboarding Key Escrow Process Segregation of Duties & Environments

Identification of user roles within services Tech Control Procedures and Validation OSA Control Procedures

ARM Policy and Resource Lock Resource Utilization - MyBill

Resource Group Configuration

OMS Configuration3

Page 4: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

> Automating security is a must!• Challenging to maintain parity across “DevTest -> SIT -> UAT -> PROD”. Too many environments to review!

• Need to strive for end-to-end validation – from a claim during a threat model to actual resource in the subscription

• HBI v/s other resources in a sub – tagging/organization can help. Need to track critical HBI artifacts (secure ‘snapshot’)

• Exception processes such as DRA causes lot of angst

> Need to push engineering team empowerment to the next level• Make pre-configuration of security easier – e.g., miniature ARM-templates

• Integrate security tools such as CredScan into OneITVSO build workflow

• Expand the scope of automated security control verification (more services, more controls for each service)

> Continuous change requires a shift towards continuous assurance!• "Signed-off" designs and “point-in-time” assessments have a natural tension with CICD

• Need a capability to capture security snapshots and track ‘drift’ from a secure state

> Need to understand and establish operational security hygiene in Azure• Subscription hygiene, access reviews, change management

• Resource configurations, firewalls, network (appliance) configuration reviews

• Key rotation, BC/DR, auditing/monitoring, incident response

Learnings from pilot projects

4

Page 5: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

{JSON}

Page 6: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

Page 7: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

1- Secure your cloud subscription

RBAC ARM Policy Resource Locks

ContactPhone

Alerts

*

Page 8: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription security setup script…Set-AzSKSubscriptionSecurity –SubscriptionId <sub_id> …

*

Page 9: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Telemetry Dashboard

Make data-driven improvements to security

Secure DevOps Kit for Azure

*

Page 10: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

2- Empower developers – code, compile, prototype

SVTs

Along with the usual suspects…

▪ Static code analysis tools

▪ Traditional security checks

▪ Credentials in code, etc.

*

Page 11: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Write secure code with Security IntelliSense

Suggested fix

*

Page 12: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Security checks for subscription & services

Security test coverage for 25+ Azure services

Get-AzSKAzureServicesSecurityStatus –SubscriptionId <sub_id> -ResourceGroupNames <rg1, rg2>

*

Page 13: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Outputs generated

CSV file

Detailed LOG

*

Page 14: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Several options – targeting, reporting, auto-fix, etc.

*

Page 15: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

*

Page 16: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

3- Bake security into cloud deployments (CICD)

Dev Envmt

Test Envmt

?Prod Envmt

?Code

CompleteProd EnvmtTest Envmt

*

Page 17: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Validate deployment templatesDeployusingCICD

SecureARM

Templates

CreateARM

Templates

Page 18: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Fix deployment templatesDeployusingCICD

SecureARM

Templates

CreateARM

Templates

Page 19: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Deploy through CICD pipeline (non-compliant)DeployusingCICD

SecureARM

Templates

CreateARM

Templates

Page 20: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Deploy through CICD pipeline (compliant)DeployusingCICD

SecureARM

Templates

CreateARM

Templates

Page 21: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

VSTS release task for ‘AzSK SVTs’

Security Verification Tests (SVTs)

*

Page 22: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Release promoted (or not) based on outcome of AzSK SVT scan

*

Page 23: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

*

Page 24: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

4- Setup continuous security coverage

Azure Automation

Scan cloud resources in a scheduled fashion

*

Page 25: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

4- Continuous assurance setup (a peek)

Features:▪ Single-click, self-managing setup▪ Scan subscription & resources (RGs)▪ Auto-update of AzureRm & AzSK modules▪ OMS integration▪ Detailed reports in Storage Blobs

*

Page 26: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

4- Continuous assurance setup (a peek)Org baseline mode (e.g.)

*

Page 27: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

CA – standalone v. central-scan modes

AzSK CA

AzSK CA AzSK CA

AzSK CA AzSK CA

standalone v. central-scan modes*

Page 28: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Control Attestation (overriding AzSK results)

30

AzSK Ctrl-Result

Sub-status Effective Ctrl-Result

Color Notes

Passed None Passed G

Verify None Verify R

Verify NotAnIssue Passed G Justification

Verify NotFixed Exception Y Justification

Failed None Failed R

Failed NotAnIssue Passed G Justification

Failed NotFixed Exception Y Justification

Error None Error R

Error NotAnIssue Passed G Justification

Error NotFixed Exception Y

Manual None Manual R

Manual NotAnIssue Passed G Justification

Manual NotFixed Exception Y Justification

Technical Result

{Passed, Verify, Failed, Manual, Error}

Human Input

{None, NotAnIssue, Exception}

Final Result

{Passed, Verify, Failed, Manual, Error, RiskAck}

*

Page 29: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Control Attestation – scenarios, workflow

Control (e.g.,) Technical

Evaluation Result

User action/choice Effective

Result

RBAC grants ‘Verify’ Reviewed log output, looks ok ‘Passed’

SSE on Storage ‘Failed’ Override based on contextual info ‘Passed’

Use of WebSocket ‘Failed’ Cannot fix at present, filing for risk ack ‘Exception’

*

Page 30: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

*

Page 31: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

G

a

l

l

e

r

y Operations Management Suite (OMS) Repository

Continuous Assurance

Security automation in CICD

Individual developer

A

z

S

K

5- Monitor security across dev ops stages

x 1..N

apps

*

Page 32: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Single dashboard view for security monitoring

*

Page 33: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

*

Page 34: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Alerts from OMS (DevOps Kit control failures)

*

Page 35: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

*

Page 36: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Cloud risk governance: central dashboard

*

Page 37: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Cloud risk governance: ‘baseline compliance’ status

*

Page 38: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Being ‘data driven’ about security initiatives

Prevalent areas of “cloud risk”

*

Page 39: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

*

Page 40: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Secure DevOps Kit – Impact at Microsoft IT

47

1000+ subscriptions scanned

35000 Azure resources secured

25 million+ controls scanned till date

200k+ hours of manual effort saved

250+ security controls across 30 Azure PaaS/IaaS service types

50+ enterprise LOB app SDLs across IT

*

Page 41: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Coverage of Azure Services in the DevOps Kit

*

Page 42: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Predominant motivation is still to seek ‘Security sign-off’

Need to invest more in awareness about ownership of risk

Having ‘Dev’ and ‘Ops’ together is not ‘Dev Ops’

Breaking down ‘classic’ team silos is going to be critical

Understanding of cloud security model is limited

Need more education/trainings in this area

Systemic gap in PowerShell/scripting expertise

Need to invest in scripting skills (DevOps == “Infrastructure as Code”)

Engage uniformly with all stakeholders

We started with a ‘dev heavy’ approach, should have taken ops along

Learnings from our DevOps Kit experience

*

Page 43: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Next steps…Try out the Secure DevOps Kit for Azure!

• GitHub src/docs: https://github.com/azsk

• Controls coverage: https://aka.ms/devopskit/tcp

• IT Showcase: https://aka.ms/devopskit/itshowcase

• Support: [email protected]

53

*

Page 44: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Thanks for attending!

Page 45: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration
Page 46: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Core use cases – local scan

DevOps Kit PS Module (+ AzureRm)

0

2

3

Attestations

CSV & LOG Files

1

Page 47: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Core use cases – Continuous Assurance

DevOps Kit PowerShell Module (+ AzureRm)

0

1

CSV, LOG, Attestations

OMS

Automation

2 5

54

3

6

Page 48: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Core use cases – CICD Extension

Attestations

OMS

54

3

0

1

2

5

CSV & LOG Files

Page 49: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

DevOps Kit OMS Solution

OMS

Page 50: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

AzSK command acronyms

Page 51: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Customizing & extending AzSK

Page 52: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Showcase to Customers/Conferences

▪ Showcased to key enterprise customers (GEICO, Symantec, TCS, Infosys, DELL, Shell)

▪ Used by Global Delivery (GD) for their envt

▪ Presented at Inspire, RSA and Ready conferences, internal engineering forums.

▪ IT Showcase: Secure DevOps for Azure

▪ Built end to end on top of Microsoft Azure

Partners & Collaboration

Built with contributions from multiple teams:▪ DSRE: GRCC, ACE, SAFET, Tools, ISO, etc.▪ CSE: CloudMS, NIS, E3, App Teams (EDDA,

CELA BI, Incentive Comp, etc.)▪ PG: ASC, OMS, Visual Studio, Key Vault, Azure

Automation, etc.▪ Other: Account Teams, CAT, GD, etc.

Secure DevOps Kit for Azure (AzSK)

A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration security for dev ops environments.

Areas of Focus✓ Subscription security (ARM policies, RBAC, Alerts, ASC setup)✓ Secure development (security baseline scans for ~30 Azure services)✓ Security in deployment (AzSK CICD task for VSO)✓ Continuous assurance in Ops (Azure Automation runbooks) ✓ Alerting & monitoring (single pane view in OMS across dev ops stages)✓ Cloud risk governance (dashboards based on exhaustive security

telemetry)

Key Benefits

▪ Accelerates cloud dev ops for the enterprise▪ Empowers engineering teams to perform

consistent cloud security configuration across dev ops stages

▪ Scale out security expertise through automation

▪ Facilitates risk governance in the cloud through security telemetry

AzSK on a slide

Page 53: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

Page 54: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

SQL

VM

Permissions on DB tables

SQL Logins, DB users, Admins

IIS configuration, vulnerable sites

File shares with poor ACLs

Windows admins, Guest account

Security Concerns *inside*the resource(Data plane)

Resource Management & ConfigurationInterface(Control plane)

AzSK – what it covers v. does not cover

What it covers: • Control plane (cloud resource configuration) security

• Drive uniform compliance for subscription and resources for cloud apps across all stages of dev ops

• Works in a decentralized manner

• Enable dev ops teams to do security monitoring of their own apps

• Visibility of security baseline state across the enterprisevia extensive telemetry

What it does not cover:• Data plane configuration checks (AzSK is not ‘agent-based’)

• v1/ASM resources (except Cloud Service). These are deprecated for use at CSE.

• SaaS/O365 security

• Replace SAST/DAST tools (these should carry over from on-prem solutions)

• Network layer things like DLP, IDS, FW, etc.

• Not all Azure services are covered (only top used ones)

Page 55: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Using AzSK at your organization

Level-0: Trying out the AzSK ‘out-of-box’ from aka.ms/devopskit/docs

Level-1: Setup ‘org-specific’ instance of AzSK• Simple settings/config changes

• Pretty much mimic what we have at CSE

Level-2: Customizing AzSK for your environment• Leverage integration points for other listeners, custom tags, telemetry, etc.

Level-3: • Maintaining your own version (branch) of AzSK (e.g., cost optimization,

inventory)

Page 56: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

App InsightsControl-JSON

Control-CDN TCP Portal

L0: AzSK dataflow (‘preview’/’trial’ use)

70

Automation OMSCSV, LOGPS Modules Control + Config

2.VS extension

1.PS Modules

3.Control JSON

4.Usage telemetry

6.Control evaluation data

5*.Control evaluation data

5*

What you get:▪ Basic rule set▪ PS SVTs, SecIntel, CICD,

CA, OMS, AI Telemetry ▪ All with default (central)

policy

Page 57: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

L1: AzSK – CDN v/s ‘Org-specific’ instance

72

App Insights

Telemetry

TM ETL Svc

Config, IAM

Power BI

Automation OMSCSV, LOG

PS Modules Control + Config

App InsightsControl-JSON

Control-CDN TCP Portal

Get-Controls

Page 58: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Configurability:Org-specific settings (e.g., 5 admins, RBAC values, etc.)

Control settings (e.g., descriptions, severity, filters, etc.)

Custom report types (e.g., SOX, DR, etc.)

Other workflows (e.g., attestation expiry period)

73

Configurability & Extensibility

Page 59: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

74

Configurability:Org-specific settings (e.g., 5 admins, RBAC values, etc.)

Control settings (e.g., descriptions, severity, filters, etc.)

Custom report types (e.g., SOX, DR, etc.)

Other workflows (e.g., attestation expiry period)

Extensibility – Core FrameworkEntirely new SVTs (e.g., new cloud service types)

New control for existing SVTs (e.g., org-specific policy)

CICD tasks for other engines

Configurability & Extensibility

Page 60: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Report in PDF format (audit requirement)PDF format report

Page 61: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Security tests in CICD pipeline - Jenkins

Page 62: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Extensibility – Downstream IntegrationEvent Hub

OMS

Webhook (e.g., Splunk)

Easy to extend SVT framework 77

Configurability & ExtensibilityConfigurability:Org-specific settings (e.g., 5 admins, RBAC values, etc.)

Control settings (e.g., descriptions, severity, filters, etc.)

Custom report types (e.g., SOX, DR, etc.)

Other workflows (e.g., attestation expiry period)

Extensibility – Core FrameworkEntirely new SVTs (e.g., new cloud service types)

New control for existing SVTs (e.g., org-specific policy)

CICD tasks for other engines

SecIntel rule templates

Page 63: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Sending control results to an EventHub

Setting up and using a generic Webhook listener

Downstream extensibility - connectors

Event Hub

Webhook

Page 64: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Control results in EventHub

Page 65: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Controls results in Splunk (via Webhook)

Page 66: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

ArchitecturePo

wer

Shel

l co

mm

and

s

Even

t H

and

lers

Core

Subscription Security

Security Verification

Tests(25+ Services)

Continuous Compliance

Alerts and Monitoring

Co

re A

bst

ract

Cla

sses

Constants | Helpers | Models | Exception Handler

Policy/Config Manager

PowerShell Classes

State Management

Listeners

Telemetry

OMS

Ou

tpu

t

PowerShell Output

Summary Report (.csv)

Detailed Log

Data File (.json)

List

ene

r A

bst

ract

Cla

sses

Custom (SQL Server, Event Hub, Webhook)

OMS

Storage

User Sub.

Policy Store

Usage Insights

AzSK Sub.Extensibility

Framework

Features

▪ Maintaining your own version (branch) of AzSK (e.g., cost optimization, inventory)

Page 67: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Next steps…Try out the Secure DevOps Kit for Azure!

• https://github.com/azsk

• Installation guide, docs: https://aka.ms/devopskit/docs

• Controls coverage: https://aka.ms/devopskit/tcp

• IT Showcase: https://aka.ms/devopskit/itshowcase

• Support: [email protected]

82

Page 68: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Thanks for attending!

Questions?

Page 69: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Outline of the workshop…Session0 – Introduction (till here!)

Session1 – Getting Started with AzSKSetup & installationSubscription and application security scanningUnderstanding scan reports and fixing issues

Session2 – Exploring AzSK (dev-test workflows)Walkthrough of various AzSK cmdlets, artifactsUsing Security IntelliSense to write secure codeIntegrating security into build/release (CICD) pipelines

Session3 – Exploring AzSK (production workflows)Customizing for enterprise environmentsContinuous assuranceIntegration with security dashboards for monitoring

Session4 – Close-outNext stepsValidate action items for both teams

84

Page 70: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Learning objectives for the workshop

• Understand challenges and opportunities for Secure DevOps in Azure

• Hands-on introduction to the powerful capabilities of the Secure DevOps Kit for Azure (AzSK)

• Experience the speed/efficiency/simplicity of AzSK in a "hands on" manner

• Discuss key scenarios where AzSK can be readily used for your org

• Understand advanced use cases of AzSK and (possible) new requirements for AzSK team

• Identify follow-ups, action items and next steps for both teams

Page 71: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Session1 - Getting StartedSetup & installation

Subscription and application security scanning

Understanding scan reports and fixing issues

86

Page 72: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Telemetry Dashboard

Make data-driven improvements to security

Secure DevOps Kit for Azure

Page 73: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Session2 – Exploring AzSK Dev-test workflows

Walkthrough of various AzSK cmdlets, artifacts

Using Security IntelliSense to write secure code

Integrating security into build/release (CICD) pipelines

Page 74: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Telemetry Dashboard

Make data-driven improvements to security

Secure DevOps Kit for Azure

Page 75: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Session3 – Exploring AzSK Production workflows

Customizing for enterprise environments

Continuous assurance

Integration with security dashboards for monitoring

Page 76: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Provision security in subscription

Security IntelliSense,

Security Verification Tests

(SVTs)

Develop securely, spot check security via scripts

CICD Build/Release Extensions

Deploy securely from VSO build/release pipeline

Continuous Assurance Runbooks

Periodically scan in production to watch for drift

OMS Solution for Alerting & Monitoring

Single security dashboard across DevOps stages

Cloud Risk Governance

Make data-driven improvements to security

Secure DevOps Kit for Azure

Page 77: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

App InsightsControl-JSON

Control-CDN TCP Portal

AzSK-OSS dataflow (for external users)

92

Automation OMSCSV, LOGPS Modules Control + Config

2.VS extension

1.PS Modules

3.Control JSON

4.Usage telemetry

6.Control evaluation data

5*.Control evaluation data

5*

Page 78: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Requirements & challengesNeed easy, seamless experience applicable to any enterprise

Cannot have a “consent UI” (must work in CICD, CC)

Possible options need AAD admin consent for app or Graph API permission

Bootstrapping architecture

93

Contoso-specific

JSON

[email protected]

orgSeverURL

Page 79: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

AzSK-OSS assets – runtime

94

App Insights

Telemetry

TM ETL Svc

Config, IAM

Power BI

Automation OMSCSV, LOG

PS Modules Control + Config

App InsightsControl-JSON

Control-CDN TCP Portal

Get-Controls

Page 80: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Thanks for attending!

Questions?

Page 81: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 82: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 83: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 84: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 85: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 86: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 87: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 88: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 89: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 90: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 91: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard

Page 92: Secure DevOps Kit for Azure - SANS Institute · Secure DevOps Kit for Azure (AzSK) A toolkit for accelerating adoption of Azure at the enterprise by automating cloud resource configuration

Subscription Security

(Policy, ASC Config, Alerts, RBAC, etc.)

Security IntelliSense,

Security Verification Tests

(SVTs)

CICD Build/Release Extensions

Continuous Assurance Runbooks

OMS Solution for Alerting & Monitoring

Telemetry Dashboard