Forum Discussion
ASM block page for use with API waf policy
Hey all!
I´ve setup a asm waf policy for a webservice that handels api calls. But the standard response on a block is a 200 OK with the block webpage, which works great if a person can see it on the screen.. when it´s an api call the service just gets a <!DO (the first characters of the webpage) and a 200 OK.
What I want to do I just return a 403 / 503 (or something like that) and just respond with the support ID in a header back to the source.
I´ve got most of it figured out, except the header part...
So... doesnt anyone know a good way for me to insert a support ID to a header response back to the client?
Also keep in mind that ASM_REQUEST_DONE irule event will show you support id even for good requests, so if you want to insert the header only when there is violation then you can use ASM_REQUEST_BLOCKING as a replacement for ASM_REQUEST_DONE as it will trigger only for bad requests.
Just an update from me. I found a much much simpler way to accomplish this.
In the settings for the policy and under response and blocking pages, i edit and created a new header and just used the support id variable from the page on the header and that worked like a charm. No irules to apply or anything. 😄
17 Replies
- kimhenriksen
Cirrocumulus
I did this first:
when ASM_REQUEST_VIOLATION {
set support_id [ASM::support_id]
#log local0. $support_id
HTTP::header insert ASM $support_id
}
when HTTP_RESPONSE {
#log local0. $support_id
HTTP::header insert ASM $support_id
#HTTP::header insert ASM2 testtest
}But.. there´s no header receieved on the client end..
Did you check what I mentioned ?
Not when ASM_REQUEST_VIOLATION but ASM_REQUEST_DONE and the irule trigger should be enabled under the ASM policy and set to Normal mode not Compatible.
- kimhenriksen
Cirrocumulus
I´ll change the event and try again.
I had already changed the irule setting before so events are triggering ok.
Why not save the ASM::support_id to variable from the "ASM_REQUEST_DONE" event and then in the ''HTTP_RESPONSE'' event just insert the value in a header?
See:
https://clouddocs.f5.com/api/irules/ASM__support_id.html
https://clouddocs.f5.com/api/irules/ASM_REQUEST_DONE.html
https://clouddocs.f5.com/api/irules/ASM_REQUEST_BLOCKING.html
https://clouddocs.f5.com/api/irules/HTTP__header.html
Don't forget to enable the irule event triggering under the ASM policy as by default it is dissabled for some stupid reason.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
