My main use case for F5 Advanced WAF is to protect external and internal applications from cyber attacks and to prevent malicious payloads and malicious data from reaching servers. Even if malicious content is compromised on the client side and could be executed on the server side before reaching the server, F5 Advanced WAF intercepts the communication and verifies the actual payload and data that the client wants to access or send to the server so that it gets executed securely at the server level.
I can provide a specific example of how I have used F5 Advanced WAF to protect an application. There was an application where some of the contents actually get loaded from a third-party domain. In that case, the client has to load scripts, images, or any other sort of resources from that third-party domain. When the request reached F5 Advanced WAF, the application sets response headers so that in those response headers, the browser sends the request with the information mentioned in those response headers. Those response headers include Content Security Policy and CORS headers. The domains mentioned there, along with the resources like scripts and images, determine which resources can be accessed. Only those resources are loaded from those domains. If an attacker tries to send the request to a different domain, the browser will not load that. If the application is unable to implement those headers, F5 Advanced WAF can implement or configure those headers so that the resources from the third party get executed or loaded in a secure way. Moreover, if a request comes from the client side, the actual payload is verified because it would be encrypted. This is because whenever we host an application, it should be HTTPS, which means secure communication with F5 Advanced WAF and the server. The client communicates securely. F5 Advanced WAF intercepts everything initiated from the client side, decrypts it with the help of SSL handshake, and there are private and public keys that help encrypt and decrypt the data. F5 Advanced WAF acts as a proxy for that particular application. When a client initiates the request, it seems to the client that they are communicating with the real server, but the request reaches F5 Advanced WAF first instead of the server. F5 Advanced WAF communicates with the client and forwards the data to F5 Advanced WAF. F5 Advanced WAF decrypts the data through SSL handshake. F5 Advanced WAF then verifies what exactly the actual payload contains, whether it is malicious data or legitimate data. F5 Advanced WAF verifies by having predefined attack patterns that contain some attack information. If those attack patterns or malicious data are executed on the server side, that data can compromise server confidentiality and sensitive data. In that case, the actual payload from the client is verified against those patterns. If the data matches those patterns, F5 Advanced WAF enforces the security. If security is in blocking mode, it will stop the request and the blocking reference ID will be forwarded to the client. The client will retain that reference ID. If it is a non-legitimate client, they will be blocked. If legitimate, the client receives the reference ID. Upon receiving the reference ID, the client has to forward it to the company that they are receiving the reference ID while accessing the application, seeking clarification about the issue. The reference ID is verified in F5 Advanced WAF logs, providing insights into what exactly the client sent and what observations were made based on attack patterns triggered by the data. If the client is legitimate, it is treated as a false positive. We then either request the applications team to refactor the way requests are sent or, if cumbersome, relax the policy for that user or URL. This is a granular way to protect against malicious and mitigate false positives for applications deployed on F5 Advanced WAF.
F5 Advanced WAF has an added advantage over Cloudflare, Barracuda WAF, Imperva WAF, and other WAFs currently in the market. The essential feature is called iRules. With iRules, we can apply two security policies for a single application while segregating user traffic from admin traffic. It is necessary to secure and segregate admin and user traffic because we can implement robust security for user traffic. For admin policy, we can relax the policy since it is an admin resource performing admin functionalities like upgrading the application, integrating resources, or implementing new features. We can simply relax the admin policy and enhance the user policy. One of the most important advantages of F5 Advanced WAF is that we can apply it on the same virtual server where we configure the applications. Other vendors in the market, especially Barracuda WAF, lack such functionality or advanced features. This is a significant advantage that F5 has, and their STM, which handles traffic, is secure and stable.