This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP DevSecOps Studio Project"

From OWASP
Jump to: navigation, search
m (Project Resources)
(Move to new domain - studio.practical-devsecops.com)
Line 8: Line 8:
 
[[File:DevSecOps-Studio-logo.png|alt=DevSecOps Studio Logo|thumb]]
 
[[File:DevSecOps-Studio-logo.png|alt=DevSecOps Studio Logo|thumb]]
  
DevSecOps Studio is one of its kind, self contained DevSecOps environment/distribution to help individuals in learning DevSecOps concepts. It takes lots of efforts to setup the environment for training/demos and more often, its error prone when done manually. DevSecOps Studio is easy to get started and is mostly automatic.
+
DevSecOps Studio is one of its kind, self-contained DevSecOps environment/distribution to help individuals in learning DevSecOps concepts. It takes lots of efforts to set up the environment for training/demos and more often, it's error-prone when done manually. DevSecOps Studio is easy to get started and is mostly automatic.
  
  
Line 19: Line 19:
 
* OS hardening using ansible
 
* OS hardening using ansible
 
* Compliance as code using Inspec
 
* Compliance as code using Inspec
* QA security using ZAP, BDD-Security and Gauntlt
+
* QA security using ZAP, BDD-Security, and Gauntlt
* Static tools like bandit, brakeman, windbags, gitrob, gitsecrets
+
* Static tools like Bandit, Brakeman, windbags, gitrob, gitsecrets
 
* Security Monitoring using ELK stack.
 
* Security Monitoring using ELK stack.
  
 
==Description==
 
==Description==
  
DevSecOps Studio is a virtual environment to learn and teach DevSecOps concepts. It uses modern stack like vagrant, ansible, infrastructure as code, DevOps techniques to setup the environment and provides following benefits.
+
DevSecOps Studio is a virtual environment to learn and teach DevSecOps concepts. It uses modern stack like Vagrant, Ansible, infrastructure as code, DevOps techniques to set up the environment and provides the following benefits.
  
'''Free & Open Source  Software'''
+
'''Free & Open Source  Software'''
  
This project is a free and open software  to help more people learn about DevSecOps
+
This project is a free and open software  to help more people learn about DevSecOps
  
 
'''Easy to Setup'''
 
'''Easy to Setup'''
  
Takes only few mins to setup and start using with just one command
+
Takes only a few mins to set up and start using with just one command
  
 
'''Reproducible'''  
 
'''Reproducible'''  
  
The aim of this project is to setup reproducible DevSecOps Lab environment for learning and testing different tools.
+
This project aims to set up a reproducible DevSecOps Lab environment for learning and testing different tools.
  
 
=== Quick start ===
 
