22
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Iolaire McKinnon Security, Risk and Compliance, Amazon Web Services © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Implementing DevSecOps Evolving Security Culture 2017-04-20

CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Embed Size (px)

Citation preview

Page 1: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Iolaire McKinnonSecurity, Risk and Compliance, Amazon Web Services

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Implementing DevSecOpsEvolving Security Culture

2017-04-20

Page 2: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Agenda

• What is DevSecOps?• Where do we Start?• Demo! DevSecOps Pipeline on AWS• Key Takeaways

Page 3: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

What is DevOps?

Cultural Philosophy Practices Tools

Page 4: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

What is DevSecOps?

Automated Continuous Visible

Page 5: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

How to win at DevSecOps

• Customer (Developer) mindset• Successful DevSecOps is about not blocking a rapid

pace of innovation.

• Security is built in, automated, and up to date.• Security as a (self) service, but with strong audit• Moving faster than Developers

Page 6: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Why this Matters – Agility!

DevOps = Efficiencies that speed up this lifecycleDevSecOps = Validate building blocks without slowing lifecycle

Developers Customers

releasetestbuild

plan monitor

Delivery pipeline

Feedback loop

Security

Page 7: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

It was Secure when it was signed off…

• DevOps is agile, and changes happen fast• How do we ensure continuity of Security?• Interesting security events should be broadly visible• Extreme visibility can lead to amplification of old

problems: • Increased Monitoring Noise• Identifying relevant events: Signal vs Noise

Page 8: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Trusted Advisor• Catches common account misconfigurations

CloudTrail and CloudWatch• Logs, Alerts, and Events

AWS Config Rules• Audit change and respond to non-compliance

Where to Start?

Page 9: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

AWS Trusted Advisorü Real-time statusü Weekly reportsü Core checks are freeü Rule events can raise

notificationsWith a paid support plan:ü AWS Support API accessü Full access to hundreds of

checks

You can use CloudWatch Events to detect and react to changes in the status of Trusted Advisor checks.

Page 10: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Example: Trusted Advisor Polling

https://github.com/awslabs/aws-limit-monitor/

ChildLambda function

Trusted Advisor

Amazon CloudWatch

Events(scheduled

event)Team

Collaboration (Slack etc.)

AmazonSNS

(Email, SMS)

MasterLambda function

Page 11: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Example: Trusted Advisor Events

Lambda function

Amazon CloudWatch

Events

Team Collaboration

(Slack etc.)

AmazonSNS

(Email, SMS)

Trusted Advisor

http://docs.aws.amazon.com/awssupport/latest/user/cloudwatch-events-ta.html

Page 12: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Example: AWS CloudTrail & CloudWatch Logs

AWS CloudTrail is:A service that enables governance, compliance, operational auditing, and risk auditing of your AWS account

CloudTrail feeds into CloudWatch Logs

What this enables:• Log, continuously monitor, and retain events related to API calls

across your AWS infrastructure. • Provide a history of AWS API calls for your account.• Pass events into your existing tools for further review• Alarm on events which are relevant for your cloud security

Page 13: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Example: CloudTrail / CloudWatch Logs

http://docs.aws.amazon.com/awscloudtrail/latest/userguide/use-cloudformation-template-to-create-cloudwatch-alarms.html

Page 14: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Example: Config Rules

Many templates in AWS Console

Other Examples:https://github.com/awslabs/aws-config-rules https://github.com/awslabs/aws-security-benchmark

Page 15: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

DevOps and CI/CD

MonitorProvisionDeployTestBuildCode

CodeCommit

CodePipeline

CodeDeploy

CloudFormation

CloudWatchCodeBuild

ConfigRules

Page 16: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

DevSecOps: Automated, Continuous & Visible

MonitorProvisionDeployTestBuildCode

CodeCommit

CodePipeline

CodeDeploy

CloudFormation

CloudWatchCodeBuild

Scan for secrets

Test SecurityMeets Standards

Monitor SecurityStandards

ConfigRules

Deploy / Register Security Components

Tag SecurityArtifacts

Page 17: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Demo Time!Automated Governance

Page 18: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Conceptual View

https://aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/

CodePipeline

security group

Commit Stage Test Stage Production Stage

Static Code Analysis Lambda

Stack ValidationLambda

CreateStack

DeleteStack

ApproveStack

CreateChangeSet

ExecuteChangeSet

security group security group

DevOps S3

Push/Pull

Page 19: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Demo Resources

These resources are being used in this example:An AWS CloudFormation template to create the demo pipeline.A Lambda function to perform the static code analysis of the CloudFormation template.A Lambda function to perform dynamic stack validation for the security groups in scope.An S3 bucket as the sample code repository.An AWS CloudFormation source template file to create the security groups.Two VPCs to deploy the test and production security groups.

Page 20: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Taking Flight

Now, Solve YOUR challenges• Developers are the Customer• Using Agile Methods/Tools• Build Security that is

Automated Continuous Visible

Page 21: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Resources

AWS Trusted Advisor

http://bit.ly/AWSTrust

AWS Config Rules

http://bit.ly/AWSRulz

ImplementingDevSecOps

http://bit.ly/AWSDSO

Page 22: CSA - DevSecOps v1 compressed//aws.amazon.com/blogs/devops/implementing-devsecops-using-aws-codepipeline/ CodePipeline security group ... CSA - DevSecOps v1 compressed Created Date:

Thank [email protected]