charm-ceilometer/charmhelpers/contrib/hardening
Alex Kavanagh b0b0c017a1 charm-helpers-sync for release
Change-Id: I9dcb5ec669ead7f7bb56752b7789a60c90b38dbf
2022-04-07 15:58:29 +01:00
..
apache charm-helpers-sync for release 2022-04-07 15:58:29 +01:00
audits charm-helpers-sync for release 2022-04-07 15:58:29 +01:00
defaults Sync charmhelpers to get modified MemcacheContext for ipv4 2017-04-26 11:01:48 +01:00
host charm-helpers-sync for release 2022-04-07 15:58:29 +01:00
mysql charm-helpers-sync for release 2022-04-07 15:58:29 +01:00
ssh Sync charmhelpers to get modified MemcacheContext for ipv4 2017-04-26 11:01:48 +01:00
__init__.py Resync charmhelpers for licensing change 2016-07-06 16:27:46 +01:00
harden.py charm-helpers-sync for release 2022-04-07 15:58:29 +01:00
README.hardening.md Add hardening support 2016-03-24 11:12:40 +00:00
templating.py charm-helpers-sync for release 2022-04-07 15:58:29 +01:00
utils.py charm-helpers-sync for release 2022-04-07 15:58:29 +01:00

Juju charm-helpers hardening library

Description

This library provides multiple implementations of system and application hardening that conform to the standards of http://hardening.io/.

Current implementations include:

  • OS
  • SSH
  • MySQL
  • Apache

Requirements

  • Juju Charms

Usage

  1. Synchronise this library into your charm and add the harden() decorator (from contrib.hardening.harden) to any functions or methods you want to use to trigger hardening of your application/system.

  2. Add a config option called 'harden' to your charm config.yaml and set it to a space-delimited list of hardening modules you want to run e.g. "os ssh"

  3. Override any config defaults (contrib.hardening.defaults) by adding a file called hardening.yaml to your charm root containing the name(s) of the modules whose settings you want override at root level and then any settings with overrides e.g.

    os: general: desktop_enable: True

  4. Now just run your charm as usual and hardening will be applied each time the hook runs.