=== Quick start ===
Install [https://www.vagrantup.com/downloads.html Vagrant], [https://www.virtualbox.org/wiki/Downloads Virtualbox], [http://docs.ansible.com/ansible/latest/intro_installation.html#installation Ansible] and follow the below steps.
+
Install [https://www.vagrantup.com/downloads.html Vagrant], [https://www.virtualbox.org/wiki/Downloads Virtualbox], [http://docs.ansible.com/ansible/latest/intro_installation.html#installation Ansible] and follow the below steps.
  
# Download DevSecOps-Studio Appliance (4.45 GB) from [https://drive.google.com/open?id=1b3Z6BLndohpn_2HHcBfPFUpoSx78OKgG this link]
+
# Download DevSecOps-Studio Appliance (4.45 GB) from [https://drive.google.com/open?id=1b3Z6BLndohpn_2HHcBfPFUpoSx78OKgG this link]
# Import the above Appliance by following [https://docs.oracle.com/cd/E26217_01/E26796/html/qs-import-vm.html these step]
+
# Import the above Appliance by following [https://docs.oracle.com/cd/E26217_01/E26796/html/qs-import-vm.html these step]
# Follow the [https://github.com/teacheraio/DevSecOps-Studio/wiki wiki] to embed security as part of DevOps Pipeline.
+
# Follow the [https://github.com/teacheraio/DevSecOps-Studio/wiki wiki] to embed security as part of the DevOps Pipeline.
 
Go grab some coffee while DevSecOps Studio does its job.
 
Go grab some coffee while DevSecOps Studio does its job.
  
Line 51: Line 51:
 
More granular details and Installation instructions for various operating systems are below:
 
More granular details and Installation instructions for various operating systems are below:
  
MacOS X:  https://dso-studio.teachera.io/getting-started/#macos-installation
+
macOS X:  https://studio.practical-devsecops.com/getting-started/#macos-installation
  
Linux: https://dso-studio.teachera.io/getting-started/#linux-installation
+
Linux: https://studio.practical-devsecops.com/getting-started/#linux-installation
  
 
Windows: https://github.com/teacheraio/DevSecOps-Studio#windows-optional  
 
Windows: https://github.com/teacheraio/DevSecOps-Studio#windows-optional  
Line 67: Line 67:
 
|-
 
|-
 
|Static Analysis Tools:
 
|Static Analysis Tools:
|Brakeman, bandit, findbugs
+
|Brakeman, bandit, FindSecBugs
 
|-
 
|-
 
|Dynamic Analysis Tools:
 
|Dynamic Analysis Tools:
Line 88: Line 88:
 
|-
 
|-
 
|Source Code Management:
 
|Source Code Management:
|Gitlab (github like system)
+
|Gitlab (Github like system)
 
|-
 
|-
 
|CI Server:
 
|CI Server:
Line 103: Line 103:
 
|-
 
|-
 
|Utilities:
 
|Utilities:
|Git, Vim, curl, wget,
+
|Git, Vim, Curl, Wget,
 
|}   
 
|}   
  
Line 112: Line 112:
  
 
== Project Resources ==
 
