ADC

Integration with IPS or NGFW as inline devices using SSL forward proxy

Security devices such as Intrusion Prevention System (IPS) and Next Generation Firewall (NGFW) protect servers from network attacks. These devices can inspect live traffic and are typically deployed in layer 2 inline mode. The SSL forward proxy appliance provides security of users and the enterprise network when accessing resources on the internet.

An SSL forward proxy appliance can be integrated with one or more inline devices to prevent threats and provide advanced security protection. The inline devices can be any security device, such as IPS and NGFW.

Some use cases where you can benefit by using the SSL forward proxy appliance and inline device integration are:

  • Inspecting encrypted traffic: Most IPS and NGFW appliances bypass encrypted traffic, which can leave servers vulnerable to attacks. An SSL forward proxy appliance can decrypt traffic and send it to the inline devices for inspection. This integration enhances the customer’s network security.

  • Offloading inline devices from TLS/SSL processing: TLS/SSL processing is expensive, which can result in high CPU utilization in IPS or NGFW appliances if they also decrypt the traffic. An SSL forward proxy appliance helps in offloading TLS/SSL processing from inline devices. As a result, inline devices can inspect a higher volume of traffic.

  • Loading balancing inline devices: If you have configured multiple inline devices to manage heavy traffic, an SSL forward proxy appliance can load balance and distribute traffic evenly to these devices.

  • Smart selection of traffic: Instead of sending all the traffic to the inline device for inspection, the appliance does a smart selection of traffic. For example, it skips sending text files for inspection to the inline devices.

SSL forward proxy integration with inline devices

The following diagram shows how an SSL forward proxy is integrated with inline security devices.

ips overview

When you integrate inline devices with the SSL forward proxy appliance, the components interact as follows:

  1. A client sends a request to an SSL forward proxy appliance.

  2. The appliance sends the data to the inline device for content inspection based on the policy evaluation. For HTTPS traffic, the appliance decrypts the data and sends it in plain text to the inline device for content inspection.

    Note

    If there are two or more inline devices, the appliance load balances the devices and sends the traffic.

  3. Add a content switching or an HTTP/HTTPS load balancing virtual server.
  4. The inline device inspects the data for threats and decides whether to drop, reset, or send the data back to the appliance.
  5. If there are security threats, the device modifies the data and sends it to the appliance.
  6. For HTTPS traffic, the appliance re-encrypts the data and forwards the request to the back-end server.
  7. The back-end server sends the response to the appliance.
  8. The appliance again decrypts the data and sends it to the inline device for inspection.
  9. The inline device inspects the data. If there are security threats, the device modifies the data and sends it to the appliance.
  10. The appliance re-encrypts the data and sends the response to the client.

Configuring inline device integration

You can configure an SSL forward proxy appliance with an inline device in three different ways as follows:

Scenario 1: Using a single inline device

To integrate a security device (IPS or NGFW) in inline mode, you must enable content inspection and MAC-based forwarding (MBF) in global mode on the SSL forward proxy appliance. Then, add a content inspection profile, a TCP service, a content inspection action for inline devices to reset, block, or drop the traffic based on inspection. Also add a content inspection policy that the appliance uses to decide the subset of traffic to send to the inline devices. Finally, configure the proxy virtual server with layer 2 connection enabled on the server and bind the content inspection policy to this proxy virtual server.

Single inline device

Perform the following steps:

  1. Enable MAC-based forwarding (MPF) mode.
  2. Enable the content inspection feature.
  3. Add a content inspection profile for the service. The content inspection profile contains the inline device settings that integrate the SSL forward proxy appliance with an inline device.
  4. (Optional) Add a TCP monitor.

    Note:

    Transparent devices do not have an IP address. Therefore, to perform health checks, you must explicitly bind a monitor.

  5. Add a service. A service represents an inline device.
  6. (Optional) Bind the service to the TCP monitor.
  7. Add a content inspection action for the service.
  8. Add a content inspection policy and specify the action.
  9. Add an HTTP or HTTPS proxy (content switching) virtual server.
  10. Bind the content inspection policy to the virtual server.

Configure using the CLI

Type the following commands at the command prompt. Examples are given after most commands.

  1. Enable MBF.

enable ns mode mbf

  1. Enable the feature.

enable ns feature contentInspection

  1. Add a content inspection profile.

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

Example:

add contentInspection profile ipsprof -type InlineInspection -ingressinterface “1/2” -egressInterface “1/3”

  1. Add a service. Specify a dummy IP address that is not owned by any of the devices, including the inline devices. Set use source IP address (USIP) to YES. Set useproxyport to NO. By default, health monitoring is ON, bind the service to a health monitor, and also set the TRANSPARENT option in the monitor ON.

