Files
ansible-collection-hardening/CONTRIBUTING.md
T
2015-05-04 21:37:22 +00:00

34 KiB

<html lang="en" class=""> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">
<title>ansible-ssh-hardening/CONTRIBUTING.md at master · hardening-io/ansible-ssh-hardening · GitHub</title>
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
<link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png">
<meta property="fb:app_id" content="1401488693436528">

  <meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="hardening-io/ansible-ssh-hardening" name="twitter:title" /><meta content="ansible-ssh-hardening -  This Ansible role provides numerous security-related ssh configurations, providing all-round base protection." name="twitter:description" /><meta content="https://avatars0.githubusercontent.com/u/11883542?v=3&amp;s=400" name="twitter:image:src" />
  <meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="https://avatars0.githubusercontent.com/u/11883542?v=3&amp;s=400" property="og:image" /><meta content="hardening-io/ansible-ssh-hardening" property="og:title" /><meta content="https://github.com/hardening-io/ansible-ssh-hardening" property="og:url" /><meta content="ansible-ssh-hardening -  This Ansible role provides numerous security-related ssh configurations, providing all-round base protection." property="og:description" />
  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
<meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
<link rel="assets" href="https://assets-cdn.github.com/">

<meta name="pjax-timeout" content="1000">


<meta name="msapplication-TileImage" content="/windows-tile.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="selected-link" value="repo_source" data-pjax-transient>
  <meta name="google-analytics" content="UA-3769691-2">

<meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="9234372A:741F:9DA8BF3:5547BA59" name="octolytics-dimension-request_id" />

<meta content="Rails, view, blob#show" name="analytics-event" />
<meta class="js-ga-set" name="dimension1" content="Logged Out">
<meta class="js-ga-set" name="dimension2" content="Header v3">
<meta name="is-dotcom" content="true">
<meta name="hostname" content="github.com">
<meta name="user-login" content="">


<link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">


<meta content="authenticity_token" name="csrf-param" />
<link href="https://assets-cdn.github.com/assets/github-b0b471dd90b1b98fa4ad82a741cb063dc35b5aadd578ae0669a1f59e78bb2d75.css" media="all" rel="stylesheet" />
<link href="https://assets-cdn.github.com/assets/github2-de5dc7a40d6c453d7f222194158d4416e27c8c628943d75540528101868794d2.css" media="all" rel="stylesheet" />




<meta http-equiv="x-pjax-version" content="faeabbcdf5db23d33dee769ccc99d144">
</head> Skip to content
    <div class="header header-logged-out" role="banner">
<a class="header-logo-wordmark" href="https://github.com/" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
  <span class="mega-octicon octicon-logo-github"></span>
</a>

<div class="header-actions" role="navigation">
    <a class="btn btn-primary" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
  <a class="btn" href="/login?return_to=%2Fhardening-io%2Fansible-ssh-hardening%2Fblob%2Fmaster%2FCONTRIBUTING.md" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
</div>

<div class="site-search repo-scope js-site-search" role="search">
  <form accept-charset="UTF-8" action="/hardening-io/ansible-ssh-hardening/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/hardening-io/ansible-ssh-hardening/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>

This repository
  <ul class="header-nav left" role="navigation">
      <li class="header-nav-item">
        <a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a>
      </li>
      <li class="header-nav-item">
        <a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a>
      </li>
      <li class="header-nav-item">
        <a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a>
      </li>
      <li class="header-nav-item">
        <a class="header-nav-link" href="/blog" data-ga-click="(Logged out) Header, go to blog, text:blog">Blog</a>
      </li>
  </ul>
  <div id="start-of-content" class="accessibility-aid"></div>
      <div class="site" itemscope itemtype="http://schema.org/WebPage">
<div id="js-flash-container">
  