== Project Resources ==
The documentation for this project is available online - https://dso-studio.teachera.io/
+
The documentation for this project is available online - https://studio.practical-devsecops.com/
  
 
[https://github.com/teacheraio/DevSecOps-Studio Installation Package]
 
[https://github.com/teacheraio/DevSecOps-Studio Installation Package]
Line 120: Line 120:
 
[https://github.com/teacheraio/DevSecOps-Studio What's New (Revision History)]
 
[https://github.com/teacheraio/DevSecOps-Studio What's New (Revision History)]
  
[https://dso-studio.teachera.io/ Documentation]
+
[https://studio.practical-devsecops.com// Documentation]
  
 
[https://github.com/teacheraio/DevSecOps-Studio/wiki Wiki Home Page]
 
[https://github.com/teacheraio/DevSecOps-Studio/wiki Wiki Home Page]
Line 171: Line 171:
  
 
==How can I participate in your project?==
 
==How can I participate in your project?==
All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.  
+
All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet its goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.  
  
 
Contribution can be done in three easy steps:  
 
Contribution can be done in three easy steps:  
Line 188: Line 188:
  
 
* [https://www.linkedin.com/in/mohammed-abdul-mujeeb-a7295610/ Mohammed Abdul Mujeeb] who documented the setup behind the firewall/proxy environment  
 
* [https://www.linkedin.com/in/mohammed-abdul-mujeeb-a7295610/ Mohammed Abdul Mujeeb] who documented the setup behind the firewall/proxy environment  
* [https://www.owasp.org/index.php/User:Clerkendweller Raghunath G] who created bash script for ubuntu/debian environment.
+
* [https://www.owasp.org/index.php/User:Clerkendweller Raghunath G] who created bash script for Ubuntu/Debian environment.
 
* Full list of contributors can be found at [https://github.com/teacheraio/DevSecOps-Studio/graphs/contributors contributors list].
 
* Full list of contributors can be found at [https://github.com/teacheraio/DevSecOps-Studio/graphs/contributors contributors list].
* DevSecOps Studio uses some of the ansible roles from [https://github.com/geerlingguy Jeff]
+
* DevSecOps Studio uses some of the ansible roles from [https://github.com/geerlingguy Jeff]
  
 
= Road Map and Getting Involved =
 
= Road Map and Getting Involved =
Line 197: Line 197:
  
 
As of <strong>April, 2018, the highest priorities for the next 6 months</strong> are:
 
As of <strong>April, 2018, the highest priorities for the next 6 months</strong> are:
* Each add our own components to our new repo
+
* Add our components to the new repo
 
* Get ready for Open Security Summit
 
* Get ready for Open Security Summit
 
* Release and document all work done at the Open Security Summit
 
* Release and document all work done at the Open Security Summit
Line 203: Line 203:
 
* Build Images using Packer and upload to vagrant cloud.
 
* Build Images using Packer and upload to vagrant cloud.
 
* Build entire stack using docker for ease/
 
* Build entire stack using docker for ease/
* Add Container scanning using clair
+
* Add Container scanning using Clair
  
 
==Getting Involved==
 
==Getting Involved==
Line 220: Line 220:
  
 
===Testing===
 
===Testing===
Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.
+
Do you have a flair for finding bugs in software? We want to produce a high-quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.
  
 
===Feedback===
 
===Feedback===
Line 236: Line 236:
  
 
=Project About=
 
=Project About=
DevSecOps Studio is one of its kind, self contained DevSecOps environment/distribution to help individuals in learning DevSecOps concepts. It takes lots of efforts to setup the environment for training/demos and more often, its error prone when done manually. DevSecOps Studio is easy to get started, mostly automatic and battle tested during our Free Practical DevSecOps Course
+
DevSecOps Studio is one of its kind, self-contained DevSecOps environment/distribution to help individuals in learning DevSecOps concepts. It takes lots of efforts to set up the environment for training/demos and more often, it's error-prone when done manually. DevSecOps Studio is easy to get started, mostly automatic and battle-tested during our Free Practical DevSecOps Course
  
 
__NOTOC__ <headertabs />  
 
__NOTOC__ <headertabs />  

Revision as of 05:00, 31 July 2019

OWASP Project Header.jpg

OWASP DevSecOps Studio Project

DevSecOps Studio Logo

DevSecOps Studio is one of its kind, self-contained DevSecOps environment/distribution to help individuals in learning DevSecOps concepts. It takes lots of efforts to set up the environment for training/demos and more often, it's error-prone when done manually. DevSecOps Studio is easy to get started and is mostly automatic.


DevSecOps Studio project aims to reduce the time to bootstrap the environment and help you in concentrating on learning/teaching DevSecOps practices.

Features:

  • Easy to setup environment with just one command “vagrant up”
  • Teaches Security as Code, Compliance as Code, Infrastructure as Code
  • With built-in support for CI/CD pipeline
  • OS hardening using ansible
  • Compliance as code using Inspec
  • QA security using ZAP, BDD-Security, and Gauntlt
  • Static tools like Bandit, Brakeman, windbags, gitrob, gitsecrets
  • Security Monitoring using ELK stack.

Description

DevSecOps Studio is a virtual environment to learn and teach DevSecOps concepts. It uses modern stack like Vagrant, Ansible, infrastructure as code, DevOps techniques to set up the environment and provides the following benefits.

Free & Open Source Software

This project is a free and open software to help more people learn about DevSecOps

Easy to Setup

Takes only a few mins to set up and start using with just one command

Reproducible

This project aims to set up a reproducible DevSecOps Lab environment for learning and testing different tools.

Quick start

Install Vagrant, Virtualbox, Ansible and follow the below steps.

  1. Download DevSecOps-Studio Appliance (4.45 GB) from this link
  2. Import the above Appliance by following these step
  3. Follow the wiki to embed security as part of the DevOps Pipeline.

Go grab some coffee while DevSecOps Studio does its job.

Detailed Instructions

More granular details and Installation instructions for various operating systems are below:

macOS X: https://studio.practical-devsecops.com/getting-started/#macos-installation

Linux: https://studio.practical-devsecops.com/getting-started/#linux-installation

Windows: https://github.com/teacheraio/DevSecOps-Studio#windows-optional

The environment contains the following tools used in different stages of DevSecOps.

Technology Tools
PenTest Toolkit: Nmap, Metasploit
Static Analysis Tools: Brakeman, bandit, FindSecBugs
Dynamic Analysis Tools: ZAP proxy, Gaunlt
Hardening: DevSec Ansible OS Hardening
Compliance: Inspec
Operating System : Ubuntu Xenial (16.04)
Programming Languages: Java, Python 2, Python 3, Ruby/Rails
Container Technology: Docker
Source Code Management: Gitlab (Github like system)
CI Server: Gitlab CI/Jenkins
Configuration Management: Ansible
Monitoring and Log management: Elastic Search, LogStash and Kibana
Cloud Provider Utilities: AWS CLI
Utilities: Git, Vim, Curl, Wget,

Licensing

This program is free software: you can redistribute it and/or modify it under the terms of the link to Apache 2 License as published by the Apache Software Foundation, either version 2 of the License, or (at your option) any later version. OWASP DevSecOps Studio and any contributions are Copyright © by Mohammed A. Imran & Raghunath G 2018.

Project Resources

The documentation for this project is available online - https://studio.practical-devsecops.com/

Installation Package

Source Code

What's New (Revision History)

Documentation

Wiki Home Page

Issue Tracker

Slide Presentation

Video

Project Leaders

Imran Mohammed A. Twitter

Raghunath G

Related Projects

Classifications

Project Type Files TOOL.jpg
Incubator Project Owasp-builders-small.png
Owasp-defenders-small.png

News and Events

  • [13 Apr 2018] DevSecOps studio became OWASP Project.
  • [23 Feb 2018] DevSecOps Studio announced at DevSecCon Singapore.
  • [16 Nov 2017] DevSecOps Studio started!

How can I follow updates on the project?

Imran Mohammed A. on Twitter

Raghunath G on Twitter

How can I participate in your project?

All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet its goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.

Contribution can be done in three easy steps:

  • Fork DevSecOps-Studio repo.
  • Contribute (documentation/features)
  • Raise a Pull Request (PR)

If I am not a programmer can I participate in your project?

Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator. See the Road Map and Getting Involved tab for more details.

Contributors

The OWASP DevSecOps Studio Project was started by the project leaders, Raghu and Imran.

The first contributors to the project were:

  • Mohammed Abdul Mujeeb who documented the setup behind the firewall/proxy environment
  • Raghunath G who created bash script for Ubuntu/Debian environment.
  • Full list of contributors can be found at contributors list.
  • DevSecOps Studio uses some of the ansible roles from Jeff

Roadmap

As of April, 2018, the highest priorities for the next 6 months are:

  • Add our components to the new repo
  • Get ready for Open Security Summit
  • Release and document all work done at the Open Security Summit
  • Provision the stack on AWS using vagrant and terraform
  • Build Images using Packer and upload to vagrant cloud.
  • Build entire stack using docker for ease/
  • Add Container scanning using Clair

Getting Involved

Involvement in the development and promotion of DevSecOps Studio is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:

Coding

We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests.

  • Fork DevSecOps-Studio repo.
  • Contribute (documentation/features)
  • Raise a Pull Request (PR)

Localization

Are you fluent in another language? Can you help translate the text strings in the DevSecOps Studio into that language?

Testing

Do you have a flair for finding bugs in software? We want to produce a high-quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.

Feedback

Please let us know on twitter @secfigo or @raseyon for feedback about:

  • What do like?
  • What don't you like?
  • What features would you like to see prioritized on the roadmap?

The DevSecOps Studio Project must specify the minimum set of tabs a project should have, provide some an example layout on each tab, provide instructional text on how a project leader should modify the tab, and give some example text that illustrates how to create an actual project.

It would also be ideal if the DevSecOps studio was translated into different languages.

DevSecOps Studio is one of its kind, self-contained DevSecOps environment/distribution to help individuals in learning DevSecOps concepts. It takes lots of efforts to set up the environment for training/demos and more often, it's error-prone when done manually. DevSecOps Studio is easy to get started, mostly automatic and battle-tested during our Free Practical DevSecOps Course