Skip to content
September 22, 2026
  • Bluesky
  • Facebook
  • Linkedin
  • Mastodon
  • RSS
  • Twitter
  • Youtube

Daily CyberSecurity

Zero-hour alerts. Unmatched analysis.

Primary Menu
  • Home
  • CVE Data
    • CVE Watchtower
    • Top Exploited CVEs
    • CVE Stats by Vendor
    • Q2 2026 Report
    • CVE Alerts
    • CVE Alert Settings
    • Pricing
  • Cyber Criminals
  • Data Leak
  • Free Tools
    • CVSS 3.1 Calculator
    • Certificate Viewer
    • DNS Lookup
    • Encoder & Hash Generator
    • IP / Subnet Calculator
    • Whois Lookup
  • Linux
  • Malware
  • Vulnerability
  • Submit Press Release
  • Weekly Recap
Light/Dark Button
  • Home
  • Technique
  • APACHE PROTECTION WITH MODSECURITY
  • Technique

APACHE PROTECTION WITH MODSECURITY

Do Son July 8, 2017 4 minutes read

There are so many ways to protect Web-server. On this post, I’m going to guide how to use ModSecurity WAF to protect Apache webserver. 

ModSecurity is an open source, cross-platform web application firewall (WAF) developed by Trustwave’s SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging, and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence. ModSecurity – this firewall is designed as a module for the Apache, which allows it easily install and use. Protection using ModSecurity can prevent:

  • SQL-injection;
  • XSS;
  • Trojans;
  • bots;
  • capture session;
  • and many other attacks and break-ins.

Install ModSecurity

apt-get install libapache2-mod-security2

and turn it on:

a2enmod security2

By default filtering rules are not included, and the rules themselves have the extension .conf and loaded from the directory /etc/ModSecurity/ (rules specified location in the /etc/apache2/mods-available/security2.conf  file) and is as follows:

