Xalgorix Cloud
Autonomous AI security testing for developers and security teams: find vulnerabilities, prove each with a working exploit, and ship verified fixes with zero infrastructure setup.
翻訳待ち
ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx. 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.
翻訳待ち
Loading the full README.
Read the full README ↗Libmodsecurity is one component of the ModSecurity v3 project. The library codebase serves as an interface to ModSecurity Connectors taking in web traffic and applying traditional ModSecurity processing. In general, it provides the capability to load/interpret rules written in the ModSecurity SecRules format and apply them to HTTP content provided by your application via Connectors.
If you are looking for ModSecurity for Apache (aka ModSecurity v2.x), it is still under maintenance and available: here.
Libmodsecurity is a complete rewrite of the ModSecurity platform. When it was first devised the ModSecurity project started as just an Apache module. Over time the project has been extended, due to popular demand, to support other platforms including (but not limited to) Nginx and IIS. In order to provide for the growing demand for additional platform support, it has became necessary to remove the Apache dependencies underlying this project, making it more platform independent.
As a result of this goal we have rearchitected Libmodsecurity such that it is no longer dependent on the Apache web server (both at compilation and during runtime). One side effect of this is that across all platforms users can expect increased performance. Additionally, we have taken this opportunity to lay the groundwork for some new features that users have been long seeking. For example we are looking to natively support auditlogs in the JSON format, along with a host of other functionality in future versions.
The 'ModSecurity' branch no longer contains the traditional module logic (for Nginx, Apache, and IIS) that has traditionally been packaged all together. Instead, this branch only contains the library portion (libmodsecurity) for this project. This library is consumed by what we have termed 'Connectors' these connectors will interface with your webserver and provide the library with a common format that it understands. Each of these connectors is maintained as a separate GitHub project. For instance, the Nginx connector is supplied by the ModSecurity-nginx project (https://github.com/owasp-modsecurity/ModSecurity-nginx).
Keeping these connectors separated allows each project to have different release cycles, issues and development trees. Additionally, it means that when you install ModSecurity v3 you only get exactly what you need, no extras you won't be using.
Before starting the compilation process, make sure that all required dependencies are installed.
See the Dependencies and Git submodules section for further information.
After compilation, make sure that there are no issues on your build/platform.
We strongly recommend running the unit tests and regression tests. These test utilities are located in the tests/ subfolder.
As a dynamic library, libmodsecurity must be installed in a location where your operating system can find dynamic libraries.
On Unix-like systems, the project uses autotools for the compilation process.
If you are working with a git checkout, make sure to clone the repository recursively or initialize all submodules before building.
See also the Git submodules section.
git clone https://github.com/owasp-modsecurity/ModSecurity ModSecurity
cd ModSecurity
This repository uses git submodules. After cloning, make sure to initialize and fetch all submodules:
git submodule update --init --recursive
You can verify that all submodules are properly initialized with:
git submodule status
Submodules that are correctly initialized show a commit hash.
A leading - indicates that the submodule has not been initialized.
You can then start the build process:
./build.sh
./configure
make
sudo make install
Details on distribution-specific builds can be found in our Wiki: Compilation Recipes
Windows build information can be found here.
Regex utility (src/utils/regex.*).@rx, @rxGlobal, and @verifyCC.This is the beginning of the README. Read the rest at the original. Read the full README ↗