Skip to content


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?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

apache-hardening (Chef cookbook)

Supermarket Build Status Code Coverage Dependencies Gitter Chat


This cookbook provides a secure overlay for apache configuration.


  • chef


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


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": [


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


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

Security Options


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


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

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.