Updated Date: 07/07/2026
Adding BIG-IP DataSafe to the BIG-IP System
BIG-IP® DataSafe™ provides two main types of security for protecting your data:
- Encrypting Data on the Application Level: BIG-IP DataSafe allows you to configure data encryption on the application level, so that sensitive data entered by a user on the client-side is protected against attempted fraud attacks that occur in the web application. Application Layer Encryption protects against credential theft from man-in-the-middle (MITM) and man-in-the-browser (MITB) attacks, verifies whether a user is trying to use a fabricated password, and encrypts credentials in real-time, at the time that data is entered.
- Detecting automated manipulation of data in URL parameters and AJAX requests: BIG-IP DataSafe protects against MITB attacks where data is changed when sent from the client to the web application server, by determining if parameter values were changed by malware after they left the user’s web browser for the server.
In order to use BIG-IP DataSafe in the BIG-IP system, you need to provision Fraud Protection Service (FPS) for BIG-IP DataSafe, create a BIG-IP DataSafe profile, create a virtual server, and associate the profile with that virtual server.
Note:
- The DataSafe Main JavaScript protects web applications with the content type text/html. If your web application is based on a different content type, you cannot apply the DataSafe Main JavaScript protection on it.
- In most cases, the virtual server that you will create for your profile will be an SSL virtual server.
-
Provisioning Fraud Protection Service for BIG-IP DataSafe using the Configuration utility
-
Provisioning Fraud Protection Service for BIG-IP DataSafe using TMSH
-
Configuring BIG-IP DataSafe with an HTTP compression profile
You must provision Fraud Protection Service (FPS) for BIG-IP DataSafe before performing any of the other tasks for adding BIG-IP DataSafe to the BIG-IP System. You can provision FPS either from the Configuration utility in the BIG-IP system, or from the TMSH TMOS Shell command line interface. The following steps explain how to provision FPS from the Configuration utility in the BIG-IP system.
-
On the Main tab, click System > Resource Provisioning.
-
Go to the Fraud Protection Service (FPS) row in the list of modules, and in the Provisioning column select the check box and select one of the options from the list:
- Dedicated: Specifies that the system allocates all CPU, memory, and disk resources to one module. When you select this option, the system sets all other modules to None (Disabled).
- Nominal: Specifies that, when first enabled, a module gets the least amount of resources required. Then, after all modules are enabled, the module gets additional resources from the portion of remaining resources.
- Minimum: Specifies that when the module is enabled, it gets the least amount of resources required. No additional resources are ever allocated to the module.
-
Click Submit.
You must provision Fraud Protection Service (FPS) for BIG-IP DataSafe before performing any of the other tasks for adding BIG-IP DataSafe to the BIG-IP System. You can provision FPS either from the Configuration utility in the BIG-IP system, or from the TMSH TMOS Shell command line interface. The following steps explain how to provision FPS from TMSH.
-
Open TMSH (
tmsh). -
View the current provisioning of the system by typing
list sys provisionin the command line.The system displays the provision configuration. In this example, the system has nominal provisioning for LTM and the other modules are not provisioned.
` sys provision afm { } sys provision am { } sys provision apm { } sys provision asm { } sys provision avr { } sys provision dos { } sys provision fps { } sys provision gtm { } sys provision ilx { } sys provision lc { } sys provision ltm { level nominal } sys provision pem { } sys provision sslo { } sys provision swg { } sys provision urldb { } ` -
Modify provisioning for the FPS module by typing
modify sys provision fps <level_type>in the command line, where <level_type> is one of the following:dedicated: Specifies that the system allocates all CPU, memory, and disk resources to one module. When you select this option, the system sets all other modules to None (Disabled).nominal: Specifies that, when first enabled, a module gets the least amount of resources required. Then, after all modules are enabled, the module gets additional resources from the portion of remaining resources.minimum: Specifies that when the module is enabled, it gets the least amount of resources required. No additional resources are ever allocated to the module. For example, to set FPS provisioning to nominal, typemodify sys provision fps level nominal
The system displays the provision configuration. In this example, the system now has nominal provisioning for FPS.
` sys provision afm { } sys provision am { } sys provision apm { } sys provision asm { } sys provision avr { } sys provision dos { } sys provision fps { level nominal } sys provision gtm { } sys provision ilx { } sys provision lc { } sys provision ltm { level nominal } sys provision pem { } sys provision sslo { } sys provision swg { } sys provision urldb { } ` -
Save the changes to the stored configuration by typing
save sys configin the command line. -
Verify the current provisioning of the system by typing
list sys provisionin the command line.
Before creating a node for a remote syslog server, you must first provision FPS for BIG-IP DataSafe.
Creating a node for a remote syslog server only necessary if you want alerts sent to a remote syslog server. If you don’t want alerts sent to a remote syslog server, skip this section
Note: An alternate way to create a node is to create a pool member. When you create a pool member, the BIG-IP system automatically creates the corresponding node. For example, if you create pool member 10.10.20.30:80, the system automatically creates a node with the address 10.10.20.30.
-
On the Main tab, expand Local Traffic, and click Nodes.
The Node List screen opens.
-
Click the Create button.
The New Node screen opens.
-
In the Name field, type a descriptive label for the node.
Names are case-sensitive.
-
In the Address field, types the IP address of the remote Syslog server.
-
Click Finished.
The screen refreshes, and the new node appears in the node list.
Before creating a pool for a remote syslog server, you should create a node for the remote syslog server.
Creating a pool for a remote syslog server only necessary if you want alerts sent to a remote syslog server. If you don’t want alerts sent to a remote syslog server, skip this section.
-
On the Main tab, click Local Traffic > Pools.
The Pool List screen opens.
-
Click Create.
The New Pool screen opens.
-
In the Name field, type a unique name for the pool.
-
At the New Members setting, select Node List.
-
In the Address field, select the IP address of the remote Syslog server.
-
In the Service Port field, select HTTP or HTTPS from the list.
-
Click Add.
-
Click Finished.
The new pool appears in the Pools list.
Before creating a web application server node, you must first provision FPS for BIG-IP DataSafe.
Local traffic pools use nodes as resources for load balancing. A node is an IP address that represents a server resource, which hosts applications.
Note:
- If you plan to add your BIG-IP DataSafe profile to an existing virtual server (i.e., you are not going to create a new virtual server for your profile), you do not need to create a new web application node.
- An alternate way to create a node is to create a pool member. When you create a pool member, the BIG-IP system automatically creates the corresponding node. For example, if you create pool member
10.10.20.30:80, the system automatically creates a node with the address10.10.20.30.
-
On the Main tab, expand Local Traffic, and click Nodes.
The Node List screen opens.
-
Click the Create button.
The New Node screen opens.
-
In the Name field, type a descriptive label for the node.
Names are case-sensitive.
-
In the Address field, type the IP address of the web application server.
-
Click Finished.
The screen refreshes, and the new node appears in the node list.
Before creating a web application server pool, you must first create a web application server node.
You can create a pool of servers that you can group together to receive and process traffic.
Note:
- If you plan to add your BIG-IP DataSafe profile to an existing virtual server (i.e., you are not going to create a new virtual server for your profile), you do not need to create a new web application pool.
- Repeat the following steps for each desired pool.
-
On the Main tab, click Local Traffic > Pools.
The Pool List screen opens.
-
Click Create.
The New Pool screen opens.
-
In the Name field, type a unique name for the web application pool.
-
Using the New Members setting, add each resource that you want to include in the pool:
-
Select Node List.
-
For the Address option, select the IP address of the web application server.
-
For the Service Port option, select HTTP or HTTPS from the list.
-
Click Add.
-
-
Click Finished.
The new pool appears in the Pools list.
Before creating a remote high-speed log destination, ensure that at least one pool of remote log servers exists on the BIG-IP system.
Create a log destination of the Remote High-Speed Log type if you want to have alerts sent to a remote syslog server. If you don’t want alerts sent to a remote syslog server, skip this section.
-
On the Main tab, click System > Logs > Configuration > Log Destinations.
The Log Destinations screen opens.
-
Click Create.
-
In the Name field, type a unique, identifiable name for this destination.
-
From the Type list, select Remote High-Speed Log.
-
From the Pool Name list, select the remote syslog server pool that you defined previously.
-
From the Protocol list, select the TCP protocol.
-
Click Finished.
Create a log publisher to specify where the BIG-IP system sends alert messages.
Note: If you want alerts sent to a remote syslog server, you need to create two log publishers, one for the local syslog server and one for the remote syslog server.
-
On the Main tab, click System > Logs > Configuration > Log Publishers.
The Log Publishers screen opens.
-
Click Create.
-
In the Name field, type a unique, identifiable name for this publisher.
-
For the Destinations setting, select local-syslog from the Available list, and click << to move the destination to the Selected list.
-
Click Finished.
The list of Log Publishers appears, showing the Log Publisher you just created.
-
If you want to have alerts sent to a remote syslog server, repeat steps 2-5, and at step 4 select the log destination that you created previously from the Available list.
Typically, when you create your initial profile, you will want to:
- Set general properties for the profile in the Profile Properties screen
- Define URLs to be included in the profile
- Set one of the URLs to be a login page
- Configure a post-login URL (in certain situations)
Therefore, the instructions for creating an initial profile are presented according to these four stages.
Note: The DataSafe Main JavaScript protects web applications with the content type text/html and application/xhtml+xml. If your web application is based on a different content type, you cannot apply the DataSafe Main JavaScript protection on it.
Configure general properties for a BIG-IP DataSafe profile to ensure proper encryption of data on your web site.
-
On the Main tab, click Security > Data Protection > BIG-IP DataSafe.
The BIG-IP DataSafe screen opens.
-
Click Create.
The Create New DataSafe Profile screen opens.
-
Select the Customize All check box.
-
In the Profile Name field, type a unique name for the profile.
-
From the Parent Profile list, choose which parent profile you want to base your profile on.
Note:
- All undefined properties in the profile you are creating will be inherited from the parent profile. And any future changes to those properties in the parent profile will be automatically inherited by the profile you are creating.
- URL properties are not inherited.
-
If you previously created a Log Publisher for a remote Syslog server, select it from the Log Publisher list.
-
From the Local Syslog Publisher list, select the Log Publisher that you previously created for the local Syslog server.
-
If your web application is case-sensitive to URLs and SPA views, do the following:
-
Click Advanced in the General Settings section.
The Advanced settings appear.
-
For the URLs are case sensitive setting, select the Enabled check box.
Note:
- You should enable this setting only if your web application is case-sensitive to URLs and SPA views.
- This setting cannot be changed after initial creation of your profile and does not affect URL parameters in the profile.
-
-
Click Create.
The BIG-IP DataSafe profile has been created.
After creating your the profile, you should define the URLs that you want to include in your profile.
Define URLs in your BIG-IP DataSafe profile to ensure proper protection of your web site.
-
On the Main tab, click Security > Data Protection > BIG-IP DataSafe.
The BIG-IP DataSafe screen opens.
-
From the list of profiles, select the profile on which you want to define a URL.
The DataSafe Profile Properties screen opens.
-
In the DataSafe Configuration area, click URL List.
The URL List opens.
-
Click the Add URL button.
The Create New URL screen opens.
-
In the URL Path field, choose one of the following types for the URL path:
- Explicit: Assign a specific URL path.
- Wildcard: Assign a wildcard expression URL. Any URL that matches the wildcard expression is considered legal and will receive protection. For example, typing the wildcard expression
/*specifies that any URL is allowed. Note: All URLs must start with a slash (/), for both Explicit and Wildcard types.
-
If you chose Explicit, type the URL path.
-
If you chose Wildcard, type the wildcard expression URL and if you want it to include a query string, select the Include Query String check box.
The syntax for wildcard entities is based on shell-style wildcard characters. This following table lists the wildcard characters that you can use so that the entity name matches multiple objects.
Wildcard character Matches * All characters ? Any single character [abcde] Exactly one of the characters listed [!abcde] Any character not listed [a-e] Exactly one character in the range [!a-e] Any character not in the range If a wildcard character is actually used as part of a real URL and you don’t want it to be treated as a wildcard character, use
\and then the character to indicate that it should not be used as a wildcard character.Note: Regular expressions should not be used in Wildcard URLs.
-
Click Advanced.
-
If you want the BIG-IP DataSafe Main JavaScript to run on the web page of the URL, select the Enabled check box for Inject Main JavaScript (selected by default).
When this setting is enabled, the BIG-IP DataSafe Main JavaScript also runs on all SPA views on this URL that are configured in the profile.
Note:
- The DataSafe Main JavaScript protects web applications with the content types text/html and application/xhtml+xml. If your web application is based on a different content type, you cannot apply the DataSafe Main JavaScript protection on it.
- Inject Main JavaScript can be disabled for web pages that do not require fraud protection and only receive data from a protected page.
-
If you want to change the default location where the BIG-IP DataSafe Main JavaScript is injected in the URL’s web page, at Location of Main JavaScript Injection, do the following:
- Select a position for the Main JavaScript (either before or after the tag you define).
- In the Tag field, type the tag for determining where the Main JavaScript is placed. Note: The BIG-IP DataSafe Main JavaScript must be injected into the web page HTML before the CSS Element.
-
If you want to change the default location of the Disabled JavaScript Detection Tag, at Location of Disabled JavaScript Detection Tag do the following:
- Select a position for the Disabled JavaScript Detection Tag (either before or after the tag you define).
- In the Tag field, type the tag for determining where the Disabled JavaScript Detection Tag is placed. The Disabled JavaScript Detection Tag detects if JavaScript has been disabled in your web browser.
Note:
- For Internet Explorer browsers 9.0 and later versions, Disabled JavaScript Detection is not supported if the content type of your web application response is xhtml.
- For web browsers other than Internet Explorer, if the content type of your web application response is xhtml you must use the default settings After and body.
-
Leave the Additional function to be run before JavaScript load field blank unless instructed otherwise by F5.
-
Click Create to save your initial URL settings.
Set a URL or Single Page Application (SPA) view in your profile to be a login page if you want to encrypt data on a login page in your web site.
-
On the Main tab, click Security > Data Protection > BIG-IP DataSafe.
The BIG-IP DataSafe screen opens.
-
From the list of profiles, select the relevant profile.
The DataSafe Profile Properties screen opens.
-
In the DataSafe Configuration area, click URL List.
The URL List opens.
-
Click the URL or view that you want to set as the login page, or click Add URL (or Add View) if you want to create a new URL or view to be a login page.
-
In the URL Configuration (or View Configuration) area, select Parameters.
The Parameters list is displayed.
-
Click the Add button.
The Parameter Settings screen opens.
-
In the Parameter Name field, choose one of the following types for the parameter name:
- Explicit: Assign a specific parameter name.
- Wildcard: Assign a wildcard expression for the parameter name. Any parameter name that matches the wildcard expression is considered legal and receives protection. For example, typing the wildcard expression
*specifies that any parameter name is allowed.
-
If you chose Explicit, type the parameter name.
-
If you chose Wildcard, type the wildcard expression.
The syntax for wildcard entities is based on shell-style wildcard characters. This following table lists the wildcard characters that you can use so that the entity name matches multiple objects.
Wildcard character Matches * All characters ? Any single character [abcde] Exactly one of the characters listed [!abcde] Any character not listed [a-e] Exactly one character in the range [!a-e] Any character not in the range If a wildcard character is actually used as part of a parameter name and you don’t want it to be treated as a wildcard character, use
\and then the character to indicate that it should not be used as a wildcard character.Note: A regular expression should not be used as part of the wildcard expression for a parameter name.
-
Select Identify as Username.
Note: Only one parameter per URL can have the attribute Identify as Username.
-
Click Create and then Back to URL (or Back to View).
-
Under URL Configuration (or View Configuration) select Login Page Properties.
Note: Configuring the Login Page Properties is not required but recommended because a login cannot be verified as successful unless at least one of the criteria in the Login Page Properties is configured.
-
For the URL is Login Page setting, select the Yes check box.
The Login Page Properties appear.
Note: If URL is Login Page is enabled, you must configure at least one of the Login Page Properties. If you configure more than one Login Page Property, then all the criteria for all properties must be fulfilled for the BIG-IP system to consider the login successful.
-
In the A string that should appear in the response body field, type a string that should appear in the successful response to the login URL.
-
In the A string that should NOT appear in the response body field, type a string that should not appear in the successful response to the login URL.
-
In the Expected HTTP response status code field, select Specify and type the HTTP response status code that the server must return to the user upon successful login, or select None.
Note: If you select None, HTTP response code is not used to determine a successful login.
-
In the Expected response header field, type a header name that the successful response to the login URL must match.
-
In the Expected cookie name field, type a cookie name that the successful response to the login URL must include.
-
Click Save.
The Login Page and Parameter settings are saved.
If the form action in the HTTP request from the login page does not refer to the login page URL, you need to also configure a post-login URL.
You need to configure a post-login URL only if the login page sends the login request to a URL that is different from the login URL. (For example, the login page URL is /login.jsp, but it sends the user name and password to /validate.jsp).
Configure a post-login URL to ensure that the BIG-IP system can retrieve the user name and decrypt the password.
-
On the Main tab, click Security > Data Protection > BIG-IP DataSafe.
The BIG-IP DataSafe screen opens.
-
From the list of profiles, select the relevant profile.
The DataSafe Profile Properties screen opens.
-
In the DataSafe Configuration area, click URL List.
The URL List opens.
-
Select the check box next to the login URL.
-
Click the Clone button.
The Clone URL pop-up screen opens.
-
In the URL Path field, type the URL that is referred to in the form action of the HTTP request.
-
Optional: In the Description field, type a description for the URL.
-
If you don’t want detection of automated data manipulation to run on the web page of the post-login URL disable the Inject JavaScript setting.
-
If the login URL contains SPA views and you want the post-login URL to inherit those views, select the Enabled check box by Views.
-
Select the Enabled check box by Parameters.
-
Click the Clone button in the Clone URL pop-up screen.
Note: Once the new URL is created, there is no further dependency on the source URL and any future changes made to the source URL are not inherited by the new URL.
The BIG-IP system creates the post-login URL.
This procedure should be performed only if SNAT or Auto Map is used for Source Address Translation in the virtual server.
An HTTP profile defines the way that you want the BIG-IP system to manage HTTP traffic.
-
On the Main tab, click Local Traffic > Profiles > Services > HTTP.
The HTTP profile list screen opens.
-
Click Create.
The New HTTP Profile screen opens.
-
In the Name field, type a unique name for the profile.
-
Select the Custom check box.
-
In the Insert X-Forwarded-For field, select Enabled.
-
Click Finished.
The custom HTTP profile now appears in the HTTP profile list screen.
You can create a virtual server on the BIG-IP system, where clients send application requests. The virtual server manages the network resources for the web application that you are securing with a security policy.
-
On the Main tab, click Local Traffic > Virtual Servers.
The Virtual Server List screen opens.
-
Click Create.
The New Virtual Server screen opens.
-
In the Name field, type a unique name for the virtual server.
-
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.1or10.0.0.0/24, and an IPv6 address/prefix isffe1::0020/64or2001: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/32prefix. -
In the Service Port field, type
80, or select HTTP from the list. -
From the HTTP Profile list:
-
If you previously created an HTTP profile, then select the profile you created.
-
Otherwise, select http.
-
-
From the Source Address Translation list, select the appropriate translation.
-
From the Default Pool list, select the pool that is configured for the application server.
-
Click Finished.
In order to complete the process of adding BIG-IP DataSafe™ to a virtual server, you need to associate the profile with the virtual server.
Note: If the virtual server that you associate with your BIG-IP DataSafe profile also has an HTTP compression profile associated with it, you must perform the instructions in the following section Configuring BIG-IP DataSafe with an HTTP compression profile.
-
On the Main tab, click Local Traffic > Virtual Servers.
The Virtual Server List screen opens.
-
Click the name of the virtual server you want to modify.
-
On the menu bar, from the Security menu, choose Policies.
-
From the Anti-Fraud Profile list, select Enabled, and then from the Profile list, select the profile you created previously.
-
Click Update to save the changes.
If the virtual server that you associated with your BIG-IP DataSafe profile also has an HTTP compression profile associated with it, you must perform the instructions in the following section Configuring BIG-IP DataSafe with an HTTP compression profile .
The instructions in this section are relevant only if your BIG-IP DataSafe™ profile is associated with a virtual server that also has an HTTP compression profile associated with it.
If your BIG-IP DataSafe profile is associated with a virtual server that also has an HTTP compression profile associated with it, you must perform the following steps to ensure that your web site is not disabled.
-
On the Main tab, click Security > Data Protection > BIG-IP DataSafe.
The BIG-IP DataSafe screen opens.
-
From the list of profiles, select the relevant profile.
The DataSafe Profile Properties screen opens.
-
In the General Settings area of the DataSafe Profile Properties screen, click Advanced.
The Advanced settings appear.
-
At JavaScript Configuration Directory, copy the path.
-
On the Main tab, go to Local Traffic > Profiles > Services > HTTP Compression.
-
In the list of profiles, click on the HTTP compression profile that is associated with the same virtual server as your BIG-IP DataSafe profile.
-
In the URI List section, at URI paste the path of the JavaScript Configuration Directory.
-
In the URI List section, click Exclude.
-
At the bottom of the screen, click Update.
-
In the BIG-IP command line, set the BigDB variable for Datasync with the following command:
tmsh modify sys db variable datasync.gzip_fpm value enable