GithubHelp home page GithubHelp logo

hartl3y94 / saf-training-lab-environment Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mitre/saf-training-lab-environment

1.0 0.0 0.0 23 KB

The SAF Training Lab is a GitHub Codespaces environment that makes it quick and easy for you to use, learn and participate in the MITRE Security Automation Framework Training Classes.

License: Other

Shell 100.00%

saf-training-lab-environment's Introduction

saf-training-lab-environment

The InSpec Assessor Lab is a GitHub Codespaces environment that makes it quick and easy for you to start learning and working on executing your own InSpec profiles.

It is also a great quick and easy way to test and demonstrate what you have learned or collaborate with others to get help with what you are working on.

Overview of the Lab

The Codespece is setup to be very low overhead, we use the base 'Codespace Linux Community Image' along with a simple setup.sh script to quickly add the tools you need to get started easily along with two containers to act as testing targets.

Lab Components

Using the Lab

To use the lab:

  1. Fork the repository into your GitHub Account
  2. Click the 'Code' Drop down and select, 'Configure and Create Codespace'
  3. Select 'Configure and Create Codespace', we suggest the larger instance with greater memory, at least 64G.
  4. Wait for your Codespace instance to start and finish its startup scripts.
  5. We will then install three extentions - Click the 'L' shaped box on the left-hand bar. Search and install these three extentions.
  • Ruby
  • Docker
  • Prettier
  1. In the terminal, run the lab-setup.sh script
source ./lab-setup.sh

Once, this has finished, you should have InSpec installed in your environment, the MITRE SAF CLI and two running docker containers - tagged as nginx and redhat8.

  1. Once complete, you can verify the setup in your environment with the verify-lab.sh script:
./verify-lab.sh

Which should return something like:

MITRE SAF version: 
@mitre/saf/1.1.6 darwin-arm64 node-v18.2.0
InSpec version: 
5.14.0
Docker is running the container(s): 
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS         PORTS                NAMES
4f0ceb9b5974   nginx:latest   "/docker-entrypoint.…"   2 months ago   Up 6 minutes   0.0.0.0:80->80/tcp   nginx

Stopping / Pausing and Restarting your Codespace

Stoping/Pausing your Codespace

You are able to stop or pause your codespacce in a couple of ways. The easiest way, is to go to the Codespaces page while you are signed into your GitHub account:

This will list all your Codespaces and let you stop and start them as needed.

  1. Click on the ...
  2. Select Stop Codespace
  3. Your Codespace should now be stopped

It also makes it easily to pause your work so that you don't use resources or risk an error and have lost work.

Closing the Browser Window

If you just close your window, your Codespace will automatically pause itself after a few min of inactivity. However, this is not quite as stable as following the recomended workflow above, but if you do close your browser by accident, it should be fine.

Restarting your Codespace

On your return you can go back to:

You will see your Codoespace listed in the table.

  1. Click on the ... on the right, and select one of the startup options.
  2. This will restart your Codespace where you left it.

Docker Container Restart May be Needed

You may have to restart your docker containers again after you restart your Codespace. To do this:

  1. Run: docker ps
  2. If your containers are not running, then just run: lab-setup.sh
  3. Run: docker ps again to verify that your containers are again running in your environment.

Adding Services and Software to your Codespace

Your Codespace is yours to command, you have full sudo access and can install any software or services you like, run databases, web-servers, etc. and expose any ports that you might need to do your work.

Createing a Pull Request

Go for it and if for some reason you break your environment, just start a new one.

NOTICE

© 2018-2022 The MITRE Corporation.

Approved for Public Release; Distribution Unlimited. Case Number 18-3678.

NOTICE

MITRE hereby grants express written permission to use, reproduce, distribute, modify, and otherwise leverage this software to the extent permitted by the licensed terms provided in the LICENSE.md file included with this project.

NOTICE

This software was produced for the U. S. Government under Contract Number HHSM-500-2012-00008I, and is subject to Federal Acquisition Regulation Clause 52.227-14, Rights in Data-General.

No other use other than that granted to the U. S. Government, or to those acting on behalf of the U. S. Government under that Clause is authorized without the express written permission of The MITRE Corporation.

For further information, please contact The MITRE Corporation, Contracts Management Office, 7515 Colshire Drive, McLean, VA 22102-7539, (703) 983-6000.

saf-training-lab-environment's People

Contributors

aaronlippold avatar em-c-rod avatar hackershark avatar

Stargazers

 avatar

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.