WAF as a Service (WAFaaS) With SSL Orchestrator
In this blog
WAFaaS is the ability to insert ASM profiles into the SSL Orchestrator Service Chain for Inbound Topologies. This configuration is specific to a WAF policy running on the SSL Orchestrator device. WAF and SSL Orchestrator consume significant CPU cycles so care should be given when deploying both together. It is also possible to deploy WAF as a service on a separate BIG-IP device, in which case you'd simply configure an inline transparent proxy service. The ability to insert F5's WAF into the Service Chain presents a significant customer benefit.
SSL Orchestrator does not directly support inserting F5 WAF policies into the Service Chain. However, the F5 platform is flexible enough to handle many custom use cases. In this case, the ICAP service configuration exposes a framework that is useful for any number of specialized patterns, including adding a WAF policy to an SSLO service chain. We will configure an ICAP Service and attach the WAF policy to it.
Note: This guide assumes you already have WAF/ASM profile(s) configured, licensed and provisioned on BIG-IP and wish to add this functionality to an Inbound Topology. You could refer to the articles in the references section on how to configure the profiles. In order to run WAF and SSL Orchestrator on the same device you will need an LTM license with SSL Orchestrator as an add-on option. You cannot add a WAF license to an SSL Orchestrator stand-alone license.
Configure WAF as a service is completed in below steps
- Create ICAP(Internet Content Adaptation Protocol) Service
- Disable Strictness on the Service
- Disable TCP monitor for the ICAP Pool
- ICAP Adapt profiles removed from the Virtual Server
- Application Security Policy enabled and a Policy assigned under Security
Note: These instructions assume an SSL Orchestrator Topology and Service Chain are already deployed and working properly. These instructions simply add WAFaaS to the existing Service Chain. It is entirely possible to create the WAFaaS during the initial Topology creation, in which case you would create the service during the workflow, then make the necessary changes after the topology has been created.
From the SSL Orchestrator Guided Configuration, click Services then Add.
Scroll to the bottom, select Generic ICAP Service and click Add.
Give it a name (WAFaaS in this example).
For ICAP Devices, click Add on the right.
Enter an IP Address (198.19.97.1 in this example) and click Done.
Note: the IP address you use does not have to be the one above. It's just a local, non-routable address used as a placeholder in the service definition. This IP address will not be used.
IP addresses 198.19.97.0 to 198.19.97.255 are owned by network benchmark tests and located in private networks.
Scroll to the bottom and click Save & Next.
The next screen is the Services Chain List. Click the name of the Service Chain you wish to add WAF functionality to, ssloSC_ServiceChain in this example.
Note: The order of the Services in the Selected column is the order in which SSL Orchestrator will pass decrypted data to the device. This can be an important consideration if you want some devices to see, or not see, the actions taken by the WAF Service.
Select the WAFaaS Service and click the right arrow to move it to Selected. Click Save.
Click Save & Next.
You should receive a Success message.
From the SSL Orchestrator Configuration screen select Services. Click the padlock to Unprotect Configuration.
Note: Disabling Strictness on the ICAP Service is needed to modify it and attach the WAFaaS policy. Strictness must remain disabled on this service and disabling strictness on the service has no effect on any other part of the SSL Orchestrator configuration.
Click OK to Unprotect the Configuration
From Local Traffic select Pools > Pool List
Select the WAFaaS Pool.
Under Active Health Monitors select tcp and click >> to move it to Available. This removes the Pool's Monitor because otherwise it would be marked as down or unavailable.
Note: The Health Monitor needs to be removed because there is no actual ICAP service to monitor.
From Local Traffic select Virtual Servers > Virtual Server List.
Locate the WAFaaS ICAP service that ends in "-t-4" virtual server and select it.
Set the Request Adapt Profile and Response Adapt Profile to None to disable the default ICAP Profiles.
For the WAFaaS-t-4 Virtual Server, click the Security tab.
Set Application Security Policy to Enabled.
Select the Security Policy you wish to use. Click Update when done.
Note: In specific versions of SSL Orchestrator there is one extra configuration item that needs to be modified. This is NOT required in other versions. If this change is made, when performing an upgrade it is not necessarily required to back out this change.
- SSLO version 5.9.15 available on TMOS 14.1.4
- SSLO versions 6.0-6.5 available on TMOX 15.0.x
Navigate to Local Traffic ›› Profiles : Other : Service.
Select the Service profile named "ssloS_WAFaaS-service."
Change the "Type" from "ICAP" to "F5 Module."
The configuration is now complete. Using the WAFaaS this way is functionally the same as using it by itself. There are no known limitations to this configuration.
We explored the steps to configure WAF as a Service on SSLO Orchestrator. We could also configure WAF on a separate BIG-IP device and add it as a service to the SSL Orchestrator – the functionality would be the same. Check out the lab in the references for a hands-on experience for the steps involved and to work with configuring WAF as a service.