BIG-IP Application Security Manager Getting Started Guide
BIG-IP Application Security Manager Getting Started Guide
version 10.2
MAN-0285-02
Product Version
This manual applies to product version 10.2 of the BIG-IP Application Security Manager.
Publication Date
This manual was published on May 3, 2010.
Legal Notices
Copyright
Copyright 2010, F5 Networks, Inc. All rights reserved. F5 Networks, Inc. (F5) believes the information it furnishes to be accurate and reliable. However, F5 assumes no responsibility for the use of this information, nor any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent, copyright, or other intellectual property right of F5 except as specifically described by applicable user licenses. F5 reserves the right to change specifications at any time without notice.
Trademarks
F5, F5 Networks, the F5 logo, BIG-IP, 3-DNS, Access Policy Manager, APM, Acopia, Acopia Networks, Application Accelerator, Ask F5, Application Security Manager, ASM, ARX, Data Guard, Edge Client, Edge Gateway, Enterprise Manager, EM, FirePass, FreedomFabric, Global Traffic Manager, GTM, iControl, Intelligent Browser Referencing, Internet Control Architecture, IP Application Switch, iRules, Link Controller, LC, Local Traffic Manager, LTM, Message Security Module, MSM, NetCelera, OneConnect, Packet Velocity, Protocol Security Module, PSM, Real Traffic Policy Builder, SSL Accelerator, SYN Check, Traffic Management Operating System, TMOS, TrafficShield, Transparent Data Reduction, uRoam, VIPRION, WANJet, WAN Optimization Module, WOM, WebAccelerator, WA, and ZoneRunner, are trademarks or service marks of F5 Networks, Inc., in the U.S. and other countries, and may not be used without F5's express written consent. All other product and company names herein may be trademarks of their respective owners.
Patents
This product protected by U.S. Patent 6,311,278. Other patents pending.
RF Interference Warning
This is a Class A product. In a domestic environment this product may cause radio interference, in which case the user may be required to take adequate measures.
FCC Compliance
This equipment has been tested and found to comply with the limits for a Class A digital device pursuant to Part 15 of FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This unit generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference, in which case the user, at his own expense, will be required to take whatever measures may be required to correct the interference. Any modifications to this device, unless expressly approved by the manufacturer, can void the user's authority to operate this equipment under part 15 of the FCC rules.
Standards Compliance
This product conforms to the IEC, European Union, ANSI/UL and Canadian CSA standards applicable to Information Technology products at the time of manufacture.
Acknowledgments
This product includes software developed by Bill Paul. This product includes software developed by Jonathan Stone. This product includes software developed by Manuel Bouyer. This product includes software developed by Paul Richards. This product includes software developed by the NetBSD Foundation, Inc. and its contributors. This product includes software developed by the Politecnico di Torino, and its contributors. This product includes software developed by the Swedish Institute of Computer Science and its contributors. This product includes software developed by the University of California, Berkeley and its contributors. This product includes software developed by the Computer Systems Engineering Group at the Lawrence Berkeley Laboratory. This product includes software developed by Christopher G. Demetriou for the NetBSD Project. This product includes software developed by Adam Glass. This product includes software developed by Christian E. Hopps. This product includes software developed by Dean Huxley. This product includes software developed by John Kohl. This product includes software developed by Paul Kranenburg. This product includes software developed by Terrence R. Lambert. This product includes software developed by Philip A. Nelson. This product includes software developed by Herb Peyerl. This product includes software developed by Jochen Pohl for the NetBSD Project. This product includes software developed by Chris Provenzano. This product includes software developed by Theo de Raadt. This product includes software developed by David Muir Sharnoff. This product includes software developed by SigmaSoft, Th. Lockert. This product includes software developed for the NetBSD Project by Jason R. Thorpe. This product includes software developed by Jason R. Thorpe for And Communications, http://www.and.com. This product includes software developed for the NetBSD Project by Frank Van der Linden. This product includes software developed for the NetBSD Project by John M. Vinopal. This product includes software developed by Christos Zoulas. This product includes software developed by the University of Vermont and State Agricultural College and Garrett A. Wollman. In the following statement, "This software" refers to the Mitsumi CD-ROM driver: This software was developed by Holger Veit and Brian Moore for use with "386BSD" and similar operating systems. "Similar operating systems" includes mainly non-profit oriented systems for research and education, including but not restricted to "NetBSD," "FreeBSD," "Mach" (by CMU). This product includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). This product includes software licensed from Richard H. Porter under the GNU Library General Public License ( 1998, Red Hat Software), www.gnu.org/copyleft/lgpl.html. This product includes the standard version of Perl software licensed under the Perl Artistic License ( 1997, 1998 Tom Christiansen and Nathan Torkington). All rights reserved. You may find the most current standard version of Perl at http://www.perl.com. This product includes software developed by Jared Minch.
ii
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product contains software based on oprofile, which is protected under the GNU Public License. This product includes RRDtool software developed by Tobi Oetiker (http://www.rrdtool.com/index.html) and licensed under the GNU General Public License. This product contains software licensed from Dr. Brian Gladman under the GNU General Public License (GPL). This product includes software developed by the Apache Software Foundation (http://www.apache.org). This product includes Hypersonic SQL. This product contains software developed by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and others. This product includes software developed by the Internet Software Consortium. This product includes software developed by Nominum, Inc. (http://www.nominum.com). This product contains software developed by Broadcom Corporation, which is protected under the GNU General Public License. This product includes the Zend Engine, freely available at http://www.zend.com. This product contains software developed by NuSphere Corporation, which is protected under the GNU Lesser General Public License. This product contains software developed by Erik Arvidsson and Emil A Eklund. This product contains software developed by Aditus Consulting. This product contains software developed by Dynarch.com, which is protected under the GNU Lesser General Public License, version 2.1 or above. This product contains software developed by MaxMind LLC, and is protected under the GNU Lesser General Public License, as published by the Free Software Foundation. This product contains software developed by InfoSoft Global (P) Limited. This product includes software written by Steffen Beyer and licensed under the Perl Artistic License and the GPL. This product includes software written by Makamaka Hannyaharamitu 2007-2008.
iii
iv
Table of Contents
Table of Contents
1
Getting Started with BIG-IP Application Security Manager
Getting started with creating a security policy ........................................................................1-1 Creating a security policy for a production site .............................................................1-1 Creating a security policy for a QA lab or test site ......................................................1-1 Creating a security policy for a web service or XML application ..............................1-2 Creating a security policy from a template ......................................................................1-2 Getting started with the user interface .....................................................................................1-3 Overview of components of the Configuration utility ..................................................1-4 Browser support ....................................................................................................................1-4 Finding help and technical support ..............................................................................................1-5 Exploring related documentation .......................................................................................1-5
2
Performing Basic Configuration Tasks
Getting started with basic configuration tasks .........................................................................2-1 Configuring a VLAN .......................................................................................................................2-3 Configuring a self IP address ........................................................................................................2-4 Defining a local traffic pool ...........................................................................................................2-5 Defining an application security class .........................................................................................2-6 Creating a virtual server ................................................................................................................2-7 Optional network configuration tasks .......................................................................................2-8
3
Creating a Security Policy Automatically
Overview of creating a security policy with the Real Traffic Policy Builder .....................3-1 Designing security to meet your requirements ..............................................................3-1 Creating a security policy ..............................................................................................................3-3 Fine-tuning the security policy .....................................................................................................3-5 Reviewing security policy status ..................................................................................................3-5 Updating attack signatures automatically ..................................................................................3-9 Adding more security protection ............................................................................................. 3-10
4
Creating a Security Policy for Web Services
Overview of creating a security policy for web services .......................................................4-1 Designing XML security for your application ..................................................................4-1 Creating a web service security policy ......................................................................................4-2 Creating an XML profile ................................................................................................................4-3 Creating a basic XML profile ...............................................................................................4-4 Creating an XML profile with WSDL validation .............................................................4-5 Creating an XML profile with XML schema validation .................................................4-7 Associating an XML profile with a URL or parameter ..................................................4-8 Developing the security policy using traffic ..............................................................................4-9 Fine-tuning the security policy .................................................................................................. 4-10 Enforcing the security policy ..................................................................................................... 4-12 Customizing the blocking response page ............................................................................... 4-13
vii
Table of Contents
5
Creating a Security Policy Using Rapid Deployment
Overview of Rapid Deployment ..................................................................................................5-1 Creating a Rapid Deployment security policy ..........................................................................5-2 Fine-tuning the rapid deployment policy ...................................................................................5-3 Enforcing the security policy ........................................................................................................5-4
6
Deploying an Application-Ready Security Policy
Overview of application-ready security templates ..................................................................6-1 Creating an application-ready security policy ..........................................................................6-2 Fine-tuning the application-ready security policy ....................................................................6-3 Enforcing the security policy ........................................................................................................6-4
A
Deployment Scenario Settings
Settings for Production Site deployment ..................................................................................A-1 Policy Builder settings ..........................................................................................................A-2 Settings for QA Lab deployment ................................................................................................A-4 Settings for Web Services deployment .....................................................................................A-5 Settings for Rapid Deployment ...................................................................................................A-6
Glossary Index
viii
1
Getting Started with BIG-IP Application Security Manager
Getting started with creating a security policy Getting started with the user interface Finding help and technical support
1-1
Chapter 1
Rapid Deployment You want to deploy quickly a preconfigured security policy that provides application security protection against known vulnerabilities. Refer to Chapter 5, Creating a Security Policy Using Rapid Deployment, for more information.
Application-Ready Security Policy You want to use a preconfigured security policy for one of the following enterprise applications: Microsoft ActiveSync 1.0 or 2.0 Lotus Domino 6.5 Microsoft Outlook Web Access Exchange (2003 and 2007) Microsoft Outlook Web Access Exchange (2003 and 2007) with ActiveSync Microsoft SharePoint (2003 and 2007) SAP NetWeaver 7 Oracle 10g Oracle Applications 11i PeopleSoft Portal 9 WhiteHat Sentinel Baseline Refer to Chapter 6, Deploying an Application-Ready Security Policy, for more information.
1-2
1-3
Chapter 1
The identification and messages area The identification and messages area of the Configuration utility is the screen region that is above the navigation pane, the menu bar, and the body. In this area, you find the system identification, including the host name, and management IP address. This area is also where certain system messages display, for example Activation Successful, which appears after a successful licensing process. The navigation pane The navigation pane, on the left side of the screen, contains the Main tab, the Help tab, and the About tab. The Main tab provides links to the major configuration objects. The Help tab provides context-sensitive help for each screen in the Configuration utility. The About tab provides overview information about the BIG-IP system. The menu bar The menu bar, which is above the body, provides links to additional screens. The body The body is the screen area where the configuration settings display, and where the user configures the system.
Browser support
The Application Security Manager works with a majority of the commonly available web browsers, for example, Microsoft Internet Explorer and Mozilla Firefox. For the most current list of the supported browsers, refer to the current release note on the Ask F5SM Knowledge Base web site, https://support.f5.com.
1-4
Online help Application Security Manager provides online help for each screen. The online help contains descriptions of each control and setting on the screen. Click the Help tab in the navigation pane to view the online help. Welcome screen The Welcome screen contains links to many useful web sites and resources, including the Ask F5SM Knowledge Base, the F5 Solution Center, the F5 DevCentral web site, plug-ins, SNMP MIBs, and SSH clients. The screen is shown previously in Figure 1.1, on page 1-3. F5 Technical Support web site The F5 Technical Support web site, https://support.f5.com, provides the latest documentation for the product. To access this site, you need to register at https://support.f5.com.
This guide is written with the assumption that you have installed the BIG-IP system, and have licensed and provisioned the Application Security Manager on the system. Refer to the product documentation (described following) if you need more information on these tasks. In addition to this guide, you can refer to several other documents for details about the BIG-IP system and Application Security Manager. The complete documentation set is available on the F5 Technical Support web site, https://support.f5.com. The following guides are particularly useful for configuring Application Security Manager:
Configuration Guide for BIG-IP Application Security Manager This guide explains how to fine-tune security policies to include additional security, such as anomaly detection, CSRF protection, sensitive data masking, and antivirus protection through an ICAP server. It also describes security reporting tools. BIG-IP Systems: Getting Started Guide This guide describes all the setup tasks you must complete to install, license, provision, and configure initial settings for any BIG-IP system. TMOS Management Guide for BIG-IP Systems This guide contains information you need to configure and maintain the network and system-related components of the BIG-IP system, such as configuring VLANs, assigning self IP addresses, creating administrative user accounts, and maintaining high availability.
1-5
Chapter 1
Configuration Guide for BIG-IP Local Traffic Manager This guide contains information you need for configuring the BIG-IP system to manage local network traffic, such as creating virtual servers and load balancing pools, configuring application and protocol profiles, implementing health monitors, and setting up remote authentication. Platform Guides The platform guides include information about the BIG-IP system hardware.
1-6
2
Performing Basic Configuration Tasks
Getting started with basic configuration tasks Configuring a VLAN Configuring a self IP address Defining a local traffic pool Defining an application security class Creating a virtual server Optional network configuration tasks
Each network topology is unique. When defining network settings for the deployment scenarios, you must make any necessary configuration adjustments to address the specific requirements of your network. The basic network configuration tasks you must complete are:
Define a VLAN. A VLAN is a group of one or more hosts on a local area network (LAN) that operate in the same IP address space. See Configuring a VLAN, on page 2-3, for more information. Define a self IP address. A self IP address is an IP address that you associate with a VLAN, to access hosts in that VLAN. See Configuring a self IP address, on page 2-4, for more information. Define a local traffic pool. The local traffic pool contains the web server or application server resources that host the web application that you want to protect with a security policy. You create the local traffic pool, and then associate the pool with an application security class. See Defining a local traffic pool, on page 2-5, for more information. Define an application security class. Application security classes filter HTTP requests to determine which traffic the Application Security Manager inspects. When you define an application security class, the system automatically creates a corresponding web application and a default security policy in the Application Security Manager configuration. See Defining an application security class, on page 2-6, for more information. Create a virtual server that uses the application security class as a resource. The local traffic virtual server load balances the network resources that host the web application you are securing. You configure the virtual server, and then associate the application security class with it. See Creating a virtual server, on page 2-7, for more information.
2-1
Chapter 2
Optional network configuration options The BIG-IP system has several additional configuration options available, to help you further customize the network and system setup. See Optional network configuration tasks, on page 2-8, for more information.
Important
The tasks described in this chapter begin after you have installed the BIG-IP system, activated the license, and configured the appropriate network settings for the BIG-IP system itself, for example, the management port. If you have not yet completed these activities, refer to the BIG-IP Systems: Getting Started Guide and the TMOS Management Guide for BIG-IP Systems for additional information.
2-2
Configuring a VLAN
The first task in configuring the local traffic network is to create a VLAN. A VLAN (virtual local area network) is a logical subset of hosts on a local area network (LAN) that operate in the same IP address space. For BIG-IP systems, you create a VLAN, and then associate physical interfaces with that VLAN. In this way, any host that sends traffic to a BIG-IP system interface is logically a member of the VLAN or VLANs to which that interface belongs.
To configure a VLAN
1. On the Main tab of the navigation pane, expand Network, and then click VLANs. The VLAN List screen opens. 2. Click the Create button. The New VLAN screen opens. 3. In the Name box, type a unique name for the VLAN. 4. For the Interfaces setting, click an interface number or trunk name in the Available box, and use a Move button (<< or >>) to move the interface number to the Untagged box. Repeat this step as necessary. 5. Click Finished. The screen refreshes, and displays the new VLAN in the VLAN list.
Tip
For detailed information about working with VLANs on BIG-IP systems, see the Configuring VLANS and VLAN Groups chapter in the TMOS Management Guide for BIG-IP Systems.
2-3
Chapter 2
Tip
For detailed information about self IP addresses, see the Configuring Self IP Addresses chapter in the TMOS Management Guide for BIG-IP Systems.
2-4
2-5
Chapter 2
Although you can create an application security class from the Local Traffic section on the Main tab, F5 Networks strongly recommends that you follow the steps above, beginning from Application Security instead because this method enables the Application Security setting by default. The setting is not enabled by default when you initiate the class creation from the Local Traffic section. If the Application Security setting is not enabled, you effectively turn off application security for the associated web application.
2-6
For virtual servers that load balance resources for a web application that is protected by the Application Security Manager, you must configure an HTTP profile in addition to the application security class. Refer to steps 6 and 7 in the following procedure.
Tip
If you are creating an SSL virtual server, refer to the Managing SSL Traffic chapter of the Configuration Guide for BIG-IP Local Traffic Manager.
2-7
Chapter 2
2-8
3
Creating a Security Policy Automatically
Overview of creating a security policy with the Real Traffic Policy Builder Creating a security policy Fine-tuning the security policy Reviewing security policy status Updating attack signatures automatically Adding more security protection
Overview of creating a security policy with the Real Traffic Policy Builder
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 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. You can use the procedure described in this chapter to create a security policy for either a production site exposed to untrusted traffic or a QA site where traffic is trusted.
Important
The procedures in this deployment start after you have configured the network settings that are appropriate for your environment. Refer to Chapter 2, Performing Basic Configuration Tasks, if you have not yet configured network connectivity.
Will you initially deploy the security policy you are developing in a production environment or a trusted QA environment? Some companies develop a security policy in a test lab within the corporate network before putting it into production. The QA Lab scenario develops the policy faster because the traffic is trusted. The Production Site scenario develops a security policy with exposure to untrusted Internet traffic; how long it takes depends on the amount of type of traffic on the application web site. Do you want to create a security policy for a web service that uses XML? If so, refer to Chapter 4, Creating a Security Policy for Web Services. What features of the web application require protection? What type of security policy do you want the system to create? You can select a security policy type, that is, fundamental, enhanced, or complete. A fundamental policy type protects fewer application entities, enhanced protects additional entities, and the complete policy type protects even more entities. The Deployment wizard, shown in Figure 3.1, on page 3-2, describes what is included in each of the policy types. How strict do you want to make the rules for building a security policy? You can set the strictness of the rules. A security policy built with loose rules requires less traffic to determine the policy settings, whereas a policy built with strict rules requires a larger traffic sample to determine the policy settings.
3-1
Chapter 3
Figure 3.1 shows the configure Automatic Policy Building screen of the Deployment wizard, where you configure how you want the Policy Builder to develop the security policy.
Figure 3.1 Configure automatic policy building screen showing policy types
The policy type you choose depends on how strict you want the security policy to be. It is useful to understand basically how the application works, and generally how many people use it on a typical day. This information is useful when determining whether to set the rules to Loose or Tight. Setting the rules to Loose causes the system to build and enforce the security policy with fewer requests. If many users access the application daily, you can use the Tight setting, thus developing the security policy from more requests. Once you have an idea about the type of security policy you want to develop, you can get started.
3-2
Figure 3.2 Configure Security Policy link starts the Deployment wizard
You can create a security policy only if you have already configured the basic local traffic settings, as described in Chapter 2, Performing Basic Configuration Tasks.
Chapter 3
4. Click Next. The Configure Web Application Properties screen opens. 5. For Application Language, use one of the following options: Leave the setting at the default value, Auto detect. When Policy Builder starts, it determines the language encoding based on application data. From the list, select a specific language encoding. 6. Click Next. The Configure Attack Signatures screen opens. 7. For the Systems setting, from the Available Systems list, select the systems that apply to your web application and move them into the Assigned Systems list. 8. Click Next. The Configure Automatic Policy Building screen opens. 9. For Policy Type, select one of the following options to determine the security features to include in the policy: Fundamental (the default policy type) Enhanced Complete The screen lists what security features are included in each type. 10. For Rules, move the slider to change the strictness of the rules: Loose builds a security policy quickly based on a smaller request sample; for example, useful for web sites with less traffic. Middle builds a security policy based on a medium number of requests. This is the default setting, and the one to use if you are not sure about the amount of traffic on the application web site. Tight builds a security policy based on a large request sample; for example, useful for web sites with lots of traffic. 11. For Trusted IP Addresses, specify which IP addresses to consider safe: All specifies that the policy trusts all IP addresses. This is the default setting for the QA deployment scenario. Address List specifies that you will add networks to consider safe. Type the IP address and netmask, then click Add. This is the default setting for the Production Site scenario. 12. Click Next to start checking for traffic. When the system detects traffic going to the web application, the Policy Builder starts and automatically begins creating the security policy. The Automatic Policy Building Status screen opens where you can view the current state of the security policy.
3-4
3-5
Chapter 3
Figure 3.3 Automatic policy building status showing security policy summary
3-6
3. Review the messages in the identification and messages area to learn about 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 added. 4. Review the status of the security policy: For State, the status says one of the following: Enabled means the system is configured correctly, and the Policy Builder is processing traffic. Detecting Language means the system is still detecting the language of the web application. The Policy Builder is enabled, but it does not add elements to the security policy until the language is set. Note that the system can determine the language only after it receives application traffic. Disabled means the system may not be detecting traffic. Check your network configuration. For basic configuration details, see Chapter 2, Performing Basic Configuration Tasks. General Progress shows a progress bar that 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. 5. In the Policy Elements Learned table, review the number of elements that the Policy Builder has analyzed and added to the security policy. 6. Optionally, in the Details tree view, click any item to learn more about that security policy element, what the system has seen so far, and what it will take to accept the element as legitimate. For example, Figure 3.4, on page 3-8, shows the file types that the Policy Builder has learned and put in staging.
3-7
Chapter 3
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 the staging list. Figure 3.5, on page 3-9, shows a security policy that has stabilized, and the progress bar has reached 100%. This means that the security policy is not causing false positives, it is not changing, and it is stable.
3-8
If the application web site changes and the system identifies the changes as legitimate, the system adds the new elements to the security policy and puts them in staging. The system enforces the elements in the security policy when sufficient traffic and instances of the elements have occurred and do not cause violations.
Chapter 3
The chapter called Working with Attack Signatures in the Configuration Guide for BIG-IP Application Security Manager provides more information about attack signatures. For details about allowing signature file updates through a firewall or an HTTPS proxy, refer to Solution 8217, Updating the BIG-IP ASM attack signatures, on the F5 technical support web site (https://support.f5.com).
3 - 10
4
Creating a Security Policy for Web Services
Overview of creating a security policy for web services Creating a web service security policy Creating an XML profile Developing the security policy using traffic Fine-tuning the security policy Enforcing the security policy Customizing the blocking response page
The procedures in this deployment start after you have configured the network settings that are appropriate for your environment. Refer to Chapter 2, Performing Basic Configuration Tasks, if you have not yet configured network connectivity.
Does the web application use a WSDL or XML schema (XSD) file to validate the XML documents? Some web services use a WSDL or XML schema document to validate whether the incoming traffic complies with XML language rules. If the application uses a WSDL or XSD file, you need a copy of the file. Does the application use a URL or parameter to point to the XML documents that you want to protect? You will need to know the URL or parameter that the application uses.
4-1
Chapter 4
Figure 4.1 Configure Security Policy link starts the Deployment wizard
You can create a security policy only if you have already configured the basic local traffic settings, as described in Chapter 2, Performing Basic Configuration Tasks.
7. Click Next. The Create New XML Profile screen opens and displays the message: The initial configuration of the web application is complete. You can now create a new XML profile. Continue with the next task, Creating an XML profile, following.
For detailed information on working with XML profiles and web services encryption, refer to the Protecting XML Applications chapter in the Configuration Guide for BIG-IP Application Security Manager.
4-3
Chapter 4
4-4
4-5
Chapter 4
10. Click Next, and proceed to the next task. If you selected URL in step 9, the New URL screen opens. Refer to To create a new URL, on page 4-8, to continue with the wizard. If you selected Global Parameter in step 9, the Add Parameter screen opens. Refer to To create a new global parameter, on page 4-8, to continue with the wizard. If you selected URL Parameter in step 9, the New URL screen opens. Refer to To create a new URL parameter, on page 4-8, to continue with the wizard.
4-6
4-7
Chapter 4
Tip
See the Configuration Guide for BIG-IP Application Security Manager for detailed information on configuring URLs and parameters.
4-8
The ASM detected traffic successfully. Waiting for a minimum of 10000 requests and at least one hour from running the wizard. The ASM detected n requests during x minutes and y seconds. Processing XML violations for at least one hour
After successfully detecting traffic and sampling requests, the Application Security Manager processes XML violations for at least one hour. Based on what it finds in the traffic sample and the violations, Application Security Manager automatically adjusts security policy settings to match the traffic and eliminate false positives. You need to wait until the system samples requests for at least one hour. For at least an hour, none of the traffic going to or from the application has included XML violations. When you see the message, you can continue with the next task, Fine-tuning the security policy.
The system did not detect any new XML violations over the last hour
4-9
Chapter 4
Figure 4.2 Link to Traffic Learning screen to fine-tune the security policy
The Traffic Learning link takes you to the Traffic Learning screen where you can evaluate each suggestion individually, and decide whether to add it to the policy.
4 - 10
4. On the Traffic Learning screen, review the violations and consider whether you want to permit any of them (for example, if a violation is causing false positives). Select the violations you want to allow and click Disable Violation, then OK. The system clears the Learn, Alarm, and Block settings for those violations. 5. To put the security policy into effect immediately, click Apply Policy, then OK.
Note
For more information on the learning process and learning suggestions, refer to the Refining the Security Policy Using Learning chapter in the Configuration Guide for BIG-IP Application Security Manager.
4 - 11
Chapter 4
Tip
The Blocking icon (hand) above the editing context area indicates that the security policy is in blocking mode. Click the Blocking icon to see a list of the violations for which the system will block traffic.
4 - 12
Note
For a summary of the default settings for this security policy, refer to Settings for Web Services deployment, on page A-5.
4 - 13
Chapter 4
4 - 14
5
Creating a Security Policy Using Rapid Deployment
Overview of Rapid Deployment Creating a Rapid Deployment security policy Fine-tuning the rapid deployment policy Enforcing the security policy
The procedures in this deployment start after you have configured the network settings that are appropriate for your environment. Refer to Chapter 2, Performing Basic Configuration Tasks, if you have not yet configured network connectivity.
5-1
Chapter 5
5-2
5-3
Chapter 5
5-4
6
Deploying an Application-Ready Security Policy
Overview of application-ready security templates Creating an application-ready security policy Fine-tuning the application-ready security policy Enforcing the security policy
The procedures in this deployment start after you have configured the network settings that are appropriate for your environment. Refer to Chapter 2, Performing Basic Configuration Tasks, if you have not yet configured network connectivity.
6-1
Chapter 6
6-2
6-3
Chapter 6
6-4
A
Deployment Scenario Settings
Settings for Production Site deployment Settings for QA Lab deployment Settings for Web Services deployment Settings for Rapid Deployment
A-1
Appendix A
The enforcement mode is set to Blocking, but nothing is blocked until the Policy Builder sees sufficient traffic, adds elements to the security policy, and enforces the elements. Attack signatures are held in staging for 7 days: the system checks, but does not block traffic during the staging period. The system tracks incidents that occur for each attack signature, and provides learning suggestions. The Policy Builder enforces elements in the security policy when it has processed sufficient traffic and sessions over a period of time long enough to determine the legitimacy of the file types, URLs, parameters, cookies, methods, and so on. The policy building process has stabilized, but the Policy Builder continues running. If the web site for the application changes, the Policy Builder adds policy elements or loosens the security policy, puts the added elements in staging, and enforces the new elements when traffic and time thresholds are met.
A-2
When you select this policy type Security Policy Element automatically added to the security policy HTTP Protocol Compliance Evasion Techniques Detected File Types Lengths Attack Signatures URLs Meta characters Parameters Value Lengths Value Meta Characters Name Meta Characters Allowed Modified Cookies Allowed Methods Request Length Exceeds Predefined Buffer Size violation Parameter Level Dynamic Parameters X X X X Global X X Fundamental X X X X X Enhanced X X X X X Complete X X X X X X X X X X X X X X URL Using statistics 10 unique values sets
A-3
Appendix A
A-4
A-5
Appendix A
A-6
Glossary
Glossary
active security policy The active security policy is the security policy whose criteria are determining the legitimacy of incoming requests for the web application. A web application can have only one active policy at a time. application-ready security policy An application-ready security policy is a security policy template that is preconfigured with the appropriate settings for specific enterprise applications. application security class An application security class is the logical bridge, or link, between the local traffic components and the application security components of a BIG-IP system. You use the application security class to specify to which incoming HTTP traffic the system applies application security. attack signature An attack signature is a rule or pattern that the system compares with traffic to identify attacks on a web application and its components. See also attack signature set. attack signature set An attack signature set is a group of individual attack signatures. Rather than apply individual attack signatures to a security policy, you apply one or more attack signature sets. See also attack signature. blocking actions The blocking actions specify what happens when a request does not comply with the active security policy. The blocking actions include the Learn flag, the Alarm flag, and the Block flag. When enabled, the Policy Enforcer processes the requests according to the flags. See also blocking mode, blocking policy. blocking mode A security policy is in blocking mode when the enforcement mode is blocking, and one or more Block flags are enabled. In blocking mode, when a request triggers a violation, rather than forwarding the request to the corresponding web application, the Application Security Manager returns the blocking response page, which includes a Support ID, to the client. See also enforcement mode, Support ID, transparent mode. blocking policy The blocking policy specifies how the Policy Enforcer processes a request (or response) that does not comply with the active security policy. The blocking policy is made up of the enforcement mode and the blocking actions (Learn, Alarm, and Block flags). See also blocking mode, blocking actions.
Glossary - 1
Glossary
blocking response page The blocking response page is the default response page that the Policy Enforcer returns to a client when the client request, or the web server response, is blocked by the security policy. character set A character set is a collection of alphanumeric and meta characters for a language. deployment scenarios When you use the Deployment wizard, deployment scenarios represent several typical environments that specify how to build the security policy. Deployment wizard The Deployment wizard automates the fundamental tasks required to initially build and deploy a security policy. enforcement mode The enforcement mode determines what actions the Policy Enforcer takes when a request or response triggers a security policy violation. See also blocking mode, transparent mode. entity An entity is one of the many components of a web application. File types, URLs, flows, parameters, headers, methods, and character sets are all examples of entities. file type A file type is the file type extension that represents the URLs in a web application. For example, JSP, ASP, GIF, and PNG are file types. headers See HTTP headers. HTTP (HyperText Transfer Protocol) HyperText Transfer Protocol (HTTP) is the protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and how a web browser requests data and how a web server responds. HTTP class See application security class. HTTP headers In an HTTP request, the HTTP headers specify the behavior and characteristics of the request.
Glossary - 2
Glossary
HTTP method In an HTTP request, the HTTP method (or simply, method) indicates the action that the client would like the server to perform for the requested resource. The most common methods are GET and POST. learning process The learning process is the process of making a security policy more accurate by verifying how the security policy complies with traffic requests. If the learning process finds discrepancies between the security policy and the traffic requests, it translates the discrepancies into a learning suggestion for modifying the security policy. learning suggestion When a request triggers a violation, and the Learn flag is enabled for that violation, the Learning Manager generates a learning suggestion. The learning suggestion contains information about what in the request caused the violation. Not all violations generate learning suggestions. method See HTTP method. safe traffic See trusted traffic. Secure Sockets Layer (SSL) See SSL (Secure Sockets Layer). security policy In the Application Security Manager, the security policy is a set of rules that enables the Application Security Manager to understand whether a request for a web application is valid. security policy violation A security policy violation occurs when some aspect of a request or response does not comply with the security policy for a web application. See also security policy, web application.
session ID A session ID is a string of data that identifies a user to a web server. This string can be contained in a cookie or in the URL. A session ID can track a users session as he uses the web site.
Glossary - 3
Glossary
SSL (Secure Sockets Layer) Secure Sockets Layer (SSL) is a standard protocol designed to provide an encrypted connection between two systems such as a web server and web browser. SSL uses two keys, a public key known to everyone, and a private key known to the recipient of the message. staging Staging is a state during which the system applies the security policy to the web application traffic, but does not block traffic (even if traffic causes a violation that is supposed to be blocked). The system provides staging suggestions when requests match an attack signature or violate the security policy. staging period The staging period is the amount of time web application entities and attack signatures remain in staging before the system suggests that you enforce them. Support ID The Support ID identifies a request that triggers a security policy violation. When the enforcement mode is blocking, the system sends the blocking response page, which includes the Support ID, to the offending client. See also blocking mode, blocking response page, enforcement mode. template See application-ready security policy. tightening Tightening is the process by which a security policy discovers the explicit file types, URLs, or parameters that match wildcard entities. See also wildcard entity. transparent mode When the enforcement mode for a security policy is transparent, the Policy Enforcer forwards all requests to the web application, even if a request triggers a security policy violation. See also blocking mode, enforcement mode. trusted traffic Trusted traffic is traffic generated by a controlled group of users, those who are known not to be potential attackers. Example sources of trusted traffic are internal test groups or employees, or traffic generated by users on an internal LAN.
Glossary - 4
Glossary
URI (Universal Resource Identifier) The Universal Resource Identifier (URI) specifies the name of a web URL in a request. For example, in this web address http://www.siterequest.com/index.html, the URI is /index.html. URL (Universal Resource Locator) A Universal Resource Locator (URL) is the standard method for specifying the location of an object on the Internet. violation See security policy violation. web application A web application is an application delivered to users from a web server to a web client, such as a web browser, over a network. See also web service. web service A web service is a self-contained, self-describing, modular web application that can be published, located, and invoked across the Web. See also web application. wildcard entity A wildcard entity is a web application entity in the security policy that contains one or more shell-style wildcard characters in its name. You can use wildcard entities to represent file types, URLs, and parameters. See also entity, file type, URL (Universal Resource Locator).
Glossary - 5
Glossary
Glossary - 6
Index
Index
A
application language defining for automatic policy building 3-4 defining for web services 4-2 application security using automatic policy building 3-3 using rapid deployment 5-1 using templates 6-1 using web services deployment scenario 4-2 application security classes creating 2-6 defining 2-1 application servers and local traffic pool 2-5 verifying received traffic 4-9 application templates 1-2, 6-1 application-ready security policies creating 6-2 described 1-2 fine-tuning 6-3 Application-Ready Security Policy setting 6-2 attack signatures, updating 3-9 Automatic Policy Building Status screen 3-5
deployment scenarios and Manual Deployment 1-2 and production site 1-1 and QA Lab 1-1 and Web Services 1-2 descriptions 1-1 selecting 3-3 Deployment wizard creating application-ready security policy 6-2 creating production site security policy 3-3 creating QA security policy 3-3 creating web services security policy 4-2 using Rapid Deployment 5-2 design considerations 3-1 documentation set 1-5
E
enforcement mode setting 4-12, 5-4, 6-4 enterprise applications using preconfigured security policies 1-2, 6-1
F B
basic configuration tasks configuring a self IP address 2-4 creating a pool 2-5 creating a virtual server 2-7 creating a VLAN 2-3 creating an application security class 2-6 performing optional network 2-8 summary 2-1 BIG-IP system installing 2-2 licensing 1-5, 2-2 upgrading 1-5 Blocking icon 4-12 blocking mode indicating 4-12 setting 4-12, 5-4, 6-4 blocking response page, customizing for XML 4-13 browsers, supported 1-4 FISMA compliance 1-1
G
global parameters, creating 4-8
H
hand icon See Blocking icon. Help tab 1-4 help, online 1-5 HIPAA compliance 1-1 HTTP class See application security classes. HTTP profiles, configuring 2-7
L
learning suggestions and Policy Builder 4-10 processing 4-10 links, following schema 4-5 local traffic pools defining 2-1, 2-5
C
compliance, security 1-1 Configuration utility 1-3, 1-4
D
deployment scenario settings for production site A-1 for QA Lab A-4 for Rapid Deployment A-6 for Web Services A-5
M
Main tab, about 1-4 Manual Deployment scenario understanding 1-2 menu bar 1-4
Index - 1
Index
N
network configuration tasks and additional options 2-2 creating a local traffic pool 2-5 creating a virtual server 2-7 creating a VLAN 2-3 creating an application security class 2-6 performing optional 2-8 summarized 2-1
O
online help 1-5
P
parameters creating global 4-8 creating URL 4-8 PCI compliance 1-1 Policy Builder reviewing policy status 3-5 Policy Builder default settings in production site deployment A-2 policy type 3-2 policy types 3-1 pools See local traffic pools. product documentation, finding 1-5 production site deployment scenario and default settings A-1 creating a security policy 3-1 understanding 1-1 profile, creating XML 4-3
security policy and design considerations 3-1 creating application-ready 6-1 creating automatically 3-1 creating web services 4-2 fine-tuning application-ready 6-3 fine-tuning automatic creation 3-5 fine-tuning web services 4-10 stabilizing 3-8 using Rapid Deployment 5-1 self IP address, defining 2-1, 2-4 SOAP Fault, blocking response page 4-13 SOAP messages 4-5, 4-7 SOAPAction header 4-5 status messages 3-5 system messages, viewing 1-4
T
Technical Support web site 1-5 templates, creating security policy from 6-2 traffic verifying 4-9 transparent mode setting 4-12, 5-4, 6-4 trusted IP addresses 3-4
U
URL parameters creating 4-8 URLs creating 4-8 user interface, introducing 1-3
Q
QA Lab deployment scenario and default settings A-4 creating a security policy 3-1
V
verification messages for application server traffic 4-9 virtual LANs See VLANs. virtual servers creating 2-7 defined 2-7 VLANs creating 2-3 defined 2-1
R
Rapid Deployment security policy and default settings A-6 deploying 5-1 rule strictness 3-1 rules slider 3-4
W S
schema file validation, configuring 4-7 security and production site default settings A-1 and QA lab default settings A-4 and Rapid Deployment default settings A-6 and web services default A-5 web applications and hosted content 2-5 creating default 2-6 Web Services deployment scenario and default settings A-5 overview 4-1 understanding 1-2
Index - 2
Index
web services security policy creating 4-2 developing using traffic 4-9 fine-tuning 4-10 Welcome screen 1-3, 1-5 WSDL documents importing to XML profile 4-5
X
XML profiles associating URLs or parameters 4-8 creating basic 4-4 creating for security policy 4-3 creating with schema validation 4-7 importing WSDL documents 4-5 XML security policy, creating 4-2 XML transactions and Web Services deployment scenario 4-1 XSD files, validating 4-7
Index - 3