Manual Chapter : Creating a Security Policy Automatically

Applies To:

Show Versions Show Versions

BIG-IP ASM

  • 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
Manual Chapter

Deployment scenarios when creating security policies

The Deployment wizard provides several different scenarios for creating and deploying security policies. Before you start creating a security policy, review the descriptions of each deployment scenario, to help you decide which one is most appropriate for your organization.

Deployment scenario Description
Create a policy automatically (recommended) Develops a security policy for a web application by examining traffic. In this scenario, the Real Traffic Policy Builder automatically creates the security policy based on statistical analysis of the traffic and the intended behavior of the application. The system stabilizes and enforces the security policy when it processes sufficient traffic over a period of time.
Create a policy manually or use templates (advanced) Uses rapid deployment or an application-ready security policy (pre-configured template) to develop a security policy, or lets you develop a policy manually. The system creates a basic security policy that you can review and fine-tune. When the security policy includes all the protections that you need and does not produce any false positives, you can enforce the security policy.
Create a policy for XML and web services manually Develops a security policy to protect web services or XML applications, such as those that use a WSDL or XML schema document. The system creates the security policy based on your configurations, and provides additional learning suggestions that you can review and fine-tune. When the security policy includes all the protections that you need and does not produce any false positives, you can enforce the security policy.
Create a policy using third party vulnerability assessment tool output Creates a security policy based on integrating the output from a vulnerability assessment tool, such as WhiteHat Sentinel, IBM Rational AppScan, Cenzic Hailstorm, QualysGuard, HP WebInspect, or a generic scanner if using another tool. Based on the results from an imported vulnerability report, Application Security Manager creates a policy that automatically mitigates the vulnerabilities on your web site. You can also review and fine-tune the policy. When the security policy includes all the protections that you need and does not produce any false positives, you can enforce the security policy.

Overview: Automatic policy building

You can use the Application Security Manager to automatically build a security policy that is tailored to your environment. The automatic policy building tool is called the Real Traffic Policy Builder. The Real Traffic Policy Builder (referred to simply as the Policy Builder) creates a security policy based on settings that you configure using the Deployment wizard, and the characteristics of the traffic going to and from the web application that the system is protecting.

Task summary

Creating a security policy automatically