</div>
<div class="pagehead repohead instapaper_ignore readability-menu">
  <div class="container">
  • Watch 4
  • Star
    <a class="social-count js-social-count" href="/hardening-io/ansible-ssh-hardening/stargazers">
      4
    </a>
    
  • <li>
      <a href="/login?return_to=%2Fhardening-io%2Fansible-ssh-hardening"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to fork a repository" rel="nofollow">
        <span class="octicon octicon-repo-forked"></span>
        Fork
      </a>
      <a href="/hardening-io/ansible-ssh-hardening/network" class="social-count">
        0
      </a>
    </li>
    
    <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
      <span class="mega-octicon octicon-repo"></span>
      <span class="author"><a href="/hardening-io" class="url fn" itemprop="url" rel="author"><span itemprop="title">hardening-io</span></a></span><!--
   --><span class="path-divider">/</span><!--
   --><strong><a href="/hardening-io/ansible-ssh-hardening" class="js-current-repository" data-pjax="#js-repo-pjax-container">ansible-ssh-hardening</a></strong>

      <span class="page-context-loader">
        <img alt="" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
      </span>

    </h1>
  </div><!-- /.container -->
</div><!-- /.repohead -->

<div class="container">
  <div class="repository-with-sidebar repo-container new-discussion-timeline  ">

    <div class="repository-sidebar clearfix">
  • Code
  •   <li class="tooltipped tooltipped-w" aria-label="Issues">
        <a href="/hardening-io/ansible-ssh-hardening/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /hardening-io/ansible-ssh-hardening/issues">
          <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
          <span class="js-issue-replace-counter"></span>
          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    

    <li class="tooltipped tooltipped-w" aria-label="Pull requests">
      <a href="/hardening-io/ansible-ssh-hardening/pulls" aria-label="Pull requests" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g p" data-selected-links="repo_pulls /hardening-io/ansible-ssh-hardening/pulls">
          <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull requests</span>
          <span class="js-pull-replace-counter"></span>
          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    

    <li class="tooltipped tooltipped-w" aria-label="Pulse">
      <a href="/hardening-io/ansible-ssh-hardening/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-selected-links="pulse /hardening-io/ansible-ssh-hardening/pulse">
        <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
        <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    

    <li class="tooltipped tooltipped-w" aria-label="Graphs">
      <a href="/hardening-io/ansible-ssh-hardening/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-selected-links="repo_graphs repo_contributors /hardening-io/ansible-ssh-hardening/graphs">
        <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
        <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/assets/spinners/octocat-spinner-32-e513294efa576953719e4e2de888dd9cf929b7d62ed8d05f25e731d02452ab6c.gif" width="16" />
    

          <div class="only-with-full-nav">

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

            <a href="/hardening-io/ansible-ssh-hardening/archive/master.zip"
               class="btn btn-sm sidebar-button"
               aria-label="Download the contents of hardening-io/ansible-ssh-hardening as a zip file"
               title="Download the contents of hardening-io/ansible-ssh-hardening as a zip file"
               rel="nofollow">
              <span class="octicon octicon-cloud-download"></span>
              Download ZIP
            </a>
          </div>
    </div><!-- /.repository-sidebar -->

    <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>

Permalink

branch: master
ansible-ssh-hardening/CONTRIBUTING.md
<div class="participation">
  <p class="quickstat">
    <a href="#blob_contributors_box" rel="facebox">
      <strong>1</strong>
       contributor
    </a>
  </p>
  
</div>
<div id="blob_contributors_box" style="display:none">
  <h2 class="facebox-header">Users who have contributed to this file</h2>
  <ul class="facebox-user-list">
      <li class="facebox-user-list-item">
        <img alt="@chris-rock" data-user="1178413" height="24" src="https://avatars1.githubusercontent.com/u/1178413?v=3&amp;s=48" width="24" />
        <a href="/chris-rock">chris-rock</a>
      </li>
  </ul>
