F5 Community Training & Labs Edit on
F5 SSL Orchestrator Training Lab¶
Welcome¶
Welcome to F5’s SSL Orchestration Training series. The intended audience for these labs are security engineers that would like to leverage the SSL Orchestration tools offered by the F5 platform and gain regulatory visibility into the encrypted traffic on their networks. If you require a pre-built lab environment, please contact your F5 account team and they can provide access to environments on an as-needed basis.
The content contained here adheres to a DevOps methodology and automation pipeline. All content contained here is sourced from the following GitHub repository:
https://github.com/f5devcentral/f5-agility-labs-sslviz
Bugs and Requests for enhancements are handled in two ways:
- Fork the Github Repo, fix or enhance as required, and submit a Pull Request
- Open an Issue within the repository.
Class 1: SSL Orchestration¶
F5 SSL Orchestrator provides high-performance decryption of inbound and outbound SSL/TLS traffic, enabling security inspection to expose threats and stop attacks. Dynamic service chaining and policy-based traffic steering allow organizations to intelligently manage encrypted traffic flows across the entire security chain with optimal availability.
SSL Orchestrator ensures encrypted traffic can be decrypted, inspected by security controls, then re-encrypted, delivering enhanced visibility to mitigate threats traversing the network. As a result, organizations maximize their security services investment for malware, data loss prevention (DLP), ransomware, and next-generation firewalls (NGFW), thereby preventing inbound and outbound threats, including exploitation, callback, and data exfiltration.
This class covers the following topics:
- SSLO Deployment Settings
- Security Services Creation
- Classification and Interception Rules
- Outbound and Inbound Use cases
Expected time to complete: 4 hours
To continue please review the information about the Lab Environment.
Lab Topology¶
Environment | Username | Password |
---|---|---|
Window(s) RDP | student | agility |
Ubuntu(s) | student | agility |
BIG-IP SSH | root | F5agility!2 |
BIG-IP GUI | admin | F5agility!2 |
VLAN | Interface (tag) | Self-IP |
---|---|---|
client-net | 1.1 | 10.20.0.100 |
HTTP_in | 1.3 (110) | SSLO managed |
HTTP_out | 1.3 (120) | SSLO managed |
ICAP | admin | 10.70.0.10 |
L2_in | 1.6 | SSLO managed |
L2_out | 1.7 | SSLO managed |
L3_in | 1.3 (50) | SSLO managed |
L3_out | 1.3 (60) | SSLO managed |
Tap | 1.4 | SSLO managed |
outbound-net | 1.2 | 10.30.0.100 |
Module 1: Outbound SSLO¶
In this module we will learn the basic concepts required to deploy Outbound SSLO. Additionally, we will walk through creating services and interception rules. It’s important to note that this module will focus on demonstrating an Outbound SSLO.
We will be following the workflow in the following diagram for the SSLO configuration:
Lab 1.1: Deployment Settings¶
Task 1 - Create Outbound SSLO Deployment¶
In this lab, we will explore the settings required to deploy Outbound SSLO. First, we will cover the General Properties of the deployment. We will then configure the Egress, DNS, and Logging settings.
Note
This guide may require you to Copy/Paste information from the guide to your jumphost. To make this easier you can open a copy of the guide by using the Lab Guide bookmark in Firefox.
Open Firefox and navigate to the following bookmark: f5 BIG-IP. Bypass any SSL errors that appear and ensure you see the login screen for each bookmark:
Warning
We are using a self-signed certificate in this lab. In your environment you must make sure that you use certificates issued by your certificate authority for both production and lab equipment. Not doing so would make it possible for an attacker to do a man-in-the-middle attack and allow him the ability to steal passwords and tokens.
Authenticate to the interface using the default credentials as defined in the lab topology.
Navigate to
and click:In General Properties change the Deployment Name to sslo_agility_lab
In the Egress Configuration section set the following:
- Manage SNAT Settings –> Auto Map
- Gateways –> Specific gateways
- Add IPv4 gateway address 10.30.0.1
Leave the DNS settings at their defaults.
Change Logging level –> Debug
Note
The Debug log level should not be used in production unless recommended by f5 Support.
This completes the Deployment Settings setup. When your screen looks like the following, click Finished:
Note
The Strict Updates option protects against accidental changes to an application service’s configuration. The Strict Updates setting is checked by default.
Unless you have a specific reason to turn off strict updates, F5 recommends that you leave the setting enabled.
Lab 1.2: HTTP Service¶
Task 1 - Create SSLO HTTP Service¶
A service is a collection of security devices that will receive decrypted traffic from the SSLO solution. In this section, the HTTP Service will be created. An HTTP Service would typically be a Secure Web Proxy. The proxy could explicit or transparent.
Login to the BIG-IP with Firefox
Navigate to
and click:On the menu across the top of the main window pane, navigate to
and click:Click Create on the far right:
Enter the following information:
Property Value Name ssloS_HTTP_service Proxy Type Explicit To Service VLAN ssloN_HTTP_in.app/ssloN_HTTP_in Node –> IP Address 198.19.96.66 (click Add) From Service VLAN ssloN_HTTP_out.app/ssloN_HTTP_out Note
For To Service VLAN and From Service VLAN, use the drop-down menu to select the correct value.
Once your settings look like the following screenshot, click Finish:
Lab 1.3: ICAP Service¶
Task 1 - Create SSLO ICAP Service¶
A Service is a collection of security devices that will receive decrypted traffic from the SSLO solution. In this section, an ICAP Service will be created. An ICAP Service would typically be an Anti-Virus or DLP solution. It is important to have the correct Request and Response URIs for the solution and the appropriate Preview Max Length.
Login to the BIG-IP with Firefox
Navigate to
and click:On the menu across the top of the main window pane, navigate to
and click:Click Create on the far right
Enter the following values:
Property Value Name ssloS_ICAP_service ICAP Devices –> IP Address 10.70.0.10 (click Add) Request Replace /req with /squidclamav Response Replace /res with /squidclamav Preview Max Length 1048576 Once your settings look like the following screenshot, click Finish:
Lab 1.4: L2 Service¶
Task 1 - Create SSLO L2 Service¶
A Service is a collection of security devices that will receive decrypted traffic from the SSLO solution. In this section an L2 Service will be created. An L2 Service could be an IDS/IPS or DLP solution. Some refer to this as a “Bump in the Wire.”
Login to the BIG-IP with Firefox
Navigate to
and click:On the menu across the top of the main window pane, navigate to
and click:Click Create on the far right:
Enter the following values:
Property Value Name ssloS_L2_service Paths –> From BIGIP VLAN ssloN_L2_in.app/ssloN_L2_in Paths –> To BIGIP VLAN ssloN_L2_out.app/ssloN_L2_out (click Add) Once your settings look like the following screenshot, click Finished:
Lab 1.5: L3 Service¶
Task 1 - Create SSLO L3 Service¶
A Service is a collection of security devices that will receive decrypted traffic from the SSLO solution. In this section, an L3 Service will be created. An L3 Service would typically be an IDS/IPS, DLP, or Next-Gen Firewall (NGFW).
Login to the BIG-IP with Firefox
Navigate to
and click:On the menu across the top of the main window pane navigate to
and click:Click Create on the far right:
Enter the following values:
Property Value Name ssloS_L3_service To Service VLAN ssloN_L3_in.app/ssloN_L3_in Node –> IP Address 198.19.64.64 (click Add) From Service VLAN ssloN_L3_out.app/ssloN_L3_out Note
For To Service VLAN and From Service VLAN, use the drop-down menu to select the correct value.
Once your settings look like the following screenshot, click Finished:
Lab 1.6: TAP Service¶
Task 1 - Create SSLO TAP Service¶
A Service is a collection of security devices that will receive decrypted traffic from the SSLO solution. In this section, a TAP Service will be created. A TAP Service would typically be an IDS/IPS.
Login to the BIG-IP with Firefox
Navigate to
and click:On the menu across the top of the main window pane navigate to
and click:Click Create on the far right:
Enter the following values:
Property Value Name ssloS_TAP_service MAC Address 2c:c2:60:22:e4:23 VLAN ssloN_TAP_in.app/ssloN_TAP_in Interface 1.4 Note
For VLAN, use the drop-down menu to select the correct value.
Once your settings look like the following screenshot, click Finished:
Lab 1.7: Outbound Interception Rules¶
Task 1 - Interception Rules¶
Login to the BIG-IP with Firefox
Navigate to
and click:Click Install Default Rules…
Under Proxy Settings, configure these options:
Property Value Proxy Scheme Transparent and Explicit Proxy Server : Port 10.20.0.150 : 3128 Under Create New. This will redirect to a separate page for configuring SSL settings.
, selectName the configuration ssloT_ob_ssl
In the Client section, for Certificate Key Chains, select default.crt and default.key, and then click Add
Under CA Certificate Key Chains, select subca.f5demolabs.com.cer and subca.f5demolabs.com.key, and then click Add.
In the Server section, select ca-bundle.crt for Trusted Certificate Authority. Leave all other settings at the defaults. Click Finished.
The screen should have returned to the original Install Default Rules page. Under the Security section, from the Per Request Policy drop-down select Create New
Name the policy ssloP_ob_pol
Under TCP Service Chain, add and order the available services to both the Intercept Chain and Non Intercept Chain:
Repeat step (12) for UDP Service Chain
Click Finish.
Under Available VLANs and add to the Selected section.
, choose /Common/client-net from theClick Finish.
Lab 1.8: Testing¶
In order to test the configuration, we will open an HTTPS website and observe plain text traffic within the inspection zone.
Task 1 - Issuing Requests¶
Open a remote desktop (RDP) session to the Windows 7 Outbound Client and log in with the credentials referenced in the lab topology.
Open a web browser and navigate to some HTTPS URLs.
Observe the resigned certificate. (Pay attention to the Issued By line.)
SSH into the Layer 3 Security device with the credentials in the topology. Run a tcpdump with the following parameters:
sudo tcpdump -i eth5.60 -X
Observe the plain text HTTP traffic.
Module 2: Inbound SSLO¶
In this lab, we will explore the settings required to deploy Inbound SSLO. We will be deploying SSLO in Transparent Proxy mode. This single rule will provide visibility for all SSL sites behind the SSLO solution.
Lab 2.1: Inbound Interception Rules¶
Task 1 - Create a new Interception Rule¶
Task 2 - Create Wildcard Listener¶
In this step we will create a listener to intercept all inbound HTTPS traffic. After the configuration steps, this will be saved as a wildcard virtual server listening on port 443.
Under the General Properties section, configure the following values:
Property Value Name ssl_inbound_listener Destination Address/Mask 0.0.0.0/0 Service Port 443 Under the Security Policy section, select Create New.
The configuration GUI will redirect to the SSL settings configuration page.
In the General Settings section of the Security Policy, set the name to ssloT_inbound_ssl.
Note
For Inbound configurations the Forward Proxy option should be disabled
Under the Client-side SSL section, choose wildcard.f5demolabs.com.crt and wildcard.f5demolabs.com.key from the respective drop-down menus and click Add.
Under the section Server-side SSL, configure the following values:
Property Value Expire Certificate Response Control ignore Untrusted Certificate Response Control ignore Review the settings and click Finished. This will redirect back to the original Inbound Listener configuration screen.
Task 3 - Configure VLAN Settings¶
In this step, we will define which VLAN interface that our listener will accept connections.
Note
Since we are configuring only for inbound traffic, it is important that the wildcard listener only accept connections on the incoming interface. In this case, the VLAN labeled outbound.
In the VLANs section, choose the /Common/outbound VLAN from the Available List and click the left arrow to move it into Selected.
Under the Security Policy section, configure these values:
Property Value L7 Profile Type HTTP L7 Profile /Common/http Access Profile /Common/ssloP_outbound_ssl.app/ssloP_outbound_ssl_accessProfile Per Request Policy Create New Once redirected to the New Inbound Rule configuration:
- Create a name for the rule
- Add ICAP, TAP, and L2 services to the Intercept Chain section
- Repeat step (ii) for the Non Intercept Chain
- Click Finished
Verify the settings under Security Policy.
Click Finish
Lab 2.2: Testing¶
Open up a RDP session to the Inbound Win7 Client and log using the documented credentials.
Launch Firefox and expand the Inbound Testing` Bookmarks
Use SSH or the console to the Layer 2 Security device and log in using the documented credentials.
Choose one of the Test websites and open the page.
Run a tcpdump with the following parameters:
sudo tcpdump -i eth5.60 -X
Refresh the web page in the browser and observe the plain text HTTP traffic in the Layer 2 Security device console.
Module 3: Service Policies¶
In this lab, we will review and modify the Service Policies that are created by the Inbound and Outbound SSLO templates. Service Polices provide the classification to provide Dynamic Service chaining.
Lab 3.1: Reviewing the Policies¶
Task 1 - View the Per-Request Policies¶
Login to the BIG-IP with Firefox
Navigate to
Click the plus sign next to Show all for the ssloP_outbound_ssl row
Select the ssloP_outbound_ssl_prpTcp Per-Request policy
Review the general flow from categorization through Intercept policy to Service Chain
Expand the Macro: Categorization macro by clicking on Categorization in the boxed area or the plus symbol in the macro section.
Explore the SSL Check advanced Action Properties
Expand the SSL Intercept Policy macro. Notice that the Not Intercepted and Intercepted terminal endings differ based on the category and setting interception.
Explore the Category Branching Action Property
Expand the macros Service Chain Intercepted and Service Chain Not Intercepted
Explore the Action Properties in the Service Chains and notice the Connector Profiles
Task 2 - Modify the Intercept Policy¶
Expand the macro SSL Intercept Policy and click the Intercepted terminal ending
Select the Not Intercepted radio button, then Save
Repeat the test from Lab 1.8 and notice that traffic is not decrypted. Notice that this had the impact of all traffic bypassing inspection zone.
Undo the change by setting the terminal ending back to Intercepted and repeat test.
Task 3 - Modify Service Chain¶
Expand the macro named Service Chain Not Intercepted and remove the HTTP Service node by selecting the X in the corner. The X will turn red when you hover over it.
Click the Delete button in the Item delete confirmation dialogue box
View your results
Add the HTTP Service node back by selecting the plus key between TAP and L3 services
Select the Traffic Management tab, then the Service Connect item and click Add Item
Change the Name to HTTP Service, choose the HTTP Service item from the Connector Profile drop down menu named /Common/ssloS_HTTP_server.app/ssloS_HTTP_service-t-connector and then click Save at the bottom