Skip to content

Commit b6cd956

Browse files
committed
Updated information about mandatory dependencies.
- Leverage relative paths in links
1 parent d279f7b commit b6cd956

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

README.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ capability to load/interpret rules written in the ModSecurity SecRules format
2121
and apply them to HTTP content provided by your application via Connectors.
2222

2323
If you are looking for ModSecurity for Apache (aka ModSecurity v2.x), it is still under maintenance and available:
24-
[here](https://github.com/owasp-modsecurity/ModSecurity/tree/v2/master).
24+
[here](../../tree/v2/master).
2525

2626
### What is the difference between this project and the old ModSecurity (v2.x.x)?
2727

@@ -37,7 +37,7 @@ As a result of this goal we have rearchitected Libmodsecurity such that it is no
3737

3838
### It is no longer just a module.
3939

40-
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).
40+
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 (../../../ModSecurity-nginx).
4141

4242
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.
4343

@@ -53,8 +53,6 @@ regression tests. These test utilities are located under the subfolder ‘tests
5353

5454
As a dynamic library, don’t forget that libmodsecurity must be installed to a location (folder) where you OS will be looking for dynamic libraries.
5555

56-
57-
5856
### Unix (Linux, MacOS, FreeBSD, …)
5957

6058
On unix the project uses autotools to help the compilation process.
@@ -67,23 +65,33 @@ $ sudo make install
6765
```
6866

6967
Details on distribution specific builds can be found in our Wiki:
70-
[Compilation Recipes](https://github.com/owasp-modsecurity/ModSecurity/wiki/Compilation-recipes)
68+
[Compilation Recipes](../../wiki/Compilation-recipes)
7169

7270
### Windows
7371

7472
Windows build information can be found [here](build/win32/README.md).
7573

7674
## Dependencies
7775

78-
This library is written in C++ using the C++17 standards. It also uses Flex
79-
and Yacc to produce the “Sec Rules Language” parser. Other, mandatory dependencies include YAJL, as ModSecurity uses JSON for producing logs and its testing framework, libpcre (not yet mandatory) for processing regular expressions in SecRules, and libXML2 (not yet mandatory) which is used for parsing XML requests.
76+
This library is written in C++ using the C++17 standard.
77+
78+
The following dependencies are used to build libModSecurity:
79+
80+
* Flex and Yacc to produce the “Sec Rules Language” parser.
81+
* YAJL, as ModSecurity uses JSON for producing logs and its testing framework.
82+
* PCRE2 for processing regular expressions in SecRules.
83+
* libXML2 which for parsing XML requests.
84+
* libinjection for the operators [@detectXSS](../../wiki/Reference-Manual-(v3.x)#detectxss) and [@detectSQL](../../wiki/Reference-Manual-(v3.x)#detectsqli).
85+
* Mbed TLS for basic encoding/hashing functions (base64, md5 & sha1).
8086

81-
All others dependencies are related to operators specified within SecRules or configuration directives and may not be required for compilation. A short list of such dependencies is as follows:
87+
All others dependencies are related to operators specified within SecRules or configuration directives and may not be required for compilation. If those libraries are missing ModSecurity will be compiled without the support for the associated operator or configuration directive.
8288

83-
* libinjection is needed for the operator @detectXSS and @detectSQL
84-
* curl is needed for the directive SecRemoteRules.
89+
A short list of such dependencies is as follows:
8590

86-
If those libraries are missing ModSecurity will be compiled without the support for the operator @detectXSS and the configuration directive SecRemoteRules.
91+
* curl is needed for the directive [SecRemoteRules](../../wiki/Reference-Manual-(v3.x)#user-content-SecRemoteRules).
92+
* LUA is needed for the directive [SecRuleScript](../../wiki/Reference-Manual-(v3.x)#secrulescript).
93+
* GeoIP/MaxMind to perform geolocation lookups using operator [geoLookup](../../wiki/Reference-Manual-(v3.x)%29#geolookup)
94+
* ssdeep is needed for the operator [fuzzyHash](../../wiki/Reference-Manual-(v3.x)%29#fuzzyhash).
8795

8896
# Library documentation
8997

@@ -273,4 +281,4 @@ if there is anything we can do to facilitate your work as a packager.
273281

274282
## Sponsor Note
275283

276-
Development of ModSecurity is sponsored by Trustwave. Sponsorship will end July 1, 2024. Additional information can be found here https://www.trustwave.com/en-us/resources/security-resources/software-updates/end-of-sale-and-trustwave-support-for-modsecurity-web-application-firewall/
284+
Development of ModSecurity is sponsored by Trustwave. Sponsorship will end July 1, 2024. Additional information can be found [here](https://www.trustwave.com/en-us/resources/security-resources/software-updates/end-of-sale-and-trustwave-support-for-modsecurity-web-application-firewall/).

0 commit comments

Comments
 (0)