We are happily using the latest major version of your Vaadin framework in a complex enterprise application of ours. The application is running in a containerized setup in AKS and on suggestion of our dev-ops an security teams we also taking use WAF (Web Application Firewall) within our infrastructure. This infra level security layer has been causing us many problems lately, as we are getting significant amounts of false positives, which basically fry our application from the user’s perspective.
What happens is the users writes something in an input field which the WAF interprets as potentially malicious code. This is far from true, if you take a look at the input as a human, however since the WAF operates with REGEXP tools, it does not make such distinctions. This then leads to the answer being blocked and us sending back 403 as an answer to Vaadin instead of a 200, Vaadin retries many times, then after the retrial limit just kills the thread, from which all the users sees is a built in Vaadin banner connection lost.
We are writing to ask about 2 things:
-
Are there best practices on how to best use Vaadin applications together with WAF in your infrastructure? If so can you please point to these?
-
Are there resources or better yet a short listing from vaadin officially on what security checks and measures are already built in to the Vaading Framework by default specifically on input sanitation? We are leaning to disable certain WAF rulesets that we always see problems with, as we think vaadin must already have application side security on this, such as injections on the platform level (like Linux commands, mySQL or MSSQL query injections etc.) but we don’t have any official documentation for that.
Thanks in advance.