Citrix 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. 添加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. 添加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. 添加一个服务。服务代表内联井斜ce.
  6. (Optional) Bind the service to the TCP monitor.
  7. 添加a content inspection action for the service.
  8. 添加a content inspection policy and specify the action.
  9. 添加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. 添加a content inspection profile.

add contentInspection profile -type InlineInspection -egressInterface -ingressInterface [-egressVlan ] [-ingressVlan ]

Example:

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

  1. 添加一个服务。Specify a dummy IP address that is not owned by any of the devices, including the inline devices. Setuse source IP address(USIP) to YES. Setuseproxyportto 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 TCP * - contentinspectionProfileName -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. 添加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 TCP -destIP -destPort 80 -transparent

Example:

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

  1. Bind the service to the health monitor

健康状况监控器配置后,必须垃圾箱d the service to the health monitor. At the command prompt, type:

bind service -monitorName

Example:

bind service ips_svc -monitorName ips_tcp

  1. 添加a content inspection action.

add contentInspection action -type INLINEINSPECTION -serverName

Example:

add contentInspection action ips_action -type INLINEINSPECTION -serverName ips_service

  1. 添加a content inspection policy.

add contentInspection policy -rule -action

Example:

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

  1. 添加a proxy virtual server.

add cs vserver PROXY -cltTimeout -Listenpolicy -authn401 ( ON | OFF ) -authnVsName -l2Conn ON

Note:

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

Example:

add cs vserver transparentcs PROXY * * -cltTimeout 180 -Listenpolicy exp1 -authn401 on -authnVsName swg-auth-vs-trans-http -l2Conn ON

  1. Bind the policy to the virtual server.

bind cs vserver -policyName -priority -gotoPriorityExpression -type REQUEST

Example:

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

Configure using the GUI

  1. Navigate toSystem > Settings. InModes and Features, clickConfigure Modes.

    System Settings

    Enable Mac Based Forwarding

  2. Navigate toSystem > Settings. InModes and Features, clickConfigure Advanced Features.

    Advanced settings

    Enable Content Inspection

  3. Navigate toSecure Web Gateway > Content Inspection > Content Inspection Profiles. Click添加.

    Content Inspection Profile

  4. Navigate to负载平衡服务> >添加and add a service. InAdvanced Settings, clickProfiles. In theCI Profile Namelist, select the content inspection profile created earlier. InService Settings, setUse Source IP Addressto YES andUse Proxy Portto No. InBasic Settings, setHealth Monitoringto NO. 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.

    Link content inspection profile to service

    Other settings

    Health monitoring setting

  5. Navigate toSecure Web Gateway > Proxy Virtual Servers> Add. Specify a name, IP address, and port. InAdvanced Settings, selectPolicies. Click the “+” sign.

    添加policy

  6. InChoose PolicyselectContent Inspection. ClickContinue.

    Content Inspection Policy

  7. Click添加. Specify a name. InAction, click添加.

    添加action

  8. Specify a name. InType, selectINLINEINSPECTION. InServer Name, select the TCP service created earlier.

    Content Inspection Action

  9. ClickCreate. Specify the rule and clickCreate.

    添加policy rule

  10. ClickBind.

  11. ClickDone.

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. 添加content inspection profiles for each service.
  2. 添加a service for each device.
  3. 添加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. 添加profile 1 for service 1.

add contentInspection profile -type InlineInspection -egressInterface -ingressInterface [-egressVlan ] [-ingressVlan ]

Example:

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

  1. 添加profile 2 for service 2.

add contentInspection profile -type InlineInspection -egressInterface -ingressInterface [-egressVlan ] [-ingressVlan ]

Example:

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

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

add service TCP * - contentinspectionProfileName -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. 添加service 2. Specify a dummy IP address that is not owned by any of the devices, including the inline devices. Setuse source IP address(USIP) to YES. Setuseproxyportto NO. Turn on health monitoring with TRANSPARENT option set ON.

add service TCP * - contentinspectionProfileName -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. 添加a load balancing virtual server.

add lb vserver TCP

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 bind lb vserver

Example:

bind lb vserver lb_inline_vserver ips_service1bind lb vserver lb_inline_vserver ips_service2

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

add contentInspection action -type INLINEINSPECTION -serverName

Example:

add contentInspection action ips_action -type INLINEINSPECTION -serverName lb_inline_vserver

  1. 添加a content inspection policy. Specify the content inspection action in the policy.

add contentInspection policy -rule -action

Example:

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

  1. 添加a proxy virtual server.

add cs vserver PROXY -l2Conn ON

Example:

add cs vserver transparentcs PROXY * * -l2Conn ON

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

bind cs vserver -policyName -priority -gotoPriorityExpression -type REQUEST

Example:

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