IncludeOptional /etc/modsecurity/*.conf

The list can be several directories from which the rules are loaded.

Add a new directory, which will be based on our rules.

crs – for a basic set of rules;
custom – to its rules.

Add a directory for further expansion of the list of rules:

IncludeOptional /etc/modsecurity/rules/crs/*.conf
IncludeOptional /etc/modsecurity/rules/custom/*.conf

and create the required directories:

mkdir /etc/modsecurity/rules/crs
mkdir /etc/modsecurity/rules/custom

Thereafter including basic configuration. To do this, copy or rename the default configuration file (located in the directory /etc/ModSecurity/) modsecurity.conf-recommended file modsecurity.conf

cp /etc/modsecurity/modsecurity.conf{-recommended,}

little change it:

replace the first Directive SecRuleEngine DetectionOnly on

SecRuleEngine On

including blocking, available options:  On, Off, DetectionOnly.

Allowed to scan the contents of the request body:

SecRequestBodyAccess On

Limit the size of POST query parameter SecRequestBodyLimit. If there is no file download mechanism on the server, you can severely limit the transmitted data. We are limited to 15MB. The number of bytes it will be 1024 * 1024 * 15 = 15728640

SecRequestBodyLimit 15728640

Restrict stored in memory POST request when sending the file (except the file size), the surplus will swap to disk, which slows things down a little but does not overwhelm the memory under any circumstances. This is done in parameter SecRequestBodyInMemoryLimit . Restrict 128Kb.

SecRequestBodyInMemoryLimit 131072

The basic rules are set, and an advanced set can be downloaded from the official page of OWASP ModSecurity Core Rule Set and put *.conf files in the previously specified directory /etc/ModSecurity/rules/crs , where our additional rules.

In Debian additional rules are already included in the package and is located at /usr /share/ModSecurity-crs/ .
Turn them into a folder by creating symlinks crs :

ln -s /usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf /etc/modsecurity/rules/crs/modsecurity_crs_10_setup.conf

It is also required for some sets of rules *.data files. Therefore, they also need to make symlinks.
I’ve included a basic setting modsecurity_crs_10_setup.conf and some of the rules in the folder base_rules.
It is not necessary to include all the rules at once. With great probability, it will block the Web server.

It now remains only to exclude directories that ModSecurity well or need to interfere.
This is done by exclusion from the list of monitored hosts to configure Apache Web-server . To exclude the entire virtual host use the following code:

<ifmodule security2_module>
SecRuleEngine Off
</ifmodule>

this code can be used to exclude specific directories:

<directory “/var/www/noModSecurity”>
<ifmodule security2_module>
SecRuleEngine Off
</ifmodule>
</directory>

Now a few words about the proper implementation. Many of the rules can cause a denial of work Web applications. Due to the fact that ModSecurity deemed malicious requests. Therefore it is better to include only first detection mode ( SecRuleEngine DetectionOnly ) and see which rules apply and when.
See what rules can be practiced in the log file. By default it is at /var/log/apache2/modsec_audit.log . This file is written all information about the work of ModSecurity.

 

SHARE
Share on FacebookShare on XShare on LinkedInShare on TelegramShare on BlueskyShare on Mastodon
Tags: apache modsecurity

Search

Translation

CVE ALERTS
📧

Email Delivery
Get threat intel straight to your inbox.

♾️

Unlimited Vendors
Track every technology in your stack.

🚨

All New CVE Alerts
Be the first to know about new flaws.

⚙️

Custom EPSS Threshold
Filter noise, focus on real risks.

💬

Slack & Teams Webhook
Integrate directly into your SecOps.

🚫

100% Ad-Free
Enjoy an uninterrupted reading experience.

$7/mo
Subscribe Now

🚨 Active Exploits in the Wild

  • CVE-2026-7273CVSS 8.8
    A stack-based buffer overflow vulnerability in the CGI program of Zyxel GS1900-48HPv2 firmware versions through 2.90(ABTQ.1)C0 could allow a...
    CISA KEV📅 Added to KEV: Sep 21, 2026
  • CVE-2026-58138CVSS 9.8
    Orkes Conductor 3.21.21 before 3.30.2 contains an unauthenticated remote code execution vulnerability that allows remote attackers to execute...
    Admin intel📅 Updated: Sep 20, 2026
  • CVE-2026-86124CVSS 9.8
    AutoAgent contains an unauthenticated remote code execution vulnerability in the TCP server that binds to all interfaces and...
    Admin intel📅 Updated: Sep 19, 2026
  • CVE-2025-39682CVSS 9.8
    In the Linux kernel, the following vulnerability has been resolved: tls: fix handling of zero-length records on the...
    CISA KEV📅 Added to KEV: Sep 18, 2026
  • CVE-2025-39964CVSS 7.8
    In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg...
    CISA KEV📅 Added to KEV: Sep 18, 2026
  • CVE-2026-53266CVSS 8.8
    In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The...
    CISA KEV📅 Added to KEV: Sep 18, 2026
  • CVE-2026-76460CVSS 10.0
    A vulnerability in an API of Cisco Identity Services Engine (ISE) could allow an unauthenticated, remote attacker to...
    Admin intelCISA KEV📅 Added to KEV: Sep 16, 2026📅 Updated: Sep 16, 2026
  • CVE-2026-89026CVSS 9.8
    The Issabel Framework, the web framework supporting Issabel PBX software, before commit b97dbaf contains a hard-coded HS256 JWT...
    Admin intel📅 Updated: Sep 16, 2026
Powered by CVE Watchtower

Critical Vulnerabilities

  • CVE-2026-12249CVSS 9.0
    An issue was discovered in Canonical ADSys upstream versions through v0.16.2. During Active Directory Certificate Services (AD CS)...
    📅 Updated: Sep 21, 2026
  • CVE-2026-79916CVSS 9.1
    MaxKB is an open-source AI assistant for enterprise. Prior to 2.10.5-lts, authenticated workspace members can inject control characters...
    📅 Updated: Sep 21, 2026
  • CVE-2026-77521CVSS 10.0
    MaxKB is an open-source AI assistant for enterprise. Prior to version 2.10.5-lts, assistants with a tool, MCP tool,...
    📅 Updated: Sep 21, 2026
  • CVE-2026-75885CVSS 9.3
    A flaw was found in the OpenShift console. Unauthenticated access to the `/api/devfile/` and `/api/devfile/samples/` endpoints allows a...
    📅 Updated: Sep 21, 2026
  • CVE-2026-61682CVSS 9.9
    kcp is a Kubernetes-like control plane for form-factors and use-cases beyond Kubernetes and container workloads. Prior to 0.31.4...
    📅 Updated: Sep 21, 2026
  • CVE-2026-61550CVSS 9.8
    Icinga 2 is an open source monitoring system. From 2.8 until 2.14.9, 2.15.4, and 2.16.2, certificate update JSON-RPC...
    📅 Updated: Sep 21, 2026
  • CVE-2026-54752CVSS 9.6
    NetBox Device Type Library is a collection of community-sourced device type definitions for import into NetBox. The validation...
    📅 Updated: Sep 21, 2026
  • CVE-2026-58264CVSS 9.8
    FluidSynth is a software synthesizer based on the SoundFont 2 specifications. From 1.1.2 until 2.5.6, the FluidSynth command...
    📅 Updated: Sep 21, 2026
Powered by CVE Watchtower

Daily CyberSecurity

  • About SecurityOnline.info
  • Advertise with us
  • Announcement
  • Contact
  • Contributor Register
  • Login
  • Disclaimer
  • DCMA
  • Privacy Policy
  • About SecurityOnline.info
  • Advertise on SecurityOnline.info
  • Contact Us

When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works

  • CVE Watchtower
  • CVE Statistics by Vendor 2026
  • Q2 2026 Report
  • Top Exploited CVEs
  • Bluesky
  • Facebook
  • Linkedin
  • Mastodon
  • RSS
  • Twitter
  • Youtube
© 2017 - 2026 Daily CyberSecurity. All Rights Reserved.