WAFaaS with SSL Orchestrator

Introduction

Note: This article applies to SSL Orchestrator versions prior to 11.0. If using version 11.0 refer to the article HERE

This use case allows you to insert F5 WAF functionality as a Service in the SSL Orchestrator inspection zone.

 

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.

 

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. 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.

 

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.

 

Steps:

 

  1. Create ICAP Service
  2. Disable Strictness on the Service
  3. Disable TCP monitor for the ICAP Pool
  4. ICAP Adapt profiles removed from the Virtual Server
  5. Application Security Policy enabled and a Policy assigned under Security

 

Step #1: Create ICAP Service

 

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

 

 

Click Deploy

 

 

You should receive a Success message

 

 

Step #2: Disable Strictness on the Service

 

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

 

Step #3: Disable tcp monitor for the ICAP Pool

 

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.

 

Click Update

 

 

Note: The Health Monitor needs to be removed because there is no actual ICAP service to monitor.

 

Step #4: ICAP Adapt profiles removed from the Virtual Server

 

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

 

 

Click Update

 

Step #5: Application Security Policy enabled and a Policy assigned under Security

 

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.

Required versions:

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”

Conclusion

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.

Updated Apr 21, 2023
Version 2.0
  • If you were to configure WAF on a separate box, how would you configure the WAF f5 to "transparently" receive the traffic that SSLO decrypted and then sent to the WAF F5? 

  • Thanks to  for the helpful information regarding SSL Orchestrator with TMOS 14.1.4 and 15.0.x

     

  • Hi mbean, the SSL Orchestrator could easily be deployed as a forward proxy, either transparent or explicit.

  • This looks cool. Is there anyone that has done this in a forward proxy SSLO setup yet?

    (as a way to implement filetype filtering?)

  • Hi,

    Great article!

    Just wonder if iRule by default attached to ssloS_WAFaaS-t-4 can be left as is or it should be removed or modified?

    Piotr