Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon

Configure ModSecurity

The goal for this lab is to configure ModSecurity for the Apache web server. There are a few things you need to keep in mind before you start the lab. Take into consideration that firewalld is up and running and that ports 61613, 80, and 65535 are open. Port 61613 is your SSH port where you will connect. Apache is running on port 80, and the back end is functioning on port 65535. SELinux is in enforcing mode. The objective of the lab is to install ModSecurity from the repositories, load it, and instruct Apache to use it. Lastly, install ModSecurity to use OWASP rules in order to apply them against traffic.

Google Cloud Platform icon

Path Info

Clock icon Intermediate
Clock icon 45m
Clock icon Oct 18, 2019

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Install `mod_security`

    1. Install mod_security from the repositories:
      sudo yum install mod_security
  2. Challenge

    Configure OWASP Core Rule Set (CRS)

    1. Make a crs directory:

      sudo mkdir /etc/httpd/crs
    2. Navigate to the new directory:

      cd /etc/httpd/crs
    3. Install Git:

      sudo yum install git
    4. Clone a Git repository for OWASP CRS:

      sudo git clone
    5. Configure the new repository:

      sudo cd /etc/httpd/crs/owasp-modsecurity-crs/ 
    6. Make a copy of crs-setup.conf.example and rename it to crs-setup.conf:

      sudo cp crs-setup.conf.example crs-setup.conf
  3. Challenge

    Inform Apache of the Changes

    1. Open the configuration file:

      sudo vim /etc/httpd/conf/httpd.conf
    2. Insert at the bottom of the file:

      <IfModule security2_module>
         Include /etc/httpd/crs/owasp-modsecurity-crs/crs-setup.conf
         Include /etc/httpd/crs/owasp-modsecurity-crs/rules/*.conf
    3. Save and close:

  4. Challenge

    Restart Apache and Run a Few Tests to Confirm `mod_security` Is Working Properly

    1. Restart the Apache service:

      sudo systemctl restart httpd
    2. Run a test:

      curl -i http://<SERVER_IP_ADDRESS>/index.html -A Nessus 

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans