Manual Chapter : Implementing Proxy SSL on a Single BIG-IP System

Applies To:

  • BIG-IP AAM

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP APM

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP Analytics

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP Link Controller

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP LTM

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP PEM

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP AFM

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP DNS

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

  • BIG-IP ASM

    15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0

Implementing Proxy SSL on a Single BIG-IP System

When setting up the BIG-IP system to process application data, you might want the destination server to authenticate the client system directly, for security reasons, instead of relying on the BIG-IP system to perform this function. Retaining direct client-server authentication provides full transparency between the client and server systems, and grants the server final authority to allow or deny client access.

The feature that makes it possible for this direct client-server authentication is known as Proxy SSL. You enable this feature when you configure the Client SSL and Server SSL profiles.

Note: To use this feature, you must configure both a Client SSL and a Server SSL profile.

Without the Proxy SSL feature enabled, the BIG-IP system establishes separate client-side and server-side SSL connections and then manages the initial authentication of both the client and server systems.

With the Proxy SSL feature, the BIG-IP system makes it possible for direct client-server authentication by establishing a secure SSL tunnel between the client and server systems and then forwarding the SSL handshake messages from the client to the server and vice versa. After the client and server successfully authenticate each other, the BIG-IP system uses the tunnel to decrypt the application data and intelligently manipulate (optimize) the data as needed.

Ensure that at least one virtual server exists in the configuration before you start to create a load balancing pool.

Create a pool of systems with Access Policy Manager to which the system can load balance global traffic.

  1. On the Main tab, click DNS > GSLB > Pools.

    The Pool List screen opens.

  2. Click Create.

    The New Pool screen opens.

  3. In the General Properties area, in the Name field, type a name for the pool.

    Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.

    Important: The pool name is limited to 63 characters.

  4. From the Type list, depending on the type of the system (IPv4 or IPv6), select either an A or AAAA pool type.

  5. In the Configuration area, for the Health Monitors setting, in the Available list, select a monitor type, and move the monitor to the Selected list.

    Tip: Hold the Shift or Ctrl key to select more than one monitor at a time.

  6. In the Members area, for the Load Balancing Method settings, select a method that uses virtual server score:

    • VS Score - If you select this method, load balancing decisions are based on the virtual server score only.
    • Quality of Service - If you select this method, you must configure weights for up to nine measures of service, including VS Score. Virtual server score then factors into the load balancing decision at the weight you specify.
  7. For the Member List setting, add virtual servers as members of this load balancing pool.

    The system evaluates the virtual servers (pool members) in the order in which they are listed. A virtual server can belong to more than one pool.

    1. Select a virtual server from the Virtual Server list.

    2. Click Add.

  8. Click Finished.

To implement direct client-to-server SSL authentication, as well as application data manipulation, you perform a few basic configuration tasks. Note that you must create both a Client SSL and a Server SSL profile, and enable the Proxy SSL feature in both profiles.

Before you begin, verify that the client system, server system, and BIG-IP® system contain the appropriate SSL certificates for mutual authentication.

Important: The BIG-IP certificate and key referenced in a Server SSL profile must match those of the server system.

As you configure your network for Proxy SSL, keep in mind the following considerations:

  • Proxy SSL supports only the RSA key exchange. For proper functioning, the client and server must not negotiate key exchanges or cipher suites that Proxy SSL does not support, such as the Diffie-Hellman (DH) and Ephemeral Diffie-Hellman (DHE) key exchanges, and the Elliptic Curve Cryptography (ECC) cipher suite. To avoid this issue, you can either configure the client so that the ClientHello packet does not include DH, DHE, or ECC; or configure the server to not accept DH, DHE, or ECC.
  • Proxy SSL supports only the NULL compression method.

Create a custom server SSL profile to support SSL forward proxy.

  1. On the Main tab, click Local Traffic > Profiles > SSL > Server.

    The Server SSL profile list screen opens.

  2. Click Create.

    The New Server SSL Profile screen opens.

  3. In the Name field, type a unique name for the profile.

  4. For Parent Profile, retain the default selection, serverssl.

  5. Select the Proxy SSL check box (the rest of the UI will collapse following this setting).

  6. Optionally, select the Proxy SSL Passthrough check box.

    Note: This option is often not needed. Review the Knowledge Center article K13385: Overview of the Proxy SSL feature for guidelines on when to enable this setting and its implications.

  7. Configure the Certificate and Key using the identical Certificate and Key details configured on the server.

    Note: Import the details to the BIG-IP system prior to configuring Proxy SSL.

  8. Click Finished.

You create a custom Client SSL profile when you want the BIG-IP system to terminate client-side SSL traffic for the purpose of:

  • Authenticating and decrypting ingress client-side SSL traffic
  • Re-encrypting egress client-side traffic

By terminating client-side SSL traffic, the BIG-IP system offloads these authentication and decryption/encryption functions from the destination server.

  1. On the Main tab, click Local Traffic > Profiles > SSL > Client.

    The Client SSL profile list screen opens.

  2. Click Create.

    The New Client SSL Profile screen opens.

  3. In the Name field, type a unique name for the profile.

  4. Select clientssl in the Parent Profile list.

  5. Select the Proxy SSL check box (the rest of the UI will collapse following this setting).

  6. Optionally, select the Proxy SSL Passthrough check box.

    Note: This option is often not needed. Review the Knowledge Center article K13385: Overview of the Proxy SSL feature for guidelines on when to enable this setting and its implications.

  7. Configure the Certificate Key Chain.

    Note: The Certificate and Key under ClientSSL profile are not used in Proxy SSL (since the client and the server will eventually verify each other). F5 recommends leaving the default F5 cert/key pair.

  8. Click Finished.

You can specify a virtual server to be either a host virtual server or a network virtual server to manage application traffic.

  1. On the Main tab, click Local Traffic > Virtual Servers.

    The Virtual Server List screen opens.

  2. Click Create.

    The New Virtual Server screen opens.

  3. In the Name field, type a unique name for the virtual server.

  4. In the Destination Address/Mask field, type an address, as appropriate for your network.

    The supported format is address/prefix, where the prefix length is in bits. For example, an IPv4 address/prefix is 10.0.0.1 or 10.0.0.0/24, and an IPv6 address/prefix is ffe1::0020/64 or 2001:ed8:77b5:2:10:10:100:42/64. When you use an IPv4 address without specifying a prefix, the BIG-IP system automatically uses a /32 prefix.

  5. In the Service Port field:

    • If you want to specify a single service port or all ports, confirm that the Port button is selected, and type or select a service port.
    • If you want to specify multiple ports other than all ports, select the Port List button, and confirm that the port list that you previously created appears in the box.
  6. For the SSL Profile (Client) setting, from the Available list, select the name of the custom Client SSL proxy profile you previously created, and using the Move button, move the name to the Selected list.

    Important:

    To enable proxy SSL functionality, you can either:

    • Disassociate existing Client SSL and Server SSL profiles from a virtual server and configure the Proxy SSL settings.
    • Create new Client SSL and Server SSL profiles and configure the Proxy SSL settings. Then with either option, select the Client SSL and Server SSL profiles on a virtual server. You cannot modify existing Client SSL and Server SSL profiles while they are selected on a virtual server to enable proxy SSL functionality.
  7. For the SSL Profile (Server) setting, from the Available list, select the name of the custom Server SSL proxy profile you previously created and move the name to the Selected list.

    Important:

    To enable SSL proxy functionality, you can either:

    • Disassociate existing Client SSL and Server SSL profiles from a virtual server and configure the Proxy SSL settings.
    • Create new Client SSL and Server SSL profiles and configure the Proxy SSL settings. Then with either option, select the Client SSL and Server SSL profiles on a virtual server. You cannot modify existing Client SSL and Server SSL profiles while they are selected on a virtual server to enable SSL proxy functionality.
  8. Assign other profiles to the virtual server if applicable.

  9. In the Resources area, from the Default Pool list, select the name of the pool that you created previously.

  10. Click Finished.

The virtual server now appears in the Virtual Server List screen.

After you complete the tasks in this implementation, the BIG-IP system ensures that the client system and server system can initially authenticate each other directly. After client-server authentication, the BIG-IP system can intelligently decrypt and manipulate the application data according to the configuration settings in the profiles assigned to the virtual server.