add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor YES -usip YES –useproxyport NO

Example:

add service ips_service 198.51.100.2 TCP * -healthMonitor YES -usip YES -useproxyport NO -contentInspectionProfileName ipsprof

  1. Add a health monitor. By default the health monitor is turned on and you also have the option to disable it, if necessary. At the command prompt, type:

    add lb monitor <name> TCP -destIP <ip address> -destPort 80 -transparent <YES, NO>

Example:

add lb monitor ips_tcp TCP -destIP 192.168.10.2 -destPort 80 -transparent YES

  1. Bind the service to the health monitor

After configuring the health monitor, you must bind the service to the health monitor. At the command prompt, type:

bind service <name> -monitorName <name>

Example:

bind service ips_svc -monitorName ips_tcp

  1. Add a content inspection action.

add contentInspection action <name> -type INLINEINSPECTION -serverName <string>

Example:

add contentInspection action ips_action -type INLINEINSPECTION -serverName ips_service

  1. Add a content inspection policy.

add contentInspection policy <name> -rule <expression> -action <string>

Example:

add contentInspection policy ips_pol -rule "HTTP.REQ.METHOD.NE(\"CONNECT\")" -action ips_action

  1. Add a proxy virtual server.

add cs vserver <name> PROXY <IPAddress> <port> -cltTimeout <secs> -l2Conn ON

Note:

Load balancing virtual servers of type HTTP/SSL are also supported.

Example:

add cs vserver transparentcs PROXY * * -cltTimeout 180 -l2Conn ON

  1. Bind the policy to the virtual server.

bind cs vserver <name> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type REQUEST

Example:

bind cs vserver explicitcs -policyName ips_pol -priority 1 -gotoPriorityExpression END -type REQUEST

Configure using the GUI

  1. Navigate to System > Settings. In Modes and Features, click Configure Modes.

  2. In the Configure Modes page, select the MAC based forwarding option.

  3. Navigate to System > Settings. In Modes and Features, click Configure Advanced Features.

  4. In the Configure Advanced Features page, select the Content Inspection option.

  5. Navigate to Security > Content Inspection > Content Inspection Profiles. Click Add.

  6. Navigate to Load Balancing > Services > Add and add a service.

    1. In Advanced Settings, click Profiles. In the CI Profile Name list, select the content inspection profile created earlier.

    2. In Service Settings, set Use Source IP Address to YES and Use Proxy Port to No. In Basic Settings, set Health Monitoring to NO.

    3. Turn on health monitoring only if you bind this service to a TCP monitor. If you bind a monitor to a service, then set the TRANSPARENT option in the monitor to ON.

  7. Navigate to Security > Proxy Virtual Servers> Add. Specify a name, IP address, and port. In Advanced Settings, select Policies. Click the “+” sign.

  8. In Choose Policy select Content Inspection. Click Continue.

  9. Click Add. Specify a name. In Action, click Add.

  10. Specify a name. In Type, select INLINEINSPECTION. In Server Name, select the TCP service created earlier.

  11. Click Create. Specify the rule and click Create.

  12. Click Bind.

  13. Click Done.

Scenario 2: Load balance multiple inline devices with dedicated interfaces

If you are using two or more inline devices, you can load balance the devices using different content inspection services with dedicated interfaces. In this case, the SSL forward proxy appliance load balances the subset of traffic sent to each device through a dedicated interface. The subset is decided based on the policies configured. For example, TXT or image files might not be sent for inspection to the inline devices.

Multiple inline devices

The basic configuration remains the same as in scenario 1. However, you must create a content inspection profile for each inline device and specify the ingress and egress interface in each profile. Add a service for each inline device. Add a load balancing virtual server and specify it in the content inspection action. Perform the following extra steps:

  1. Add content inspection profiles for each service.
  2. Add a service for each device.
  3. Add a load balancing virtual server.
  4. Specify the load balancing virtual server in the content inspection action.

Configure using the CLI

Type the following commands at the command prompt. Examples are given after each command.

  1. Enable MBF.

enable ns mode mbf

  1. Enable the feature.

enable ns feature contentInspection

  1. Add profile 1 for service 1.

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

Example:

add contentInspection profile ipsprof1 -type InlineInspection -ingressInterface "1/2" -egressInterface "1/3"

  1. Add profile 2 for service 2.

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

Example:

add contentInspection profile ipsprof2 -type InlineInspection -ingressInterface "1/4" -egressInterface "1/5"

  1. Add service 1. Specify a dummy IP address that is not owned by any of the devices, including the inline devices. Set use source IP address (USIP) to YES. Set useproxyport to NO. Turn on health monitoring with TCP monitor with TRANSPARENT option set ON.

