@abtnode/router-provider 1.16.38-beta-20250116-083413-dbd33222 → 1.16.38-beta-20250118-033334-2da05ae8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/nginx/includes/security/crs4/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example +200 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-901-INITIALIZATION.conf +470 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-905-COMMON-EXCEPTIONS.conf +57 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-911-METHOD-ENFORCEMENT.conf +76 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-913-SCANNER-DETECTION.conf +86 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf +1915 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-921-PROTOCOL-ATTACK.conf +558 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-922-MULTIPART-ATTACK.conf +120 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf +203 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-931-APPLICATION-ATTACK-RFI.conf +189 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf +1875 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf +774 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-934-APPLICATION-ATTACK-GENERIC.conf +366 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf +1071 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf +1978 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION.conf +132 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf +463 -0
- package/lib/nginx/includes/security/crs4/rules/REQUEST-949-BLOCKING-EVALUATION.conf +270 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-950-DATA-LEAKAGES.conf +156 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-951-DATA-LEAKAGES-SQL.conf +417 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-952-DATA-LEAKAGES-JAVA.conf +108 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-953-DATA-LEAKAGES-PHP.conf +158 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-954-DATA-LEAKAGES-IIS.conf +152 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-955-WEB-SHELLS.conf +558 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-959-BLOCKING-EVALUATION.conf +280 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-980-CORRELATION.conf +138 -0
- package/lib/nginx/includes/security/crs4/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example +76 -0
- package/lib/nginx/includes/security/crs4/rules/iis-errors.data +59 -0
- package/lib/nginx/includes/security/crs4/rules/java-classes.data +64 -0
- package/lib/nginx/includes/security/crs4/rules/java-code-leakages.data +17 -0
- package/lib/nginx/includes/security/crs4/rules/java-errors.data +10 -0
- package/lib/nginx/includes/security/crs4/rules/lfi-os-files.data +722 -0
- package/lib/nginx/includes/security/crs4/rules/php-config-directives.data +571 -0
- package/lib/nginx/includes/security/crs4/rules/php-errors-pl2.data +7 -0
- package/lib/nginx/includes/security/crs4/rules/php-errors.data +2147 -0
- package/lib/nginx/includes/security/crs4/rules/php-function-names-933150.data +245 -0
- package/lib/nginx/includes/security/crs4/rules/php-function-names-933151.data +2201 -0
- package/lib/nginx/includes/security/crs4/rules/php-variables.data +30 -0
- package/lib/nginx/includes/security/crs4/rules/restricted-files.data +284 -0
- package/lib/nginx/includes/security/crs4/rules/restricted-upload.data +177 -0
- package/lib/nginx/includes/security/crs4/rules/scanners-user-agents.data +119 -0
- package/lib/nginx/includes/security/crs4/rules/sql-errors.data +172 -0
- package/lib/nginx/includes/security/crs4/rules/ssrf.data +177 -0
- package/lib/nginx/includes/security/crs4/rules/unix-shell.data +670 -0
- package/lib/nginx/includes/security/crs4/rules/web-shells-php.data +167 -0
- package/lib/nginx/includes/security/crs4/rules/windows-powershell-commands.data +425 -0
- package/lib/nginx/includes/security/unicode.mapping +96 -0
- package/lib/nginx/index.js +50 -3
- package/lib/nginx/templates/security/crs4/crs-setup.conf.js +857 -0
- package/lib/nginx/templates/security/modsecurity.conf.js +244 -0
- package/package.json +7 -6
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------
|
|
2
|
+
# OWASP CRS ver.4.9.0
|
|
3
|
+
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
+
# Copyright (c) 2021-2024 CRS project. All rights reserved.
|
|
5
|
+
#
|
|
6
|
+
# The OWASP CRS is distributed under
|
|
7
|
+
# Apache Software License (ASL) version 2
|
|
8
|
+
# Please see the enclosed LICENSE file for full details.
|
|
9
|
+
# ------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# This file is used as an exception mechanism to remove common false positives
|
|
13
|
+
# that may be encountered.
|
|
14
|
+
#
|
|
15
|
+
# Exception for Apache SSL pinger
|
|
16
|
+
#
|
|
17
|
+
SecRule REQUEST_LINE "@streq GET /" \
|
|
18
|
+
"id:905100,\
|
|
19
|
+
phase:1,\
|
|
20
|
+
pass,\
|
|
21
|
+
t:none,\
|
|
22
|
+
nolog,\
|
|
23
|
+
tag:'application-multi',\
|
|
24
|
+
tag:'language-multi',\
|
|
25
|
+
tag:'platform-apache',\
|
|
26
|
+
tag:'attack-generic',\
|
|
27
|
+
tag:'OWASP_CRS',\
|
|
28
|
+
ver:'OWASP_CRS/4.9.0',\
|
|
29
|
+
chain"
|
|
30
|
+
SecRule REMOTE_ADDR "@ipMatch 127.0.0.1,::1" \
|
|
31
|
+
"t:none,\
|
|
32
|
+
ctl:ruleRemoveByTag=OWASP_CRS,\
|
|
33
|
+
ctl:auditEngine=Off"
|
|
34
|
+
|
|
35
|
+
#
|
|
36
|
+
# Exception for Apache internal dummy connection
|
|
37
|
+
#
|
|
38
|
+
SecRule REMOTE_ADDR "@ipMatch 127.0.0.1,::1" \
|
|
39
|
+
"id:905110,\
|
|
40
|
+
phase:1,\
|
|
41
|
+
pass,\
|
|
42
|
+
t:none,\
|
|
43
|
+
nolog,\
|
|
44
|
+
tag:'application-multi',\
|
|
45
|
+
tag:'language-multi',\
|
|
46
|
+
tag:'platform-apache',\
|
|
47
|
+
tag:'attack-generic',\
|
|
48
|
+
tag:'OWASP_CRS',\
|
|
49
|
+
ver:'OWASP_CRS/4.9.0',\
|
|
50
|
+
chain"
|
|
51
|
+
SecRule REQUEST_HEADERS:User-Agent "@endsWith (internal dummy connection)" \
|
|
52
|
+
"t:none,\
|
|
53
|
+
chain"
|
|
54
|
+
SecRule REQUEST_LINE "@rx ^(?:GET /|OPTIONS \*) HTTP/[12]\.[01]$" \
|
|
55
|
+
"t:none,\
|
|
56
|
+
ctl:ruleRemoveByTag=OWASP_CRS,\
|
|
57
|
+
ctl:auditEngine=Off"
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------
|
|
2
|
+
# OWASP CRS ver.4.9.0
|
|
3
|
+
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
+
# Copyright (c) 2021-2024 CRS project. All rights reserved.
|
|
5
|
+
#
|
|
6
|
+
# The OWASP CRS is distributed under
|
|
7
|
+
# Apache Software License (ASL) version 2
|
|
8
|
+
# Please see the enclosed LICENSE file for full details.
|
|
9
|
+
# ------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
#
|
|
12
|
+
# -= Paranoia Level 0 (empty) =- (apply unconditionally)
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:911011,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
18
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:911012,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
19
|
+
#
|
|
20
|
+
# -= Paranoia Level 1 (default) =- (apply only when tx.detection_paranoia_level is sufficiently high: 1 or higher)
|
|
21
|
+
#
|
|
22
|
+
|
|
23
|
+
#
|
|
24
|
+
# -=[ Allowed Request Methods ]=-
|
|
25
|
+
#
|
|
26
|
+
# tx.allowed_methods is defined in the crs-setup.conf file
|
|
27
|
+
#
|
|
28
|
+
SecRule REQUEST_METHOD "!@within %{tx.allowed_methods}" \
|
|
29
|
+
"id:911100,\
|
|
30
|
+
phase:1,\
|
|
31
|
+
block,\
|
|
32
|
+
msg:'Method is not allowed by policy',\
|
|
33
|
+
logdata:'%{MATCHED_VAR}',\
|
|
34
|
+
tag:'application-multi',\
|
|
35
|
+
tag:'language-multi',\
|
|
36
|
+
tag:'platform-multi',\
|
|
37
|
+
tag:'attack-generic',\
|
|
38
|
+
tag:'paranoia-level/1',\
|
|
39
|
+
tag:'OWASP_CRS',\
|
|
40
|
+
tag:'capec/1000/210/272/220/274',\
|
|
41
|
+
tag:'PCI/12.1',\
|
|
42
|
+
ver:'OWASP_CRS/4.9.0',\
|
|
43
|
+
severity:'CRITICAL',\
|
|
44
|
+
setvar:'tx.inbound_anomaly_score_pl1=+%{tx.critical_anomaly_score}'"
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:911013,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
50
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:911014,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
51
|
+
#
|
|
52
|
+
# -= Paranoia Level 2 =- (apply only when tx.detection_paranoia_level is sufficiently high: 2 or higher)
|
|
53
|
+
#
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:911015,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
58
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:911016,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
59
|
+
#
|
|
60
|
+
# -= Paranoia Level 3 =- (apply only when tx.detection_paranoia_level is sufficiently high: 3 or higher)
|
|
61
|
+
#
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:911017,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
66
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:911018,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
67
|
+
#
|
|
68
|
+
# -= Paranoia Level 4 =- (apply only when tx.detection_paranoia_level is sufficiently high: 4 or higher)
|
|
69
|
+
#
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
#
|
|
74
|
+
# -= Paranoia Levels Finished =-
|
|
75
|
+
#
|
|
76
|
+
SecMarker "END-REQUEST-911-METHOD-ENFORCEMENT"
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# ------------------------------------------------------------------------
|
|
2
|
+
# OWASP CRS ver.4.9.0
|
|
3
|
+
# Copyright (c) 2006-2020 Trustwave and contributors. All rights reserved.
|
|
4
|
+
# Copyright (c) 2021-2024 CRS project. All rights reserved.
|
|
5
|
+
#
|
|
6
|
+
# The OWASP CRS is distributed under
|
|
7
|
+
# Apache Software License (ASL) version 2
|
|
8
|
+
# Please see the enclosed LICENSE file for full details.
|
|
9
|
+
# ------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
#
|
|
12
|
+
# -= Paranoia Level 0 (empty) =- (apply unconditionally)
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:913011,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
18
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 1" "id:913012,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
19
|
+
#
|
|
20
|
+
# -= Paranoia Level 1 (default) =- (apply only when tx.detection_paranoia_level is sufficiently high: 1 or higher)
|
|
21
|
+
#
|
|
22
|
+
|
|
23
|
+
#
|
|
24
|
+
# -=[ Security Scanner Checks ]=-
|
|
25
|
+
#
|
|
26
|
+
# This rule inspects the default User-Agent and Header values sent by
|
|
27
|
+
# various commercial and open source scanners, mostly
|
|
28
|
+
# security / vulnerability scanners.
|
|
29
|
+
#
|
|
30
|
+
# It is based on a curated list of known malicious scanners in widespread use.
|
|
31
|
+
# This list is maintained in scanners-user-agents.data.
|
|
32
|
+
#
|
|
33
|
+
# With CRSv4, the project has given up on keeping track of different categories
|
|
34
|
+
# of scanners and scripting agents, mostly because it's very hard to draw
|
|
35
|
+
# a line between benign, mostly benign and malicious. And because dedicated
|
|
36
|
+
# attackers will change the user agent anyways.
|
|
37
|
+
|
|
38
|
+
SecRule REQUEST_HEADERS:User-Agent "@pmFromFile scanners-user-agents.data" \
|
|
39
|
+
"id:913100,\
|
|
40
|
+
phase:1,\
|
|
41
|
+
block,\
|
|
42
|
+
capture,\
|
|
43
|
+
t:none,\
|
|
44
|
+
msg:'Found User-Agent associated with security scanner',\
|
|
45
|
+
logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',\
|
|
46
|
+
tag:'application-multi',\
|
|
47
|
+
tag:'language-multi',\
|
|
48
|
+
tag:'platform-multi',\
|
|
49
|
+
tag:'attack-reputation-scanner',\
|
|
50
|
+
tag:'paranoia-level/1',\
|
|
51
|
+
tag:'OWASP_CRS',\
|
|
52
|
+
tag:'capec/1000/118/224/541/310',\
|
|
53
|
+
tag:'PCI/6.5.10',\
|
|
54
|
+
ver:'OWASP_CRS/4.9.0',\
|
|
55
|
+
severity:'CRITICAL',\
|
|
56
|
+
setvar:'tx.inbound_anomaly_score_pl1=+%{tx.critical_anomaly_score}'"
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:913013,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
60
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 2" "id:913014,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
61
|
+
#
|
|
62
|
+
# -= Paranoia Level 2 =- (apply only when tx.detection_paranoia_level is sufficiently high: 2 or higher)
|
|
63
|
+
#
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:913015,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
68
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 3" "id:913016,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
69
|
+
#
|
|
70
|
+
# -= Paranoia Level 3 =- (apply only when tx.detection_paranoia_level is sufficiently high: 3 or higher)
|
|
71
|
+
#
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:913017,phase:1,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
76
|
+
SecRule TX:DETECTION_PARANOIA_LEVEL "@lt 4" "id:913018,phase:2,pass,nolog,tag:'OWASP_CRS',ver:'OWASP_CRS/4.9.0',skipAfter:END-REQUEST-913-SCANNER-DETECTION"
|
|
77
|
+
#
|
|
78
|
+
# -= Paranoia Level 4 =- (apply only when tx.detection_paranoia_level is sufficiently high: 4 or higher)
|
|
79
|
+
#
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
#
|
|
84
|
+
# -= Paranoia Levels Finished =-
|
|
85
|
+
#
|
|
86
|
+
SecMarker "END-REQUEST-913-SCANNER-DETECTION"
|