Skip to content

dev-sec/chef-apache-hardening

Repository files navigation

apache-hardening (Chef cookbook)

Supermarket Build Status Code Coverage Dependencies Gitter Chat

Description

This cookbook provides a secure overlay for apache configuration.

Requirements

  • chef

Platform

  • Debian 7, 8
  • Ubuntu 14.04, 16.04
  • CentOS 6.8, 7.2
  • OracleLinux 6.8, 7.2

Usage

A sample role may look like:

{
    "name": "apache",
    "default_attributes": { },
    "override_attributes": { },
    "json_class": "Chef::Role",
    "description": "Apache Hardened Server Test Role",
    "chef_type": "role",
    "run_list": [
        "recipe[apt]",
        "recipe[apache2]",
        "recipe[apache-hardening]"
    ]
}

Recipes

apache-hardening::hardening (default)

This recipe is an overlay recipe for the apache2 cookbook and applies apache-hardening::hardening

Add the following to your runlist and customize security option attributes

"recipe[apache2]",
"recipe[apache-hardening]"

This hardening recipe installs the hardening but expects an existing installation of Apache2.

Security Options

Tests

For local testing you can use vagrant or docker to run tests locally. You will have to install Virtualbox and Vagrant or docker on your system. See Vagrant Downloads for a vagrant or Docker Downloads package suitable for your system. For all our tests we use test-kitchen. If you are not familiar with test-kitchen please have a look at their guide.

# Install dependencies
gem install bundler
bundle install

# Do lint checks
bundle exec rake lint

# fast test on one machine
bundle exec kitchen test default-ubuntu-1404

# test on all machines
bundle exec kitchen test

# for development
bundle exec kitchen create default-ubuntu-1404
bundle exec kitchen converge default-ubuntu-1404
bundle exec kitchen verify default-ubuntu-1204

Contributors + Kudos

Contributing

See contributor guideline.

License and Author

  • Author:: Deutsche Telekom AG

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.