add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO

Example:

add service ips_service1 192.168.10.2 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof1

  1. Add service 2. Specify a dummy IP address that is not owned by any of the devices, including the inline devices. Set use source IP address (USIP) to YES. Set useproxyport to NO. Turn on health monitoring with TRANSPARENT option set ON.

add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO

Example:

add service ips_service2 192.168.10.3 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof2

  1. Add a load balancing virtual server.

add lb vserver <LB_VSERVER_NAME> TCP <IP> <port>

Example:

add lb vserver lb_inline_vserver TCP 192.0.2.100 *

  1. Bind the services to the load balancing virtual server.

bind lb vserver <LB_VSERVER_NAME> <service_name> bind lb vserver <LB_VSERVER_NAME> <service_name>

Example:

bind lb vserver lb_inline_vserver ips_service1 bind lb vserver lb_inline_vserver ips_service2

  1. Specify the load balancing virtual server in the content inspection action.

add contentInspection action <name> -type INLINEINSPECTION -serverName <string>

Example:

add contentInspection action ips_action -type INLINEINSPECTION -serverName lb_inline_vserver

  1. Add a content inspection policy. Specify the content inspection action in the policy.

add contentInspection policy <name> -rule <expression> -action <string>

Example:

add contentInspection policy ips_pol -rule "HTTP.REQ.METHOD.NE(\"CONNECT\")" -action ips_action

  1. Add a proxy virtual server.

add cs vserver <name> PROXY <IPAddress> <port> -l2Conn ON

Example:

add cs vserver transparentcs PROXY * * -l2Conn ON

  1. Bind the content inspection policy to the virtual server.

bind cs vserver <name> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type REQUEST

Example:

bind cs vserver explicitcs -policyName ips_pol -priority 1 -gotoPriorityExpression END -type REQUEST

Configuration using the GUI

  1. Navigate to System > Settings. In Modes and Features, click Configure Modes.

  2. In the Configure Modes page, select the MAC based forwarding option.

  3. Navigate to System > Settings. In Modes and Features, click Configure Advanced Features.

  4. In the Configure Advanced Features page, select the Content Inspection option.

  5. Navigate to Security > Content Inspection > Content Inspection Profiles. Click Add.

  6. Specify the ingress and egress interfaces.

  7. Create two profiles. Specify a different ingress and egress interface in the second profile.

  8. Navigate to Load Balancing > Services > Add and add a service.

    1. In Advanced Settings, click Profiles. In the CI Profile Name list, select the content inspection profile created earlier.

    2. In Service Settings, set Use Source IP Address to YES and Use Proxy Port to No. In Basic Settings, set Health Monitoring to NO.

    3. Turn on health monitoring only if you bind this service to a TCP monitor. If you bind a monitor to a service, then set the TRANSPARENT option in the monitor to ON.

    Create two services. Specify dummy IP addresses that are not owned by any of the devices, including the inline devices.

  9. Navigate to Load Balancing > Virtual Servers > Add. Create a TCP load balancing virtual server and Click OK.

  10. Click the Load Balancing Virtual Server Service Binding section. In Service Binding, click the arrow in Select Service. Select the two services created earlier, and click Select. Click Bind.

  11. Navigate to Security > Proxy Virtual Servers> Add. Specify a name, IP address, and port. In Advanced Settings, select Policies. Click the “+” sign.

  12. In Choose Policy select Content Inspection. Click Continue.

  13. Click Add. Specify a name. In Action, click Add.

  14. Specify a name. In Type, select INLINEINSPECTION. In Server Name, select the load balancing virtual server created earlier.

  15. Click Create. Specify the rule and click Create.

  16. Click Bind.

  17. Click Done.

Scenario 3: Load balance multiple inline devices with shared interfaces

If you are using two or more inline devices, you can load balance the devices using different content inspection services with shared interfaces. In this case, the SSL forward proxy appliance load balances the subset of traffic sent to each device through a shared interface. The subset is decided based on the policies configured. For example, TXT or image files might not be sent for inspection to the inline devices.

Multiple inline devices with shared interface

The basic configuration remains the same as in scenario 2. For this scenario, bind the interfaces to different VLANs to segregate the traffic for each inline device. Specify the VLANs in the content inspection profiles. Perform the following extra steps:

  1. Bind the shared interfaces to different VLANs.

  2. Specify the ingress and egress VLANs in the content inspection profiles.

Configuration using the CLI

Type the following commands at the command prompt. Examples are given after each command.

  1. Enable MBF.

enable ns mode mbf

  1. Enable the feature.

