Giter Club home page Giter Club logo

pupmod-simp-simp's Introduction

License CII Best Practices Puppet Forge Puppet Forge Downloads Build Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with simp
  4. Usage - Configuration options and additional functionality
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Overview

This module is the overarching profile of SIMP managed systems. It should be the entry point for all supported SIMP configurations.

This is a SIMP module

This module is a component of the System Integrity Management Platform

If you find any issues, please submit them via JIRA.

Please read our Contribution Guide.

This module should be used within the SIMP ecosystem and will be of limited independent use

Module Description

This module provides a convenient entry point for setting up systems to meet the goals of the SIMP Project.

It is effectively a highly malleable Puppet profile that provides mechanisms for direct overall system modification and management.

Setup

What SIMP affects

The simp module is meant to be the central controller of all node configurations. The suggested usage is to place the following in your environment's site.pp:

include 'simp_options'
include 'simp'

NOTE: If using Puppet Enterprise, you can add the simp_options and simp classes to nodes via the classification interface. Do be sure to include simp_options before simp so that the simp module has appropriate access to the parameters in simp_options.

Reference

See the REFERENCE.md for a comprehensive overview of the module components.

Usage

Basic Usage

It is recommended that you start with one of the SIMP scenarios described below.

These may be set via the simp::scenario parameter via Hiera.

NOTE
  • simp::scenario always affects SIMP client systems, no matter how it was set.
  • However: SIMP servers will default to the simp scenario unless simp:scenario is set in Hiera.

You may want to tweak individual module settings and should reference the module documentation for full details.

SIMP Scenarios

The SIMP module has the following scenarios defined for getting started with different configurations easily:

  • simp

    • The default scenario. Enables all modules to support the default SIMP infrastructure configured around security best practices and compatibility with supported security policies as defined in the compliance_markup module.
  • simp_lite

    • The simp profile with some of the more aggressive security support modules disabled. These include, but are not limited to, iptables, fips, and svckill.
  • standalone

    • Applies all of the settings in the simp profile and, after a successful run, either disables puppet from running again or removes it from the system completely. Has options to ensure that there is a way to get back into the system afterwards.
  • poss

    • The Puppet Open Source Software (POSS) configuration simply attaches your node to the Puppet server and performs no additional configuration. This can be used as a starting point for building your own configuration without needing to worry about how to configure your Puppet agents.
  • remote_access

    • Adds the common remote access capabilities of SIMP to the system on top of the poss scenario.
  • none

    • Does nothing at all. All configuration is in your control.

Development

Please read our Contribution Guide.

Unit tests

Unit tests, written in rspec-puppet can be run by calling:

bundle exec rake spec

Acceptance tests

To run the system tests, you need Vagrant installed. Then, run:

bundle exec rake beaker:suites

Some environment variables may be useful:

BEAKER_debug=true
BEAKER_provision=no
BEAKER_destroy=no
BEAKER_use_fixtures_dir_for_modules=yes
  • BEAKER_debug: show the commands being run on the STU and their output.
  • BEAKER_destroy=no: prevent the machine destruction after the tests finish so you can inspect the state.
  • BEAKER_provision=no: prevent the machine from being recreated. This can save a lot of time while you're writing the tests.
  • BEAKER_use_fixtures_dir_for_modules=yes: cause all module dependencies to be loaded from the spec/fixtures/modules directory, based on the contents of .fixtures.yml. The contents of this directory are usually populated by bundle exec rake spec_prep. This can be used to run acceptance tests to run on isolated networks.

pupmod-simp-simp's People

Contributors

andy-adrian avatar ayohrling avatar heliocentric avatar jeannegreulich avatar jeefberkey avatar kendall-moore avatar lamawithonel avatar lnemsick-simp avatar michael-riddle avatar nicholasmhughes avatar op-ct avatar pillarsdotnet avatar ralph-wright avatar rgardner4012 avatar sharkbruhaha avatar silug avatar trevor-vaughan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pupmod-simp-simp's Issues

Need to revisit how we handle ctrl_alt_del

Currently to disable ctrl_alt_del we jam in a ctrl-alt-del.target and a ctrl-alt-del-capture.service file and then handle their restarts with exec. Based on the latest versions of cis, dis, and ssg, we could probably control this with an actual puppet service resource and still meet the requirements of the standards without having messy execs and hard-coded files.

Need some extra hieradata in support of Rocky 8

There are several os-specific hieradata entries that Rocky doesn't currently have. Looking at the data between CentOS 8 and RHEL 8, the data appears to be exactly the same so copying one of the files and renaming will likely be sufficient to get Rocky working as expected.

Remove upstart

Upstart is not used in either EL7 or EL8 so it can be removed as a dependency.

The keys listed in functions/yum/repo/gpgkeys/simp.pp are outdated

The following keys need to be removed:
RPM-GPG-KEY-PGDG-96
RPM-GPG-KEY-SIMP
Any reference to EL6 gpg keys

If used in its current stat in conjuction with the latest version of simp-gpgkeys clients will try to retrieve (and fail) getting keys that no longer exist.

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.