Skip to content

SELinuxGame/scenario_template

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Scenario Contributor Guide for selinuxgame.org

This is a template scenario and contributor guide to create an selinuxgame.org scenario. You can see the existing scenarios as examples.

Making a Scenario

  1. Clone this repo.
  2. Write the scenario prompt, which is shown to the player when they login.
  3. Write the Ansible playbook to customize the environment for the player.
  4. Submit your scenario with items (2) and (3)
  5. Add the scenario to the website.

Test the Environment

After cloning, you can run vagrant up to receive the typical base environment. As you test your changes, whatever state the Vagrant box is in at the end of vagrant up is what players will receive.

Scenario Prompt

The scenario prompt is a text file that is shown to the player when they type scenario. At a minimum this file explains how to reproduce an issue the fails with SELinux Enforcing and succeeds with SElinux disabled or permissive.

Specifically put your scenario content in scenario_prompt.md See that file for more information on what should go into the scenario prompt.

Ansible Playbook

The Ansible playbook configures the system such that the problem is setup for the player. Typically you install and configure some packages in a way that creates the SELinux problem of interest.

Put your Ansible content in the scenario playbooks role. For basic usage you'll be writing the role's Ansible code in this file.

Submitting your Scenario

Once your scenario prompt and Ansible playbook are tested and working, commit your changes. Use git format-patch to format the patch for email submission Send the scenario patch files to bmbouter aat gmail.com or dennis.kliban aat gmail.com.

Once accepted we will build and publish your scenario into Vagrant Cloud which delivers the box directly to a player. Once published, the last step is to list the scenario on selinuxgame.org

Add the Scenario to selinuxgame.org

To add the scenario to selinuxgame.org, open a PR against the website repository.

Specifically, you need to make a new file in the _scenarios directory.

That file must declare three fields:

  • A slug, which is a shortname for the box and url. e.g. new_ways, all_my_content.
  • A title: The title that goes on the Scenarios page, e.g. "New Ways".
  • A description: The description that goes on the Scenarios page.

See the Scenarios page for examples of this data.

FAQ

What should I write about?

Not sure what to write? Scenarios are usually based on a real situations that have happened. Our hope is that when SELinux errors are experienced in different ways, that those can be written as a scenario for others to try to solve.

Why should I contribute?

Each scenario contributed can create a learning experience for many people. Increasing the understanding of SELinux allows for more people to contribute to a more secure world.

About

A template for contributing scenarios

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published