Integration with IPS or NGFW as inline devices using SSL forward proxy
-
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
-
A client sends a request to an SSL forward proxy appliance.
-
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.NoteIf there are two or more inline devices, the appliance load balances the devices and sends the traffic.
-
Add a content switching or an HTTP/HTTPS load balancing virtual server.
-
The inline device inspects the data for threats and decides whether to drop, reset, or send the data back to the appliance.
-
If there are security threats, the device modifies the data and sends it to the appliance.
-
For HTTPS traffic, the appliance re-encrypts the data and forwards the request to the back-end server.
-
The back-end server sends the response to the appliance.
-
The appliance again decrypts the data and sends it to the inline device for inspection.
-
The inline device inspects the data. If there are security threats, the device modifies the data and sends it to the appliance.
-
The appliance re-encrypts the data and sends the response to the client.
Configuring inline device integration
Scenario 1: Using a single inline device
-
Enable MAC-based forwarding (MPF) mode.
-
Enable the content inspection feature.
-
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.
-
(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.
-
Add a service. A service represents an inline device.
-
(Optional) Bind the service to the TCP monitor.
-
Add a content inspection action for the service.
-
Add a content inspection policy and specify the action.
-
Add an HTTP or HTTPS proxy (content switching) virtual server.
-
Bind the content inspection policy to the virtual server.
Configure using the CLI
-
Enable MBF.
enable ns mode mbf
-
Enable the feature.
enable ns feature contentInspection
-
Add a content inspection profile.
add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]
add contentInspection profile ipsprof -type InlineInspection -ingressinterface “1/2” -egressInterface “1/3”
-
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. 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 <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor YES -usip YES –useproxyport NO
add service ips_service 198.51.100.2 TCP * -healthMonitor YES -usip YES -useproxyport NO -contentInspectionProfileName ipsprof
-
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>
add lb monitor ips_tcp TCP -destIP 192.168.10.2 -destPort 80 -transparent YES
-
Bind the service to the health monitor
bind service <name> -monitorName <name>
bind service ips_svc -monitorName ips_tcp
-
Add a content inspection action.
add contentInspection action <name> -type INLINEINSPECTION -serverName <string>
add contentInspection action ips_action -type INLINEINSPECTION -serverName ips_service
-
Add a content inspection policy.
add contentInspection policy <name> -rule <expression> -action <string>
add contentInspection policy ips_pol -rule "HTTP.REQ.METHOD.NE(\"CONNECT\")" -action ips_action
-
Add a proxy virtual server.
add cs vserver <name> PROXY <IPAddress> <port> -cltTimeout <secs> -l2Conn ON
add cs vserver transparentcs PROXY * * -cltTimeout 180 -l2Conn ON
-
Bind the policy to the virtual server.
bind cs vserver <name> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type REQUEST
bind cs vserver explicitcs -policyName ips_pol -priority 1 -gotoPriorityExpression END -type REQUEST
Configure using the GUI
-
Navigate to System > Settings. In Modes and Features, click Configure Modes.
-
In the Configure Modes page, select the MAC based forwarding option.
-
Navigate to System > Settings. In Modes and Features, click Configure Advanced Features.
-
In the Configure Advanced Features page, select the Content Inspection option.
-
Navigate to Security > Content Inspection > Content Inspection Profiles. Click Add.
-
Navigate to Load Balancing > Services > Add and add a service.
-
In Advanced Settings, click Profiles. In the CI Profile Name list, select the content inspection profile created earlier.
-
In Service Settings, set Use Source IP Address to YES and Use Proxy Port to No. In Basic Settings, set Health Monitoring to 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.
-
-
Navigate to Security > Proxy Virtual Servers> Add. Specify a name, IP address, and port. In Advanced Settings, select Policies. Click the "+" sign.
-
In Choose Policy select Content Inspection. Click Continue.
-
Click Add. Specify a name. In Action, click Add.
-
Specify a name. In Type, select INLINEINSPECTION. In Server Name, select the TCP service created earlier.
-
Click Create. Specify the rule and click Create.
-
Click Bind.
-
Click Done.
Scenario 2: Load balance multiple inline devices with dedicated interfaces
-
Add content inspection profiles for each service.
-
Add a service for each device.
-
Add a load balancing virtual server.
-
Specify the load balancing virtual server in the content inspection action.
Configure using the CLI
-
Enable MBF.
enable ns mode mbf
-
Enable the feature.
enable ns feature contentInspection
-
Add profile 1 for service 1.
add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]
add contentInspection profile ipsprof1 -type InlineInspection -ingressInterface "1/2" -egressInterface "1/3"
-
Add profile 2 for service 2.
add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]
add contentInspection profile ipsprof2 -type InlineInspection -ingressInterface "1/4" -egressInterface "1/5"
-
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. Setuseproxyportto 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
add service ips_service1 192.168.10.2 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof1
-
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. Setuseproxyportto NO. Turn on health monitoring with TRANSPARENT option set ON.
add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO
add service ips_service2 192.168.10.3 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof2
-
Add a load balancing virtual server.
add lb vserver <LB_VSERVER_NAME> TCP <IP> <port>
add lb vserver lb_inline_vserver TCP 192.0.2.100 *
-
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>
bind lb vserver lb_inline_vserver ips_service1 bind lb vserver lb_inline_vserver ips_service2
-
Specify the load balancing virtual server in the content inspection action.
add contentInspection action <name> -type INLINEINSPECTION -serverName <string>
add contentInspection action ips_action -type INLINEINSPECTION -serverName lb_inline_vserver
-
Add a content inspection policy. Specify the content inspection action in the policy.
add contentInspection policy <name> -rule <expression> -action <string>
add contentInspection policy ips_pol -rule "HTTP.REQ.METHOD.NE(\"CONNECT\")" -action ips_action
-
Add a proxy virtual server.
add cs vserver <name> PROXY <IPAddress> <port> -l2Conn ON
add cs vserver transparentcs PROXY * * -l2Conn ON
-
Bind the content inspection policy to the virtual server.
bind cs vserver <name> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type REQUEST
bind cs vserver explicitcs -policyName ips_pol -priority 1 -gotoPriorityExpression END -type REQUEST
Configuration using the GUI
-
Navigate to System > Settings. In Modes and Features, click Configure Modes.
-
In the Configure Modes page, select the MAC based forwarding option.
-
Navigate to System > Settings. In Modes and Features, click Configure Advanced Features.
-
In the Configure Advanced Features page, select the Content Inspection option.
-
Navigate to Security > Content Inspection > Content Inspection Profiles. Click Add.
-
Specify the ingress and egress interfaces.
-
Create two profiles. Specify a different ingress and egress interface in the second profile.
-
Navigate to Load Balancing > Services > Add and add a service.
-
In Advanced Settings, click Profiles. In the CI Profile Name list, select the content inspection profile created earlier.
-
In Service Settings, set Use Source IP Address to YES and Use Proxy Port to No. In Basic Settings, set Health Monitoring to 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.
Create two services. Specify dummy IP addresses that are not owned by any of the devices, including the inline devices. -
-
Navigate to Load Balancing > Virtual Servers > Add. Create a TCP load balancing virtual server and Click OK.
-
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.
-
Navigate to Security > Proxy Virtual Servers> Add. Specify a name, IP address, and port. In Advanced Settings, select Policies. Click the "+" sign.
-
In Choose Policy select Content Inspection. Click Continue.
-
Click Add. Specify a name. In Action, click Add.
-
Specify a name. In Type, select INLINEINSPECTION. In Server Name, select the load balancing virtual server created earlier.
-
Click Create. Specify the rule and click Create.
-
Click Bind.
-
Click Done.
Scenario 3: Load balance multiple inline devices with shared interfaces
-
Bind the shared interfaces to different VLANs.
-
Specify the ingress and egress VLANs in the content inspection profiles.
Configuration using the CLI
-
Enable MBF.
enable ns mode mbf
-
Enable the feature.
enable ns feature contentInspection
-
Bind the shared interfaces to different VLANs.
bind vlan <id> -ifnum <interface> -tagged
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
-
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>]
add contentInspection profile ipsprof1 -type InlineInspection -egressInterface “1/3” -ingressinterface “1/2” –egressVlan 100 -ingressVlan 300
-
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>]
add contentInspection profile ipsprof2 -type InlineInspection -egressInterface “1/3” -ingressinterface “1/2” –egressVlan 200 -ingressVlan 400
-
Add service 1.
add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO
add service ips_service1 192.168.10.2 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof1
-
Add service 2.
add service <service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor NO -usip YES –useproxyport NO
add service ips_service2 192.168.10.3 TCP * -healthMonitor NO -usip YES -useproxyport NO -contentInspectionProfileName ipsprof2
-
Add a load balancing virtual server.
add lb vserver <LB_VSERVER_NAME> TCP <IP> <port>
add lb vserver lb_inline_vserver TCP 192.0.2.100 *
-
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>
bind lb vserver lb_inline_vserver ips_service1 bind lb vserver lb_inline_vserver ips_service2
-
Specify the load balancing virtual server in the content inspection action.
add contentInspection action <name> -type INLINEINSPECTION -serverName <string>
add contentInspection action ips_action -type INLINEINSPECTION -serverName lb_inline_vserver
-
Add a content inspection policy. Specify the content inspection action in the policy.
add contentInspection policy <name> -rule <expression> -action <string>
add contentInspection policy ips_pol -rule "HTTP.REQ.METHOD.NE(\"CONNECT\")" -action ips_action
-
Add a proxy virtual server.
add cs vserver <name> PROXY <IPAddress> <port> -l2Conn ON
add cs vserver transparentcs PROXY * * -l2Conn ON
-
Bind the content inspection policy to the virtual server.
bind cs vserver <name> -policyName <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type REQUEST
bind cs vserver explicitcs -policyName ips_pol -priority 1 -gotoPriorityExpression END -type REQUEST
Configuration using the GUI
-
Navigate to System > Settings. In Modes and Features, click Configure Modes.
-
In the Configure Modes page, select the MAC based forwarding option.
-
Navigate to System > Settings. In Modes and Features, click Configure Advanced Features.
-
In the Configure Advanced Features page, select the Content Inspection option.
-
Navigate to System > Network > VLANs > Add. Add four VLANs and tag them to the interfaces.
-
Navigate to Security > Content Inspection > Content Inspection Profiles. Click Add.
-
Specify the ingress and egress VLANs.
-
Create another profiles. Specify a different ingress and egress VLAN in the second profile.
-
Navigate to Load Balancing > Services > Add and add a service.
-
In Advanced Settings, click Profiles. In the CI Profile Name list, select the content inspection profile created earlier.
-
In Service Settings, set Use Source IP Address to YES and Use Proxy Port to No. In Basic Settings, set Health Monitoring to 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.
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. -
-
Navigate to Load Balancing > Virtual Servers > Add. Create a TCP load balancing virtual server and Click OK.
-
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.
-
Navigate to Security > Proxy Virtual Servers> Add. Specify a name, IP address, and port. In Advanced Settings, select Policies. Click the "+" sign.
-
In Choose Policy select Content Inspection. Click Continue.
-
Click Add. Specify a name. In Action, click Add.
-
Specify a name. In Type, select INLINEINSPECTION. In Server Name, select the load balancing virtual server created earlier.
-
Click Create. Specify the rule and click Create.
-
Click Bind.
-
Click Done.