enable ns feature contentInspection

  1. Bind the shared interfaces to different VLANs.

    bind vlan <id> -ifnum <interface> -tagged

Example:

bind vlan 100 –ifnum 1/2 tagged
bind vlan 200 –ifnum 1/3 tagged
bind vlan 300 –ifnum 1/2 tagged
bind vlan 400 –ifnum 1/3 tagged
<!--NeedCopy-->
  1. Add profile 1 for service 1. Specify the ingress and egress VLANs in the profile.

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

Example:

add contentInspection profile ipsprof1 -type InlineInspection -egressInterface “1/3” -ingressinterface “1/2” –egressVlan 100 -ingressVlan 300

  1. Add profile 2 for service 2. Specify the ingress and egress VLANs in the profile.

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

Example:

add contentInspection profile ipsprof2 -type InlineInspection -egressInterface “1/3” -ingressinterface “1/2” –egressVlan 200 -ingressVlan 400

  1. Add service 1.

add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO

Example:

add service ips_service1 192.168.10.2 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof1

  1. Add service 2.

add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO

Example:

add service ips_service2 192.168.10.3 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof2

  1. Add a load balancing virtual server.

add lb vserver <LB_VSERVER_NAME> TCP <IP> <port>

Example:

add lb vserver lb_inline_vserver TCP 192.0.2.100 *

  1. Bind the services to the load balancing virtual server.

bind lb vserver <LB_VSERVER_NAME> <service_name> bind lb vserver <LB_VSERVER_NAME> <service_name>

Example:

bind lb vserver lb_inline_vserver ips_service1 bind lb vserver lb_inline_vserver ips_service2

  1. Specify the load balancing virtual server in the content inspection action.

add contentInspection action <name> -type INLINEINSPECTION -serverName <string>

Example:

add contentInspection action ips_action -type INLINEINSPECTION -serverName lb_inline_vserver

  1. Add a content inspection policy. Specify the content inspection action in the policy.

add contentInspection policy <name> -rule <expression> -action <string>

Example:

add contentInspection policy ips_pol -rule "HTTP.REQ.METHOD.NE(\"CONNECT\")" -action ips_action

  1. Add a proxy virtual server.

add cs vserver <name> PROXY <IPAddress> <port> -l2Conn ON

Example:

add cs vserver transparentcs PROXY * * -l2Conn ON

  1. Bind the content inspection policy to the virtual server.

bind cs vserver <name> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type REQUEST

Example:

bind cs vserver explicitcs -policyName ips_pol -priority 1 -gotoPriorityExpression END -type REQUEST

Configuration using the GUI

  1. Navigate to System > Settings. In Modes and Features, click Configure Modes.

  2. In the Configure Modes page, select the MAC based forwarding option.

  3. Navigate to System > Settings. In Modes and Features, click Configure Advanced Features.

  4. In the Configure Advanced Features page, select the Content Inspection option.

  5. Navigate to System > Network > VLANs > Add. Add four VLANs and tag them to the interfaces.

  6. Navigate to Security > Content Inspection > Content Inspection Profiles. Click Add.

  7. Specify the ingress and egress VLANs.

  8. Create another profiles. Specify a different ingress and egress VLAN in the second profile.

  9. Navigate to Load Balancing > Services > Add and add a service.

    1. In Advanced Settings, click Profiles. In the CI Profile Name list, select the content inspection profile created earlier.

    2. In Service Settings, set Use Source IP Address to YES and Use Proxy Port to No. In Basic Settings, set Health Monitoring to NO.

    3. Turn on health monitoring only if you bind this service to a TCP monitor. If you bind a monitor to a service, then set the TRANSPARENT option in the monitor to ON.

    Create two services. Specify dummy IP addresses that are not owned by any of the devices, including the inline devices. Specify profile 1 in service 1, and profile 2 in service 2.

  10. Navigate to Load Balancing > Virtual Servers > Add. Create a TCP load balancing virtual server and Click OK.

  11. Click the Load Balancing Virtual Server Service Binding section. In Service Binding, click the arrow in Select Service. Select the two services created earlier, and click Select. Click Bind.

  12. Navigate to Security > Proxy Virtual Servers> Add. Specify a name, IP address, and port. In Advanced Settings, select Policies. Click the “+” sign.

  13. In Choose Policy select Content Inspection. Click Continue.

  14. Click Add. Specify a name. In Action, click Add.

  15. Specify a name. In Type, select INLINEINSPECTION. In Server Name, select the load balancing virtual server created earlier.

  16. Click Create. Specify the rule and click Create.
  17. Click Bind.
  18. Click Done.
Integration with IPS or NGFW as inline devices using SSL forward proxy