Configuration using the GUI

  1. Navigate toSystem > Settings. InModes and Features, clickConfigure Modes.

    System Settings

    Enable Mac Based Forwarding

  2. Navigate toSystem > Settings. InModes and Features, clickConfigure Advanced Features.

    Advanced settings

    Enable Content Inspection

  3. Navigate toSecure Web Gateway > Content Inspection > Content Inspection Profiles. Click添加.

    Content Inspection Profile

    Specify the ingress and egress interfaces.

    Specify ingress and egress interfaces

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

  4. Navigate to负载平衡服务> >添加and add a service. InAdvanced Settings, clickProfiles. In theCI Profile Namelist, select the content inspection profile created earlier. InService Settings, setUse Source IP Addressto YES andUse Proxy Portto No. InBasic Settings, setHealth Monitoringto NO. 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.

    Link content inspection profile to service

    Other settings

    Health monitoring setting

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

  5. Navigate toLoad Balancing > Virtual Servers > Add. Create a TCP load balancing virtual server.

    Load balancing virtual server

    ClickOK.

  6. Click inside the负载均衡虚拟服务器服务绑定section. InService Binding, click the arrow in选择服务. Select the two services created earlier, and clickSelect. ClickBind.

    Click arrow

    Select services to bind

    Bind services to virtual server

  7. Navigate toSecure Web Gateway > Proxy Virtual Servers> Add. Specify a name, IP address, and port. InAdvanced Settings, selectPolicies. Click the “+” sign.

    添加policy

  8. InChoose PolicyselectContent Inspection. ClickContinue.

    Content Inspection Policy

  9. Click添加. Specify a name. InAction, click添加.

    添加action

  10. Specify a name. InType, selectINLINEINSPECTION. InServer Name, select the load balancing virtual server created earlier.

    Content Inspection Action

  11. ClickCreate. Specify the rule and clickCreate.

    添加policy rule

  12. ClickBind.

  13. ClickDone.

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 -ifnum -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 
  1. 添加profile 1 for service 1. Specify the ingress and egress VLANs in the profile.

add contentInspection profile -type InlineInspection -egressInterface -ingressInterface [-egressVlan ] [-ingressVlan ]

Example:

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

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

add contentInspection profile -type InlineInspection -egressInterface -ingressInterface [-egressVlan ] [-ingressVlan ]

Example:

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

  1. 添加service 1.

add service TCP * - contentinspectionProfileName -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. 添加service 2.

add service TCP * - contentinspectionProfileName -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. 添加a load balancing virtual server.

add lb vserver TCP

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 bind lb vserver

Example:

bind lb vserver lb_inline_vserver ips_service1bind lb vserver lb_inline_vserver ips_service2

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

add contentInspection action -type INLINEINSPECTION -serverName

Example:

add contentInspection action ips_action -type INLINEINSPECTION -serverName lb_inline_vserver

  1. 添加a content inspection policy. Specify the content inspection action in the policy.

add contentInspection policy -rule -action

Example:

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

  1. 添加a proxy virtual server.

add cs vserver PROXY -l2Conn ON

Example:

add cs vserver transparentcs PROXY * * -l2Conn ON

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

bind cs vserver -policyName -priority -gotoPriorityExpression -type REQUEST

Example:

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

Configuration using the GUI

  1. Navigate toSystem > Settings. InModes and Features, clickConfigure Modes.

    System Settings

    Enable Mac Based Forwarding

  2. Navigate toSystem > Settings. InModes and Features, clickConfigure Advanced Features.

    Advanced settings

    Enable Content Inspection

  3. Navigate toSystem > Network > VLANs > Add. Add four VLANs and tag them to the interfaces.

    Create VLAN 100

    Create VLAN 200

    Create VLAN 300

    Create VLAN 400

  4. Navigate toSecure Web Gateway > Content Inspection > Content Inspection Profiles. Click添加.

    Content Inspection Profile

    Specify the ingress and egress VLANs.

    Specify interfaces and VLANs for profile 1

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

    Specify interfaces and VLANs for profile 2

  5. Navigate to负载平衡服务> >添加and add a service. InAdvanced Settings, clickProfiles. In theCI Profile Namelist, select the content inspection profile created earlier. InService Settings, setUse Source IP Addressto YES andUse Proxy Portto No. InBasic Settings, setHealth Monitoringto NO.

    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.

    Link content inspection profile 1 to service 1

    Link content inspection profile 2 to service 2

    Other settings

    Health monitoring setting

  6. Navigate toLoad Balancing > Virtual Servers > Add. Create a TCP load balancing virtual server.

    Load balancing virtual server

  7. ClickOK.
  8. Click inside the负载均衡虚拟服务器服务绑定section. InService Binding, click the arrow in选择服务. Select the two services created earlier, and clickSelect. ClickBind.

    Click arrow

    Select services to bind

    Bind services to virtual server

  9. Navigate toSecure Web Gateway > Proxy Virtual Servers> Add. Specify a name, IP address, and port. InAdvanced Settings, selectPolicies. Click the “+” sign.

    添加policy

  10. InChoose PolicyselectContent Inspection. ClickContinue.

    Content Inspection Policy

  11. Click添加. Specify a name. InAction, click添加.

    添加action

  12. Specify a name. InType, selectINLINEINSPECTION. InServer Name, select the load balancing virtual server created earlier.

    Content Inspection Action

  13. ClickCreate. Specify the rule and clickCreate.

    添加policy rule

  14. ClickBind.
  15. ClickDone.
Integration with IPS or NGFW as inline devices using SSL forward proxy