Before you can create a security policy, you must perform the minimal system configuration tasks including defining a VLAN, a self IP address, and other tasks required according to the needs of your networking environment.
Application Security Manager can automatically create a security policy that is tailored to secure your web application.
  1. On the Main tab, click Security > Application Security > Security Policies. The Active Policies screen opens.
  2. Click the Create button. The Deployment wizard opens to the Select Local Traffic Deployment Scenario screen.
  3. For the Local Traffic Deployment Scenario setting, specify a virtual server to use for the security policy.
    • To secure an existing virtual server that has no security policy associated with it, select Existing Virtual Server and click Next.
    • To create a new virtual server and pool with basic configuration settings, select New Virtual Server and click Next.
    • To create an active but unused security policy, select Do not associate with Virtual Server and click Next. No traffic will go through this security policy until you associate it with a virtual server. The Policy Builder cannot begin automatically creating a policy until traffic is going to ASM through the virtual server.
    The virtual server represents the web application you want to protect. The Configure Local Traffic Settings screen opens if you are adding a virtual server. Otherwise, the Select Deployment Scenario screen opens.
  4. If adding a virtual server, configure the new or existing virtual server, and click Next.
    • If creating a new virtual server, specify the protocol, name, virtual server destination address and port, and pool member IP address and port.
    • If using an existing virtual server, it must have an HTTP profile and cannot be associated with a local traffic policy.
    • If you selected Do not associate with Virtual Server, you will have to manually associate the security policy with a virtual server at a later time. On the policy properties screen, you need to specify a name for the security policy.
    The name of the virtual server becomes the name of the security policy. The Select Deployment Scenario screen opens.
  5. For Deployment Scenario, select Create a policy automatically and click Next. The Configure Security Policy Properties screen opens.
  6. If not associating a virtual server, in the Security Policy Name field, type a name for the policy.
  7. From the Application Language list, select the language encoding of the application, or select Auto detect and let the system detect the language.
    Important: You cannot change this setting after you have created the security policy.
  8. If the application is not case-sensitive, clear the Security Policy is case sensitive check box. Otherwise, leave it selected.
    Important: You cannot change this setting after you have created the security policy.
  9. If you do not want the security policy to distinguish between HTTP and HTTPS URLs, clear the Differentiate between HTTP and HTTPS URLs check box. Otherwise, leave it selected.
  10. Click Next. The Configure Attack Signatures screen opens.
  11. To configure attack signatures, move the systems used by your web application from the Available Systems list into the Assigned Systems list. The system adds the attack signatures needed to protect the selected systems.
  12. For the Signature Staging setting, verify that the default option Enabled is selected.
    Note: Because the Real Traffic Policy Builder begins building the security policy in Blocking mode, you can keep signature staging enabled so you can check whether legitimate traffic is being stopped to reduce the chance of false positives.
    New and updated attack signatures remain in staging for 7 days, and are recorded but not enforced (according to the learn, alarm, and block flags in the attack signatures configuration) during that time.
  13. Click Next. The Configure Automatic Policy Building screen opens.
  14. For Policy Type, select an option to determine the security features to include in the policy.
    Option Description
    Fundamental Creates a security policy enforcing HTTP protocol compliance, evasion techniques, explicit file types (including length checks), explicit parameters in selective mode at the global level, attack signatures, the violation Request Length Exceeds Defined Buffer Size, host names, header lengths, cookie lengths, the violation Failed to Convert Character, and learn explicit redirection domains.
    Enhanced Creates a security policy with all the elements of the Fundamental policy type; also checks for explicit URLs in selective mode plus meta characters, explicit parameter length checks in selective mode at the global level, methods, explicit cookies, and content profiles.
    Comprehensive Creates a security policy with all the elements of the Enhanced policy type; also checks for explicit URLs and meta characters, explicit parameters and lengths at the URL level, parameter meta characters, and dynamic parameters.
    A bulleted list on the screen describes which security features are included in each type.
  15. For Rules, move the slider to set the Policy Builder learning speed.
    Option Description
    Fast Use if your application supports a small number of requests from a small number of sessions; for example, useful for web sites with less traffic. However, choosing this option may present a greater chance of adding false entities to the security policy.
    Medium Use if your application supports a medium number of requests, or if you are not sure about the amount of traffic on the application web site. This is the default setting.
    Slow Use if your application supports a large number of requests from many sessions; for example, useful for web sites with lots of traffic. This option creates the most accurate security policy, but takes Policy Builder longer to collect the statistics.
    Based on the option you select, the system sets greater or lesser values for the number of different user sessions, different IP addresses, and length of time before it adds to the security policy and enforces the elements.
  16. For Trusted IP Addresses, select which IP addresses to consider safe:
    Option Description
    All Specifies that the policy trusts all IP addresses. For example, if the traffic is in a corporate lab or preproduction environment where all of the traffic is trusted, the policy is created faster when you select this option.
    Address List Specifies networks to consider safe. Fill in the IP Address and Netmask fields, then click Add. This option is typically used in a production environment where traffic could come from untrusted sources. The IP Address can be either an IPv4 or an IPv6 address.
    If you leave the trusted IP address list empty, the system treats all traffic as untrusted. In general, it takes more untrusted traffic, from different IP addresses, over a longer period of time to build a security policy.
  17. If you want the security policy to automatically detect JSON and XML protocols, select the JSON/XML payload detection check box. If requests contain legitimate XML or JSON data, the Policy Builder creates content profiles in the security policy according to the data it detects.
  18. If you want to display a response page when an AJAX request does not adhere to the security policy, select the AJAX blocking response behavior check box.
  19. Click Next. The Security Policy Configuration Summary opens where you can review the settings to be sure they are correct.
  20. Click Finish to create the security policy. The Automatic Policy Building Status screen opens where you can view the current state of the security policy.
