I can understand logic of info in this widget for most of the Entity types but can't figure out what is logic for mentioned type.
After Enforcement Readiness Period passed my not triggered signatures are listed in Ready To Be Enforced column.
However nothing is listed for HTTP Protocol Compliance.
I am using Rapid Deployment policy building (Manual learning) with default settings (v18.104.22.168).
Result of those settings is (in Learning and Blocking Settings) for HTTP protocol compliance failed section:
In Enforcement Readiness Summary section such values are displayed:
2 violations where triggered by request - at least when using filter on Traffic Learning page (Type: HTTP Protocol Compliance; Score: 0-100 - this filter returns 11 suggestions so it equals number of violations with Learn checked) only two has any requests than can be checked, rest just reports [number] requests triggered this suggestion instead of [number] sample requests out of [number] that triggered the suggestion - I assume that only suggestions with such info are based on actual request received.
Question is why:
Example info in suggestions for not triggered violations is:
* Action: Enable HTTP Check
* Matched HTTP Check: Bad host header value
Why Matched HTTP Check is listed when no request matched anything like that?
Any help appreciated,
Hi Piotr, i can't explain the 9 "Not Enforced" configuration I'm afraid, looks odd to me. I'm probably being too simplistic here, but Enforcement Readiness and whether you Enforce, or items are Ready to be Enforced, is just a simple way of removing the Staging check against an item. Staging is there to not block whilst ASM learns the properties of that item, i.e. the query length of an allowed File Type. Because HTTP Protocol Compliance (and Evasion Techniques) don't have properties then there is no Staging check for them. Hence N/A against enforcing these items. For me, this makes sense.
Obviously the 9 doesn't make sense, can you click on this number?
Not sure about the Bad Host Header bit, can you confirm this again please?
N/A makes a bit of sense here but then why to place this Entity Type in Enforcement Readiness Summary (ERS) widget? A bit confusing.
Even if HTTP Protocol Compliance has no staging it has Enable checkbox - in the end checking this is very similar to unchecking Staging for Signatures - when Enable is checked given violation is in fact enforced - at least this is how I understand final result - request not passing given compliance check are blocked - like request containing enforced signatures.
Again that is creating a bit of confusion for me. Even if we will follow the logic that there is no staging for HTTP compliance then why there is 0 (instead of N/A) in Ready To Be Enforced column?
Seems that 9 is result of: number of violations with Learn - number of violations with Enable manually set (additional to 3 enabled by default, those 3 seems not be counted here - those as well do not have Learn checkbox, only Enable)
Clicking on numbers in both Total and Not Enforced column just direct to Learning and Blocking Settings (LABS) page with HTTP protocol compliance failed section extended, nothing more.
Considering Bad Host Header, this is just example what is shown when filter icon in front of HTTP Protocol Compliance row in ERS widget is clicked.
For all violations marked with Learn on LABS page we have suggestions. See screen:
You can see that suggestions are listed for all violations (with Learn checked) - even if no request triggered violation. Maybe this is because all of then are marked as Policy Tightening Suggestions - those do not need any request to be listed?
Still there should be any info in Ready To Be Enforced column indicating number of violations that was never triggered during ERP - don't you think?
And why there is info 265 request triggered this suggestion - 265 request is total number of request processed by policy from the moment it was activated, but no request actually was reported as triggering violation (this is exactly the same for all other suggestions).
It only changes when given violation is Enabled. When only Learn is checked nothing is displayed in Even Log as well as in suggestion for given violation.
I did test sending request with two Host headers (should trigger Multiple host headers) - no info about violation in Event Log, no info about actual request triggering suggestion in Traffic Learning - not really useful for figuring out if request are not compliant...
Don't really get logic here :-( Same situation seems to be for Evasion Technique detected.
OK, I did some more tests. Logic for HTTP protocol compliance learning is quite odd and different than for other entities.
Only way I found to actually see if any request is not compliant is like that:
Other way is to keep policy in Blocking and disable Block for HTTP protocol compliance failed.
I don't get why this violation type is handled in such different way than others.