From a974306eddc40bb41f76f6baa06da5b256d646f9 Mon Sep 17 00:00:00 2001 From: brenosilva Date: Mon, 22 Oct 2012 06:05:36 -0700 Subject: [PATCH] Created ModSecurity Rules Language Porting Specification (mediawiki) --- ...s-Language-Porting-Specification.mediawiki | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 ModSecurity-Rules-Language-Porting-Specification.mediawiki diff --git a/ModSecurity-Rules-Language-Porting-Specification.mediawiki b/ModSecurity-Rules-Language-Porting-Specification.mediawiki new file mode 100644 index 0000000..6874bed --- /dev/null +++ b/ModSecurity-Rules-Language-Porting-Specification.mediawiki @@ -0,0 +1,73 @@ += ModSecurity Rules Language Porting Specification = +This document's aim is to list the minimum ModSecurity Rules Language items which must be implemented by porting projects. These items are considered '''Level 1: Core Features'''. It may not be possible to properly implement all ModSecurity capabilities (Lua API, Persistent Storage, etc...) in porting efforts. These are considered '''Level 2: Advanced Features'''. + += Level 1: Core Features = +The following ModSecurity Configuration and Rules Language items must be implemented by porting efforts. +== Directives == +*SecRuleEngine +*SecRule +*SecRequestBody Access +*SecResponseBodyAccess + +== Variables == +*ARGS +*ARGS_NAMES +*QUERY_STRING +*REMOTE_ADDR +*REQUEST_BASENAME +*REQUEST_BODY +*REQUEST_COOKIES +*REQUEST_COOKIES_NAMES +*REQUEST_FILENAME +*REQUEST_HEADERS +*REQUEST_HEADERS_NAMES +*REQUEST_METHOD +*REQUEST_PROTOCOL +*REQUEST_URI +*RESPONSE_BODY +*RESPONSE_CONTENT_LENGTH +*RESPONSE_CONTENT_TYPE +*RESPONSE_HEADERS +*RESPONSE_HEADERS_NAMES +*RESPONSE_PROTOCOL +*RESPONSE_STATUS + +== Operators == +*rx +*eq +*ge +*gt +*le +*lt + +== Actions == +*allow +*msg +*id +*rev +*severity +*log +*deny +*block +*status +*phase +*t +*skip +*chain + +== Transformation Functions == +*lowercase +*urlDecode +*none +*compressWhitespace +*removeWhitespace +*replaceNulls +*removeNulls + +== Phases == +*phase:1 - Request headers stage +*phase:2 - Request body stage +*phase:3 - Response headers stage +*phase:4 - Response body stage + += Level 2: Advanced Features =