ASM creates the virtual server with an HTTP profile, and on the Security tab, Application Security Policy is enabled and associated with the security policy you created. A local traffic policy is also created and by default sends all traffic for the virtual server to ASM. The Policy Builder automatically begins examining the traffic to the web application and building the security policy (unless you did not associate a virtual server). The system sets the enforcement mode of the security policy to Blocking, but it does not block requests until the Policy Builder processes sufficient traffic, adds elements to the security policy, and enforces the elements.
Tip: This is a good point at which to test that you can access the application being protected by the security policy and check that traffic is being processed by the BIG-IP system.

How the security policy is built

When you finish running the Deployment wizard, you have created a basic security policy to protect your web application. The Real Traffic Policy Builder starts examining the application traffic, and fine-tunes the security policy using the guidelines you configured.

The Policy Builder builds the security policy as follows:

  • Adds policy elements and updates their attributes when ASM sees enough traffic from various users
  • Examines application content and creates XML or JSON profiles as needed (if the policy includes JSON/XML payload detection)
  • Configures attack signatures in the security policy
  • Stabilizes the security policy when sufficient sessions over a period of time include the same elements
  • Includes new elements if the site changes

The Policy Builder automatically discovers and populates the security policy with the policy elements (such as file types, URLs, parameters, and cookies). As the Policy Builder runs, you see status messages in the identification and messages area at the top of the screen. You can monitor general policy building progress, and see the number of elements that are included in the policy.

Automatic policy building characteristics

When you create a security policy using automatic policy building, it has the following characteristics:

  • The security policy starts out loose, allowing traffic, then the Policy Builder adds policy elements based on evaluating the traffic.
  • The system sets the enforcement mode of the security policy to Blocking, but does not block requests until the Policy Builder sees sufficient traffic, adds elements to the security policy, and enforces the elements.
  • The system holds attack signatures in staging for 7 days (by default): the system checks, but does not block traffic during the staging period. If a request causes an attack signature violation, the system disables the attack signature for the particular element (parameter, JSON or XML profile, or security policy). After the staging period is over, the Policy Builder can remove all attack signatures from staging if enough traffic from different sessions and different IP addresses was processed. The security policy enforces the enabled signatures and blocks traffic that causes a signature violation.
  • The system enforces elements in the security policy when it has processed sufficient traffic and sessions over enough time, from different IP addresses, to determine the legitimacy of the file types, URLs, parameters, cookies, methods, and so on.
  • The security policy stabilizes.
  • If the web site for the application changes, the Policy Builder initially loosens the security policy then adds policy elements to the security policy, updates the attributes of policy elements, puts the added elements in staging, and enforces the new elements when traffic and time thresholds are met.

Reviewing security policy status

You can monitor the general progress of the Real Traffic Policy Builder, see what policy elements the system has learned, and view additional details on the Automatic Policy Building Status screen.
  1. On the Main tab, click Security > Application Security > Policy Building > Status (Automatic). The Status (Automatic) screen opens where you can see the automatic policy building status, file types, URLs, parameters, and cookies that were added to the security policy.
  2. In the Current edited policy list near the top of the screen, verify that the edited security policy is the one you want to work on.
  3. Review any messages in the identification and messages area to learn what is currently happening on the system. For example, messages say when the Policy Builder is enabled, when the security policy was last updated, and the number of elements that were learned.
  4. Review the status of the Real Traffic Policy Builder.
    Option Description
    Enabled The system is configured to automatically build a security policy, and the Policy Builder is processing traffic.
    Disabled The system is not processing traffic. Check the automatic policy building configuration. If you did not associate a virtual server, you need to do that to process traffic.
    Detecting Language The system is still configuring the language after analyzing responses to identify the language of the web application. The Policy Builder is enabled, but it cannot add elements to the security policy until the language is set.
  5. Examine the General Progress of the security policy. A progress bar indicates the stability level of the security policy. The progress bar reaches 100% when the policy is stable, no new policy elements need to be added, and time and traffic thresholds have been reached.
  6. In the Policy Elements Learned table, review the number of elements that the Policy Builder has analyzed and added to the security policy, and the attributes that need to be updated.
    Tip: Click the number in the Elements column to see the specific elements that were added.
  7. Optionally, in the Details tree view, click the expand button for any item to learn more about that security policy element, what the system has seen so far, and what it will take to stabilize the element.
