OWASP DevSecOps Studio Project

=Main=



{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 * valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |

OWASP DevSecOps Studio Project
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 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
The Tool Project Template is simply a sample project that was developed for instructional purposes that can be used to create default project pages for a Tool project. After copying this template to your new project, all you have to do is follow the instructions in red, replace the sample text with text suited for your project, and then delete the sections in red. Doing so should make it clearer to both consumers of this project, as well as OWASP reviewers who are trying to determine if the project can be promoted to the next category. The information requested is also intended to help Project Leaders think about the roadmap and feature priorities, and give guidance to the reviews as a result of that effort.

Creating a new set of project pages from scratch can be a challenging task. By providing a sample layout, with instructional text and examples, the OWASP Tool Project Template makes it easier for Project Leaders to create effective security projects and hence helps promote security.

Contextual custom dictionary builder with character substitution and word variations for pen-testers

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 &copy; by Mohammed A. Imran & Raghunath G 2018.


 * valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |

Project Resources
The documentation for this project is available online - https://dso-studio.teachera.io/

Installation Package

Source Code

What's New (Revision History)

Documentation

Wiki Home Page

Issue Tracker

Slide Presentation

Video

Project Leader
Imran Mohammed A. Twitter

Raghunath G

Related Projects

 * OWASP DevSlop Project
 * OWASP AppSec Pipeline Project

Classifications

 * valign="top" style="padding-left:25px;width:200px;" |

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!


 * }

=FAQs=

Many projects have "Frequently Asked Questions" documents or pages. However, the point of such a document is not the questions. The point of a document like this are the answers. The document contains the answers that people would otherwise find themselves giving over and over again. The idea is that rather than laboriously compose and post the same answers repeatedly, people can refer to this page with pre-prepared answers. Use this space to communicate your projects 'Frequent Answers.'

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.

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.

= Acknowledgements =

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.

= Road Map and Getting Involved =

A project roadmap is the envisioned plan for the project. The purpose of the roadmap is to help others understand where the project is going as well as areas that volunteers may contribute. It gives the community a chance to understand the context and the vision for the goal of the project. Additionally, if a project becomes inactive, or if the project is abandoned, a roadmap can help ensure a project can be adopted and continued under new leadership. Roadmaps vary in detail from a broad outline to a fully detailed project charter. Generally speaking, projects with detailed roadmaps have tended to develop into successful projects. Some details that leaders may consider placing in the roadmap include: envisioned milestones, planned feature enhancements, essential conditions, project assumptions, development timelines, etc. You are required to have at least 4 milestones for every year the project is active.

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

1. Provision the stack on AWS using vagrant and terraform

2. Build Images using Packer and upload to vagrant cloud.

3. Build entire stack using docker for ease/

4. Add Container scanning using clair
 * Complete the first draft of the Tool Project Template
 * Get other people to review the Tool Project Template and provide feedback
 * Incorporate feedback into changes in the Tool Project Template
 * Finalize the Tool Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project

Subsequent Releases will add
 * Internationalization Support
 * Additional Unit Tests
 * Automated Regression tests

Getting Involved
Involvement in the development and promotion of Tool Project Template 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

Localization
Are you fluent in another language? Can you help translate the text strings in the Tool Project Template into that language?

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.

Feedback
Please use the Tool Project Template project mailing list for feedback about:  What do like? What don't you like? What features would you like to see prioritized on the roadmap? 

=Minimum Viable Product=

This page is where you should indicate what is the minimum set of functionality that is required to make this a useful product that addresses your core security concern. Defining this information helps the project leader to think about what is the critical functionality that a user needs for this project to be useful, thereby helping determine what the priorities should be on the roadmap. And it also helps reviewers who are evaluating the project to determine if the functionality sufficiently provides the critical functionality to determine if the project should be promoted to the next project category.

The Tool Project Template 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 sample text was translated into different languages.

=Project About= Addtional Instructions for making changes:

The About 'tab' on that page is done with a MediaWiki template. If you log into the wiki page for your project and click the "Edit" button/link/tab in the top-right between 'Read' and 'View History', you'll see the edit page for the main body of your project page.

If you scroll down below the form to edit that page (below the "Save page", "Show preview", "Show changes" buttons, you'll see some text with a triangle in front of it reading "Templates used on this page:" A list will expand if you click on the triangle/text to show the templates that make up this page.  The one you want is the "Projects/OWASP Example Project About Page" - click the (edit) next to this to edit that template.  The direct link is: https://www.owasp.org/index.php?title=Projects/OWASP_Example_Project_About_Page&action=edit

The template takes 'input' that are key/value pairs where you'll need to edit the stuff after the equals (=) like: project_name =Place your project name here.

You'd edit the bold bit.

This page is where you need to place your legacy project template page if your project was created before October 2013. To edit this page you will need to edit your project information template. You can typically find this page by following this address and substituting your project name where it says "OWASP_Example_Project". When in doubt, ask the OWASP Projects Manager. Example template page: https://www.owasp.org/index.php/Projects/OWASP_Example_Project