</div>
  <div class="btn-group">
    <a href="/hardening-io/ansible-ssh-hardening/raw/master/CONTRIBUTING.md" class="btn btn-sm " id="raw-url">Raw</a>
      <a href="/hardening-io/ansible-ssh-hardening/blame/master/CONTRIBUTING.md" class="btn btn-sm js-update-url-with-hash">Blame</a>
    <a href="/hardening-io/ansible-ssh-hardening/commits/master/CONTRIBUTING.md" class="btn btn-sm " rel="nofollow">History</a>
  </div>


      <button type="button" class="octicon-btn disabled tooltipped tooltipped-n" aria-label="You must be signed in to make or propose changes">
        <span class="octicon octicon-pencil"></span>
      </button>

    <button type="button" class="octicon-btn octicon-btn-danger disabled tooltipped tooltipped-n" aria-label="You must be signed in to make or propose changes">
      <span class="octicon octicon-trashcan"></span>
    </button>
</div>

<div class="file-info">
    85 lines (45 sloc)
    <span class="file-info-divider"></span>
  3.918 kb
</div>

Contributor Guideline

This document provides an overview of how you can participat in improving this project or extending it. We are grateful for all your help: bug reports and fixes, code contributions, documentation or ideas. Feel free to join, we appreciate your support!!

Communication

GitHub repositories

Much of the issues, goals and ideas are tracked in the respective projects in GitHub. Please use this channel to report bugs and post ideas.

git and GitHub

In order to contribute code please:

  1. Fork the project on GitHub
  2. Clone the project
  3. Add changes (and tests)
  4. Commit and push
  5. Create a merge-request

To have your code merged, see the expectations listed below.

You can find a well-written guide here.

Please follow common commit best-practices. Be explicit, have a short summary, a well-written description and references. This is especially important for the merge-request.

Some great guidelines can be found here and here.

Expectations

Don't reinvent the wheel

This hardening project doesn't intend to reinvent the configuration stack for services. Aim to use official configuration projects first and provide hardening as a layer on top. The goal is remove the need for a user to configure all aspects of services and maintain security configuration. This way, the user can still configure a service using the interface provided by the official project.

These projects are generally hosted on GitHub as well.

In some cases, we in fact create the full rollout stack, but this is generally the exception (os-hardening, nginx-hardening).

Be explicit

  • Please avoid using nonsensical property and variable names
  • Use self-describing attribute names for user configuration
  • In case of failures, communicate what happened and why a failure occurs to the user. Make it easy to track the code or action that produced the error. Try to catch and handle errors if possible to provide improved failure messages.

Add tests

The security review of this project is done using integration tests.

Whenever you add a new security configuration, please start by writing a test that checks for this configuration. For example: If you want to set a new attribute in a configuration file, write a test that expects the value to be set first. Then implement your change.

You may add a new feature request by creating a test for whatever value you need.

All tests will be reviewed internally for their validity and overall project direction.

Document your code

As code is more often read than written, please provide documentation in all projects.

Adhere to the respective guidelines for documentation:

Follow coding styles

We generally include test for coding guidelines:

Remember: Code is generally read much more often than written.

Use Markdown

Wherever possible, please refrain from any other formats and stick to simple markdown.

Jump to Line

Go
    </div>

  </div><!-- /.repo-container -->
  <div class="modal-backdrop"></div>
</div><!-- /.container -->
</div><!-- /.wrapper -->

  <div class="container">
<div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
<div id="ajax-error-message" class="flash flash-error">
  <span class="octicon octicon-alert"></span>
  <a href="#" class="octicon octicon-x flash-close js-ajax-error-dismiss" aria-label="Dismiss error"></a>
  Something went wrong with that request. Please try again.
</div>


  <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-2c8ae50712a47d2b83d740cb875d55cdbbb3fdbccf303951cc6b7e63731e0c38.js"></script>
  <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-6ef28f80a929515cb3e7e424363db63629a966b42acdf1666c433dc4b46de3db.js"></script>
</html>