When enough traffic from unique sessions occurs over a period of time, the system starts to enforce the file types and other elements in the security policy. When enforced as part of a stable policy, the files types and other elements are removed from staging.

Reviewing outstanding security policy tasks

You can display a security policy summary including a list of action items. To simplify your work, the system reminds you of required or recommended actions, such as, outstanding configuration and maintenance tasks, and provides links to setup and reporting screens.
  1. On the Main tab, click Security > Overview > Application > Action Items. The Action Items screen opens.
  2. Examine the summary screen for information about recommended tasks that you need to complete.
    • Review the Suggested Action Items area, which lists system tasks and security policy tasks that should be completed.
    • Click the links to go to the screen where you can perform the recommended actions.
    • Review the progress of the Policy Builder for each security policy on which it is enabled.
    • Click any security policy task link to open the Summary screen, where you can view and resolve the tasks for that security policy.
  3. In the Quick Links area, click Policies Summary. The Policies Summary opens and shows a summary of all the active security policies on the system.
  4. In the Policy Details area, click the links to display details about a security policy.
    • Click the Policy Name to view or edit policy properties.
    • Click a security policy row (not on the policy name) to view Suggested Action Items, Quick Links, and Policy Builder Progress for that security policy (if Policy Builder is running).
    • Click a number in the File Types, URLs, Parameters, or Cookies column of a security policy to see details about these policy elements.
    • Click the status in the Real Traffic Policy Builder column to view the automatic security policy building status.
If you keep an eye on the summary screens, the system lists the tasks that you should complete to ensure that the security policy is configured completely.

About additional application security protections

The Application Security Manager provides additional security protections that you can manually configure for a security policy.

Feature Description and Location
DoS attack prevention Prevents Denial of Service (DoS) attacks based on latency and/or transaction rates (also using geolocation, CAPTCHA challenge, heavy URL detection, proactive web scraping detection, and blacklisting). Click Security > DoS Protection. You need to create a DoS profile with Application Security enabled to configure Layer 7 DoS protection.
Brute force attack prevention Protects the system against illegal login attempts where a hacker tries to log in to a URL numerous times, running many combinations of user names and passwords, until the intruder successfully logs in. Click Security > Application Security > Anomaly Detection > Brute Force Attack Prevention.
IP Address Intelligence Logs and blocks attacks from IP addresses that are in the IP Address Intelligence Database and are considered to have a bad reputation. Click Security > Application Security > IP Addresses > IP Address Intelligence.
Web scraping detection Mitigates web scraping (web data extraction) on web sites by attempting to determine whether a web client source is human. Click Security > Application Security > Anomaly Detection > Web Scraping.
CSRF protection Prevents cross-site request forgery (CSRF) where a user is forced to perform unwanted actions on a web application where the user is currently authenticated. Click Security > Application Security > CSRF Protection.
Sensitive data masking Protects sensitive data in responses such as a credit card number, U.S. Social Security number, or custom pattern. Click Security > Application Security > Data Guard. Create sensitive parameters if needed (they are also masked); click Security > Application Security > Parameters > Sensitive Parameters. As an additional protection, set the Mask Credit Card Numbers in Request Log option in the policy properties.
Anti-virus protection through an ICAP server Configures the system as an Internet Content Adaptation Protocol (ICAP) client so that an external ICAP server can inspect HTTP file uploads for viruses before releasing the content to the web server. To set up the ICAP server, click Security > Options > Application Security > Integrated Services > Anti-Virus Protection. To set the blocking settings (alarm and/or block) of the Virus Detected violation, click Security > Application Security > Blocking. Also check that the values of the system variables icap_uri and virus_header_name correspond to the ICAP server (Security > Options > Application Security > Advanced Configuration > System Variables).