Devsecops Security Checklist
Devsecops Security Checklist
Devsecops Security Checklist
Security Checklist
INTRODUCTION
Damn, but security is hard.
It’s not always obvious what needs doing, and the payoffs of good security are at best
obscure. Who is surprised when it falls off our priority lists?
Sqreen’s mission is to empower engineers to build secure web applications. We’ve put our
security knowledge to work in compiling an actionable list of best practices to help you
get a grip on your DevSecOps priorities. It’s all on the following pages.
We hope your find if useful. If you do, share it with your network. And if you don’t, please
take to Twitter to complain loudly—it’s the best way to get our attention.
!1
DEVELOPMENT
Read more:
Building security into your DevOps processes
Incorporate Security into DevOps to Reduce Software Risk
Integrating Security into the CI/CD Pipeline: Step-by-Step Recommendations
Introduction to DevSecOps Best Practices for Adoption
Read more:
Three Effective Ways to Make Application Security Testing a Successful Part of Your
DevOps Program
Secure SDLC: Integrating security into your software development life cycle
The DevSecOps Approach to Securing Your Code and Your Cloud
!2
✔ Automate all processes
Automating security, configuration management, testing and other tasks reduces the
workload for the teams while providing a faster way of doing things. Automate
functionality and non-functional security tests; application, infrastructure and
configuration security tests, as well as application logic security tests.
!3
CULTURE
Read more:
How to build a strong DevSecOps culture
How to Overcome Cultural Challenges and Transform to True DevSecOps
How to build in DevSecOps: Grow culture from the ground up
Overcoming Culture of "No" - All Day DevOps
!4
ENVIRONMENT
Infrastructure: ThreatStack
App: Sqreen
Network: Cloudflare
!5
✔ Isolate Dockers and Kubernetes
Secure and isolate the containers early, often and continuously. Isolate and segment
containers using tools such as Apparmor, Seccomp, SELinux. Create isolation layers
between different applications as well as between applications and hosts. This reduces the
host’s surface area hence restricting access and protecting it as well as the co-located
container.
!6
✔ Harden cloud Deployment
Cloud environments can provide a secure infrastructure if implemented properly. Review
the teams and individual roles and permissions. Only give them access to only what they
need to perform their jobs. Enforce two-factor activation for those requiring more
permission. Check the security groups, standard AMIs, IAM roles, MFA tokens, etc.
AWS security
Azure security best practices
!7
CODE
Chaos Engineering
Chaos Monkey
!8
Unleash the Chaos Monkey
!9
APIs
API attacks
!10
SSL Server Test
Observatory by Mozilla
Data Validation
!11
PROTECTION
!12
✔ Automate data policy management
Use an automated policy enforcement to manage the data lifecycle and flow. Create
audit logs before and after any security issue. Address all the audit and compliance issues.
Audit Logs
!13
Reasons Why Manual Testing Can Never Be Replaced
Why Automated Testing Will Never Replace Manual Testing
!14
EMPLOYEE BEHAVIOR
Security Training
✔ Do a spear-phishing campaign
Perform a spear-phishing campaign to test employees’ behaviors and responses. You can
also try hacking your employees in a controlled manner to assess and address internal
risky behavior and preparedness.
Spear phishing
Create user awareness and training to prevent phishing attacks
!15
Automated Security
for your apps.
The first security monitoring and protection platform that
automatically prevents attacks before they impact your
business.