Giter Club home page Giter Club logo

devsecops-studio's Introduction

Welcome to DevSecOps Studio Project!

DevSecOps Studio is one of its kind, self hosted DevSecOps environment to help individuals,professionals 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, pre-configured to most extent and used for our Practical DevSecOps Course at https://eracorp.io/devsecops/

DevSecOps Studio project aims to reduce the time to bootstrap the environment and help you in concentrating on learning DevSecOps practices with the below features.

  1. Easy to setup environment with few commands
  2. Covers Security as Code, Infrastructure as Code
  3. With built-in support for CI/CD pipeline, Docker registry (i.e. gitlab)
  4. Following environment can be used for Hardening infrastructure using ansible
  5. To test compliance as code using Inspec
  6. Ability to perform DAST scan using OWASP ZAP
  7. Can even run static check tools like bandit, brakeman,trufflehog, gitsecrets, etc.

Note:

  • Also, the contents in the this repository vary from original repository.

How do I get set up?

Summary of Setup

TL;DR

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

# Download the code
$ git clone https://github.com/teacheraio/DevSecOps-Studio.git && cd DevSecOps-Studio

# Download the ansible dependency roles
$ ansible-galaxy install -r requirements.yml -p provisioning/roles

# Setup the environment, takes an hour or less based on your internet speed.
$ vagrant up

Go grab some coffee while DevSecOps Studio does its job.

Yes, that's it, you just setup entire DevSecOps environment with three commands :)

Go ahead and read Practical DevSecOps Lessons on the wiki

Details

DevSecOps Studio uses vagrant, virtualbox and ansible to setup the lab environment. You can visit the vendor's website to download the above software for on Windows/Linux/macOS.

DevSecOps Studio simulates the environment presented below.

Software

Hardware

  • Atleast 8GB of RAM for the virtual machines and 16GB of memory on Host.
  • 80GB of HDD Space.
  • Intel i3 Processor or above.
  • VirtualBox

Dependencies

MacOS (optional)

Prerequisites can also be installed via homebrew on MAC OS X

Homebrew: Optional

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Vagrant

brew cask install vagrant

Virtualbox

brew cask install virtualbox

Ansible

brew install ansible

Linux

Install dependencies using apt-get

Virtualbox

Vagrant

sudo apt-get install vagrant python3 python3-pip

Ansible

pip install ansible

or

sudo apt install ansible

You can see how it all fits in DevSecOps pipeline by reading out WIKI

How to use the setup

What's included in the environment?

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

Technology Tools
PenTest Toolkit: Nmap, Nikto
Static Analysis Tools: bandit
Dynamic Analysis Tools: ZAP proxy
Hardening: DevSec Ansible OS Hardening
Operating System : Ubuntu Jammy (22.04) & Focal Fossa (20.04)
Programming Languages: Java, Python 2, Python 3, Ruby/Rails
Container Technology: Docker
Source Code Management: Gitlab (github like system)
CI Server: Gitlab CI
Docker Registry: Gitlab
Configuration Management: Ansible
Cloud Provider Utilities: AWS CLI
Utilities: Git, Vim, curl, wget,

Todo Features

  • Provision the stack on AWS using vagrant.
  • Build Images using Packer and upload to vagrant cloud.
  • Add ELK and monitoring setup.
  • Enable Jenkins based pipeline.

Contribution guidelines

  • Fork this repo.
  • Contribute (documentation/features)
  • Raise a Pull Request (PR)

Credits

  • DevSecOps Studio uses some of the ansible roles from Jeff

  • Thanks to Mohammed A. Imran @secfigo for all valuable contributions and building up DevSecOps studio lab setup.

Who do I talk to?

  • If you have any questions regarding this repo, please contact Raghunath G @raghuio

devsecops-studio's People

Contributors

secfigo avatar raghuio avatar teacheraio avatar abdulmujeeb avatar raghunath24 avatar

Stargazers

 avatar

Forkers

twist-hash

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.