0% found this document useful (0 votes)
218 views

f5 Asm Operations Guide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
218 views

f5 Asm Operations Guide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 121

BIG-IP Application Security Manager

Operations Guide

A Web Application Firewall that


Guards Your Critical Apps
With BIG-IP ASM, organizations gain the
flexibility they need to deploy Web Application
Firewall services close to apps to protect them
wherever they reside—within a virtual software-
defined data center, managed cloud service
environment, public cloud, or traditional data
center.
A message from Julian Eames,
Chief Operations Officer and Executive Vice President,
F5 Business Operations
Welcome to the F5 Operations Guide series.

Our series of operations guides address real-world scenarios and challenges. The content
was written by the engineers who design, build, and support our products, as well as other
F5 professionals—some former customers worked in the field and have firsthand experience.

While no document can anticipate every question or situation, F5 endeavors to provide a


better understanding of your BIG-IP system and offer tools needed to address common
issues and conditions.

In this guide you’ll find recommendations, practices, and troubleshooting tips to keep your F5
products running at peak efficiency and elements that may be incorporated into your own run
books.

F5 is pleased to offer industry-leading products and services, including world-class support,


and welcomes your suggestions and feedback. Let us know how we can better serve you.

—Julian Eames

ii
Contents

Acknowledgements 1

About this guide 2


Before using this guide 2

Common terms and concepts 2

Limits of this guide 4

Glossary 5

Customization 5

Issue escalation 5

Feedback and notifications 5

Document conventions 5

Introduction 8
Web application firewall protection 8

BIG-IP ASM security policy life cycle 9

Policy tuning details 10

Additional security checks 11

Tips and guidelines 11

BIG-IP ASM API/Web Services Protection 15


Web API Use Cases 15

Web services 16

RESTful API services 16

Validation 26

BIG-IP ASM Event Logging 28


Log display formats 28

Remote logging 30

Policy Tuning and Enhancement 33


BIG-IP ASM 12.0 Policy Builder updates 33

Traffic Learning 33

Configuration guidelines 35

Manual learning and policy building 38

iii
Tuning violations 40

Attack signature tuning 42

Transition enforcement mode from Transparent to Blocking 43

Session tracking and login pages 45

Compare and merge policies 48

Regulatory Compliance 51
Regulatory compliance of WAFs 51

Open Web Application Security Project Top 10 52

Payment Card Industry Data Security Standard 3.1 53

Health Information Portability and Accountability Act 55

National Institute of Standards and Technology 57

Common Deployment Topologies 60


Platforms and licenses 60

Common topology options 63

Common Management Tasks 71


Guidelines 71

Update geolocation 72

Maintain IP intelligence database 73

Back up your BIG-IP configuration information 75

Troubleshoot BIG-IP ASM 78


Use platform logs 78

Check BIG-IP ASM system health 79

Bypass BIG-IP ASM 80

Handle unexpected HTTP responses 81

Monitor performance 85

Monitor CPU usage 88

Troubleshoot memory usage 90

Optimize the support experience 93


F5 technical support offerings 93

Professional services 93

GUARDIAN Professional Services Partners 94

iv
F5 certification 94

Review self-help options 95

F5 Global Training Services 98

Engage Support 99

Send information to Support 104

Collect BIG-IP ASM data 105

Appendix 110
Considerations 110

Integrated BIG-IP APM session tracking and event logging 110

Use Multiple Decoding Passes with Evasion Technique 110

Resource Materials 112

Legal Notices 115


Publication date 115

Copyright 115

Trademarks 115

Patents 115

Notice 115

v
ACKNOWLEDGEMENTS


Acknowledgements
Executive sponsor: Julian Eames, Executive Vice President and Chief Operations Officer

Publisher and project manager: Jeanne Lewis

Content and production editor: Andy Koopmans

Project team, writers, editors, and testers: Aaron Brailsford, Ido Breger, Celeste Crocker, Jack Fenimore, Chad Jenison,
QiHua Jiang, Josh Michaels, Lior Moscovici, Sven Mueller, Erik Novak, David Remington, Lior Rotkovitch, Ziv Saar, Peter
Scheffler, Justin Shattuck, Tzoori Tamam, and Frank Thias

BookSprints facilitator, designer, editor, and support team: Barbara Rühling, Henrik van Leeuwen, Julien Taquet, Raewyn
Whyte, and Juan Gutiérrez. For information about the BookSprints process, see the Booksprints web site. (This link takes you to
an outside resource.)

Content, support, and assistance: Don Martin, Vice President, Global Services Strategic Programs; the Global Services New
Product Introduction Team, Bryan Gomes, Ilana Trager, Phillip Esparza, Derek Smithwick, Beth Naczkowski, Joe Taylor, Mark
Kramer, Andrew Pemble, Dave Bowman, Jim Williams, David Katz; and the rest of the Global Services management team.
Thanks also to the BIG-IP ASM product development team, Orit Hakim, Galit Khon, and Amatzia Yifhar; and thanks to Jill Devine
and Anjuli Lam for copy-editing assistance.

1
ABOUT THIS GUIDE
Common terms and concepts

About this guide


This guide includes recommended maintenance, tuning, and monitoring procedures related to F5 BIG-IP® Application Security
Manager™ versions 11.6–12.0.

The goal of this guide is to assist customers with keeping their BIG-IP system healthy, optimized, and performing as designed. It
was written by F5 engineers who assist customers with solving complex problems every day. Some of these engineers were
customers before joining F5. Their unique perspective and hands-on experience has been used to serve the operational and
maintenance guides F5 customers have requested.

This guide describes common information technology procedures and some that are exclusive to BIG-IP systems. There may be
procedures particular to your industry or business that are not identified. While F5 recommends the procedures outlined in this
guide, they are intended to supplement your existing operations requirements and industry standards. F5 suggests that you read
and consider the information provided to find the procedures to suit your implementation, change-management process, and
business-operations requirements. Doing so can result in higher productivity and fewer unscheduled interruptions.

See Feedback and notifications , for information on how to help improve future versions of this guide.

Before using this guide


You will get the most out in this guide if you have already completed the following items, as appropriate to your implementation:

• Installed your F5 platform according to its requirements and recommendations. Search the AskF5 Knowledge Base
(support.f5.com) for “platform guide” to find the appropriate guide.

• Followed the general environmental guidelines in the hardware platform guide to make sure of proper placement, airflow,
and cooling.

• Set recommended operating thresholds for your industry, accounting for predictable changes in load. For assistance, you
can contact F5 Consulting Services.

• Familiarized yourself with F5 technology concepts and reviewed and applied appropriate recommendations from the F5
BIG-IP TMOS: Operations Guide.

Common terms and concepts


This guide also assumes that you have some familiarity with various L7 HTTP concepts, such as URI/URL, method, header,
cookie, status code, request, response, and parameters.

2
ABOUT THIS GUIDE
Common terms and concepts

HTTP request components


Request syntax:
https://www.testsite.com/folder/page.
html?parameter1=value1&parameter2=value2

Table 0.1 HTTP request components

Components Request syntax

Protocol https

Host www.testsite.com

Path /folder/page.html (in the BIG-IP ASM system referred to as the URL)

Query string parameter1=value1&parameter2=value2

Parameters parameter1, parameter2

Parameter Values value1, value2

Table 0.2 Additional HTTP request components important to the BIG-IP ASM system

Component Request syntax

POST /login.php HTTP/1.1

Referer http://www.testsite.com/index.php

User-Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; MS-RTC LM 8)

Content-Type application/x-www-form-urlencoded

Accept-Encoding gzip, deflate

Host www.testsite.com

Connection Keep-Alive

Content-Length 48

Cookie SESSION=9899474fd85b473ca496d16b363ec3b8

parameter1=value1&parameter2=value2

Method POST

3
ABOUT THIS GUIDE
Limits of this guide

Component Request syntax

Header Referrer, Accept-Language, User-Agent, Cookie

Cookie SESSION

POST Query String/ parameter1=value1&parameter2=value2


Request Body

Limits of this guide


This guide does not address installation, setup, or initial configuration of your BIG-IP system or modules.

There is a wealth of documentation covering these areas in the AskF5 Knowledge Base (support.f5.com). The F5 self-help
community, DevCentral, is also a good place to find answers about initial deployment and configuration. You can find additional
resources detailed in Acknowledgments . The following figure shows where this guide can best be applied in the product life
cycle.

Figure 0.1 F5 documentation coverage

4
ABOUT THIS GUIDE
Document conventions

Glossary
A glossary is not included in this guide. Instead, the F5 Glossary page (f5.com/glossary) offers an up-to-date and complete listing
and explanation of common industry and F5-specific terms. For terms specific to BIG-IP ASM, see the following guides:

• BIG-IP Application Security Manager: Getting Started (BIG-IP v. 11.6)

• BIG-IP Application Security Manager: Implementations (BIG-IP v. 11.6)

• BIG-IP Application Security Manager: Getting Started Guide (BIG-IP v. 12.0)

• BIG-IP Application Security Manager: Implementations (BIG-IP v. 12.0)

Customization
Customization may benefit your implementation. You can get help with customization from a subject matter expert, such as a
professional services consultant from F5 Consulting Services.

Issue escalation
See Optimize the support experience for issue escalation information.

If you have an F5 WebSupport contract, you can open a support case by clicking Open a support case on the AskF5
Knowledge Base (support.f5.com).

Feedback and notifications


F5 welcomes feedback and requests. You are invited to fill out and submit the surveys at the end of each chapter in the
interactive PDF version of this guide or to visit our F5 Operations Guide User Feedback survey. (This link sends you to an external
site.)

F5 operations guides are updated frequently, and new guides are being written. If you would like to be notified when new content
is available, email [email protected] and your name will be added to our distribution list for updates and new releases.

Document conventions
To help you easily identify and understand important information, the document in this guide uses the stylistic conventions
described here.

Examples
All examples in this document use only private IP addresses. When you set up the configurations described, you will need to use
valid IP addresses suitable to your own network in place of our sample addresses.

References to objects, names, and commands

We apply bold text to a variety of items to help you easily pick them out of a block of text. These items include interface labels, file
names, specific web addresses, directories, and IP addresses.

5
ABOUT THIS GUIDE
Document conventions

Configuration utility
The BIG-IP® Configuration utility is the name of the graphic user interface (GUI) of the BIG-IP system and its modules. It is a
browser-based application you can use to install, configure, and monitor your BIG-IP system.

Configuration utility menus, sub-menus, links, and buttons are formatted in bold text. For more information about the
Configuration utility, see Introducing BIG-IP Systems in BIG-IP Systems: Getting Started Guide.

Command line syntax


We show command line input and output in Courier font.

The corresponding # prompt is not included. For example, the following command shows the configuration of the specified pool
name:
tmsh show /ltm pool my _ pool

The following table explains additional special conventions used in command line syntax:

Table 0.3 Command-line syntax conventions

Character Description

<> Identifies a user-defined variable parameter. For


example, if the command has <your name>, type in
your name but do not include the brackets.

[] Indicates that syntax inside the brackets is optional.

… Indicates that you can type a series of items.

TMOS shell syntax


The BIG-IP system includes a tool known as the TMOS shell (TMSH) utility that you can use to configure and manage the system
at the command line. Using the TMSH utility, you can configure system features and set up network elements. You can also
configure the BIG- IP system to manage local and global traffic that is passing through the system, and view statistics and system
performance data.

You can run the TMSH utility and issue commands in the following ways:

• You can issue a single TMSH command at the BIG-IP system prompt using the following syntax:
tmsh [command] [module . . . module] [component] (options)

• You can open the TMSH utility by typing tmsh at the BIG-IP system prompt:
(tmsh)#

Once at the TMSH utility prompt, you can issue the same command syntax, leaving off tmsh at the beginning.

6
ABOUT THIS GUIDE
Document conventions

For the sake of brevity, all TMSH utility commands provided in this guide appear in the format listed in the first bullet.

You can use the command line utilities directly on the BIG-IP system console, or you can run commands using a remote shell,
such as the SSH client or a Telnet client. For more information about command line utilities, see Bigpipe Utility Reference Guide
or the Traffic Management Shell (tmsh) Reference Guide.

Note Examples are shown in UTF­8 language encoding. If you are using one
of the other language encoding character sets supported by the BIG-IP ASM
system, adapt examples as needed. For more information, see the AskF5
article SOL6335: Overview of encoding language settings for ASM.

7
INTRODUCTION
Web application firewall protection

Introduction
BIG-IP Application Security Manager (ASM) enables organizations to protect against the Open Web Application Security
(OWASP) Top 10 threats, application vulnerabilities, and zero-day attacks. Leading layer-7 (L7) DDoS defenses, detection and
mitigation techniques, virtual patching, and granular attack visibility work to thwart sophisticated threats before they reach your
servers.

The BIG-IP ASM system allows compliance with key regulatory standards such as Health Insurance Portability and Accountability
Act (HIPAA) and Payment Card Industry Data Security Standard (PCI DSS).

With the BIG-IP ASM system, organizations gain the flexibility they need to deploy web application firewall (WAF) services for
protecting applications wherever they reside—within a virtual software-defined data center (SDDC), managed cloud service
environment, public cloud, or traditional data center.

Web application firewall protection


The BIG-IP ASM system is a WAF. In contrast to a network-layer firewall, which restricts access based on source and destination
IP addresses, IP protocols, and TCP/UDP port numbers, a WAF manages traffic based on L7 properties, such as HTTP headers,
URIs, parameters, and other web application elements.

WAFs also detect anomalous behaviors from clients attempting to access applications, mitigating the potential impact of
automated agents, bots, scanners, and brute-force attacks.

Web applications typically use a two- or three-tier model, in which the web server acts as the presentation layer for the
application. The web server receives input from the user and displays outputs, while sending transactions to either an application
tier or directly to a back-end database.

In these models, some actions performed on the web application could potentially reach the back-end database, meaning a
malicious client can gain unauthorized access to data even if the database servers themselves are not directly accessible to the
users.

Benefits of WAF protection


WAFs prevent such access to protect not only the web server, but the application infrastructure as a whole. WAFs are widely
used in both Internet-facing applications and internal applications. While most organizations use WAFs in combination with other
measures, such as secure coding practices, vulnerability assessments, and software patching and updating, even the most
secure application can benefit from WAFs because WAFs do the following:

• Disallow incoming traffic from finding and targeting known vulnerabilities in web applications.

• Allow a quicker and easier way to fix vulnerabilities, as revealed in web applications by scanners and penetration tests.

• Detect and mitigate malicious bot access to applications.

8
INTRODUCTION
BIG-IP ASM security policy life cycle

• Prevent malicious clients from abusing web applications by exploiting flaws in business logic or the application
infrastructure.

• Provide effective mitigation much faster than patching application code.

• Reduce the likelihood of an unknown or undiscovered vulnerability being exploited.

• Provide an additional point of control to minimize the risk of developer or administrative error.

• Provide visibility into what types of attacks and scans are targeting the application.

• Prevent malicious and unwanted traffic from consuming server resources.

• Provide a forensic record and event correlation for triaging after a suspected security incident.

• Provide behavioral mitigations, such as web scraping and bot detection, that are very difficult to implement in each
application.

• Provide a consistent security posture across all of an organization's applications.

Note F5 recommends that you fix known vulnerabilities in applications when


possible.

BIG-IP ASM security policy life cycle


A BIG-IP ASM security policy consists of multiple parts and layers, all serving the purpose of securing a web application. Some
elements of a BIG-IP ASM policy protect your application from specific attacks, while other elements protect against more broad
attacks.

Before you deploy an application security policy, it helps to have an understanding of exactly what you are trying to protect and
why. Defining your security problem before you start will make it easier to develop and enforce a security policy. Some use cases
require more extensive policy development and tuning, while with other use cases, a simple security policy will suffice.

The application security policy life cycle has three phases: policy deployment, policy tuning, and policy maintenance.

Phase 1: Create and deploy policy


Create a new policy using the template and policy-building mode most appropriate for your web application. Decide whether to
automate the policy building process. You can change most decisions made during this phase in later phases, but it is best to
start with the most appropriate deployment scenario.

Phase 2: Tune policy


False positive violations are identified and policy settings are adjusted to allow legitimate traffic to pass through to the protected

9
INTRODUCTION
Policy tuning details

application. This is necessary as some legitimate traffic may not pass set policy rules and may resemble an attack. Over time, the
security policy will become more strict, meaning that policy components that have not triggered any violations are enforced, and
acceptance occurs for elements specific to your application, such as file types, parameters, and HTTP methods.

Phase 3: Maintain policy


The security policy adapts to application changes, new security requirements, attack signature updates, and activities, prompted
by the review of logs and reports on traffic inspected by the BIG-IP ASM system. During this phase, keep the policy up-to-date
and accurate for the application it protects.

A good, finely-tuned security policy deployed according to the security requirements of your application should incur minimal
operational costs. A very strict and application-specific security policy can potentially take more time and effort to maintain,
especially in light of application changes. A generic, lightweight policy requires very little maintenance, even when applied to
multiple or different applications.

Policy tuning details


Of the three phases, policy tuning requires the most attention and skill from an administrator. Administrators can choose to
manually tune a security policy or have the BIG-IP ASM system tune the policy automatically.

Tasks included in tuning include adjusting policy blocking settings, populating entry lists, and enforcing entities and attack
signatures.

Adjust policy blocking settings


Depending on the policy's initial settings, the BIG-IP ASM system may need to disable specific violations if they block legitimate
requests. Conversely, the BIG-IP ASM system will enforce/enable violation mitigation rules as more traffic passes the policy
without triggering an alarm.

At the end of the tuning process, the policy should contain all the relevant violations. This will be true whether you started with a
fully enforced list and tuned it down ("tightened"), or you started with a blank list and enforced violations over time ("loosened").

Modular or gradual blocking


One of the most successful approaches to tuning a BIG-IP ASM policy involves modular blocking, also known as gradual
blocking. Gradual blocking allows some violations to be blocked while others are being tuned. This means you can enable policy
components with little-to-no tuning, before the tuning process begins.

Populate entity lists


In an HTTP request, all entities are L7. A BIG-IP ASM policy can contain a whitelist of these entities and disallow entities not on
that list, it can contain a blacklist of entities to disallow, including wildcards or matching generic patterns.

A BIG-IP ASM policy usually starts with catch-all wildcards (*) for the entity lists (file types, parameters, URIs, cookies, headers,
and entities.). Depending on the deployment settings, the BIG-IP ASM system will suggest specific entities to populate the lists.

10
INTRODUCTION
Tips and guidelines

Once the lists are populated, wildcards can be removed and the list enforced. Not all entity types are relevant to all security and
application requirements, so F5 recommends tuning to include only those that are important to you.

Enforce entities and attack signatures


Most policy entities have attributes in them, such as byte lengths, values, characters, and others. You can configure a security
policy to enforce those attributes.

The tuning phase for each entity is marked with a Staging flag, meaning the entity's attributes are only checked, not enforced.

Once all attributes are manually or automatically adjusted to fit legitimate application use, the staging flag can be manually or
automatically removed.

Attack signatures behave the same way. All signatures in a policy start in staging. This means that traffic will not be blocked if it
matches that signature.

Once you disable the signatures causing false positives, you can turn off staging and enforce the rest of the signatures.

Additional security checks


The BIG-IP ASM system can deploy additional security checks in order to protect the application. This is true even for malicious
traffic that does not match disallowed policy elements or attack signatures. These checks include session tracking, web
scraping, brute force protection, and denial-of-service (DoS) protection.

Session tracking includes the ability to track users and sessions according to their activities in the application, blocking them
completely, or logging their requests, whether legitimate or malicious.

Web scraping detects non-human behaviors on the website, flagging, and blocking bots with malicious intents, even if all they do
is access legitimate resources on the website.

DoS protection guards the application from heavy traffic patterns and rates that are meant to bring down the application or
database, even when each request appears to be in order and does not trigger any of the violations in the policy.

Tips and guidelines


Due to the number of available features and capabilities of the BIG-IP ASM system, administrators may feel overwhelmed. F5
recommends that you keep the following tips and guidelines in mind:

• Do not allow the path to implementation to become blocked by a desire to instantly build a perfectly secure and tuned
environment. Allow for a learning curve and build your security policy to support the needs of your application and
organization.

• Do not feel like you must use a feature simply because it exists.

• It is better to see bad traffic than to not see it.

11
INTRODUCTION
Tips and guidelines

• When zero day hits, it is better to be in blocking mode with a current policy than to have to build a new policy from scratch.

• Sometimes providing basic protections for many applications is just as important as providing detailed protection for one.

• The BIG-IP ASM Policy Builder creates an effective security policy and can save you a lot of time.

• The BIG-IP ASM system is designed to learn while in production. If you do not have a robust QA environment, your
application users may supply the best source of legitimate traffic from which the BIG-IP system can learn.

• The BIG-IP ASM system has multiple, layered protections for each attack vector. Do not over-invest time or resources on
particular mitigations.

• Start with a policy that loosens security restrictions to allow all legitimate behavior and disallow malicious requests.

• Tighten security restrictions over time to incrementally improve protections.

Figure 0.2 Policy adjustment over time

12
INTRODUCTION
Tips and guidelines

Note BIG-IP ASM security policies exists in either blocking mode or


transparent mode. There is no “learning mode” to deploy. The BIG-IP ASM
system learns the elements of your application as part of an ongoing
process.

13
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
BIG-IP ASM API/WEB SERVICES PROTECTION
Web API Use Cases

BIG-IP ASM API/Web Services Protection


The BIG-IP ASM system provides protection for web applications, API services, and servers. The system provides a granular
definition of security policies to analyze requests and responses associated with a RESTful API service.

You can define explicit policy entities and violation settings for specific components of an API service.

Due to the nature of APIs and API data, you need to manually create a security policy and add appropriate security entities to
protect the API service, including parameters, sensitive parameters, URLs, HTTP methods, and content profiles.

Web API Use Cases


Modern distributed APIs use Web (HTTP) interfaces to pass the remote function invocation between the client and server. There
are several ways to achieve this, but the most prominent are web services and Representational State Transfer (REST), both of
which the BIG-IP ASM system protects. The BIG-IP ASM system also protects other API methodologies.

The three fundamental use cases of web APIs are back-end to back-end (B2B) APIs, browser to back-end APIs, and mobile
application APIs.

Back-end to back-end APIs


A back-end system acts as the client, and performs transactions on another remote system acting as a server.

The client system is called back-end because it is not a browser or any other client that is expected to provide an interactive
interface or GUI to a user. Rather, it provides a back-end system that implements business logic.

Typical B2B use case examples include reseller to retailer, retailer to supplier, and credit to bank. However, the most prominent
use is for web services.

Browser to back-end APIs


Browser to back-end APIs is also commonly called AJAX.

Web application frameworks separate the presentation layer (HTML template, CSS stylesheets, and front-end JavaScript code)
from the content that the user will present or the data that the user will manipulate.

Presentation layer assets are retrieved when a new page loads. Meanwhile, users retrieve content or manipulate data using HTTP
requests from within the page itself. This process and content retrieval can occur asynchronously, allowing many non-blocking
requests for content and manipulations to data to occur simultaneously.

These non-blocking requests are called AJAX requests or XmlHttpRequests (XHR) in JavaScript vocabulary.

The API client is the JavaScript code from within the page. These APIs are typically, but not exclusively, REST.

15
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

Mobile application APIs


In this use case, mobile applications communicate with the back-end servers using a Web API, which is typically, but not
exclusively, REST. This is similar to the browser to back-end (AJAX) use case, but here the client application is installed on the
mobile device.

Web services
Web services are the traditional standard for invoking API on the web.

They consist of multiple standards from the W3C and OASIS organizations.

Web services use XML as the representation markup language.

The following web services are most relevant to the BIG-IP ASM system:

• Simple Object Access Protocol (SOAP), which is a transport protocol.

• Web Services Description Language (WSDL), which is the language for defining the API.

• Web service security (WSS), which encrypts and signs elements of the SOAP messages.

• Security Assertion Markup Language (SAML), which is the language for authentication tokens asserting the identity of a
user.

Web services are commonly used in application-to-application use cases, but they are also used in web browsing instead of the
REST/JSON, and on mobile applications.

RESTful API services


Representational State Transfer (REST) is a procedure and software architecture design providing a controlled set of
recommended constraints in the development of APIs for web applications and other hypermedia.

Typically, RESTful APIs use JavaScript Object Notation (JSON) as the document format used in the request and response, but
they may also use XML. You can use RESTful API services for client-to-server or server-to-server communication.

No official standards or RFC exist for REST, so developers adopt other standards and protocols that use a similar design pattern.
These standards and protocols include JSON, URI, HTTP, HTTPS, and XML. The adoption of these standards provides a solid
foundation for securing a REST API using the BIG-IP ASM system.

16
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

Table 2.1 Web services and REST comparison

Web Services REST

Representation format XML. JSON, more rarely XML.

API methods Part of the message. HTTP methods following the CRUD paradigm.
Any methods can be defined.

Parameters Always in request payload. URI is always the "object" parameter.


GET query parameters in Query String.
Object modifying parameters in request
payload.

Use Cases Back-end to back-end. Browser to back-end (AJAX).


Mobile applications.

Security Message level (WSS) and transport level Only transport level (SSL/TLS).
(SSL/TLS).

Formal API definition WSDL, optionally enforced on the BIG-IP None.


schema ASM system.

Separate static content URLs from API URLs


This section applies only to the browser to back-end server API (AJAX) use case. It also applies to web services and RESTful
procedures. In the other use cases, all traffic passing through BIG-IP ASM policy is API traffic.

In the browser to back-end server API (AJAX) use case, the web application consists of two sets of URLs, which need to be
treated differently: static content URLs and AJAX URLs.

From the BIG-IP ASM perspective, the main difference between the sets of URLs is the way in which request payload is handled:
content requests do not carry a body payload, while AJAX requests often do. In the web services use case, this applies to all
requests, while in the REST use case, POST, PUT, and PATCH are the modifying methods.

Content URLs have either Disallow, Check content signatures, or Form Data (especially for content upload cases) for the request
body handling.

JSON or XML are the body handling method for AJAX URLs. JSON or XML profiles are attached, respectively.

17
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

Methods used in BIG-IP ASM policies to separate the allowed URLs into content or AJAX URL groups include the following:

1. If the URI (path) patterns for the two groups are known in advance, the groups can be configured manually to one or few
wildcards for each group.

For example /resources/* catches all content URLs, and /api/* catches AJAX API URLs.

Note The same content profile (XML or JSON) applies to all RESTful URLs. If
more fine-grained control is required, you have to break the AJAX URL
wildcard into several wildcards, each with its own separate profile.

2. If you cannot easily group the URLs by URI patterns, or if the application changes often, it makes sense to have all URLs
learned and let the BIG-IP ASM system also detect the content payload automatically. Do this by activating the URL
classification setting (in BIG-IP 12.0.0), or the detect advanced protocols setting (in BIG-IP 11.6.0).

Note This method works only with automatic learning enabled.

3. If most URLs are AJAX, the static content URLs can be identified as those without a JSON or XML body. In this case, the
new URLs are learned in selective mode and the "*" URL is configured with XML or JSON body.

During the policy tuning phase, requests with payload other than AJAX or XML fail to parse correctly or to generate
violations. These requests are eventually learned as separate URLs in the policy, while the "*" URL covers AJAX traffic.

BIG-IP ASM web service handling


The BIG-IP ASM system handles web services API at three levels:

1. Parser level attacks and buffer overflows.

2. Application vulnerabilities.

3. Message-level security and server offloading.

The XML profile is the container of the XML and web services enforcement.

The following table summarizes the security actions at each level:

18
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

Table 2.2 Security actions at each level of web services API

Level Security Action Consideration XML Profile

Parser level and XML syntax verification. Basic security measure that you The inclusion of any XML
buffer overflow. have to always apply. profile enforces XML
syntax.

Message sizing restriction: F5 recommends that you apply all Enable and set thresholds
length, number of elements, defense checks and let the learning per each defense
nesting level, and more. process adjust the thresholds. measure.

Application WSDL or XML schema If the server application has a WSDL Attach WSDL or XSD file to
vulnerabilities. validation. file, attach the file to the policy so the profile.
that the policy can be enforced.

Restrict the allowed SOAP WSDL is assumed, but not all Mark the allowed methods
methods. methods are allowed in all URLs to from the WSDL.
the API.
For example, in some URLs you may
only allow read methods, while in
other URLs, you allow all methods,
including those that modify data.

Attack signatures in XML F5 recommends that you enable Enable attack signatures.
element content. attack signature checks and let BIG-
IP ASM learning process disable
false positive signatures.

Message-level Handling encryption and If the client application uses WSS, WSS section.
security. decryption, message the BIG-IP ASM system can pass
signing, and validating a message to the server without
signatures on either the encryption, or with shorter keys.
client or server side. The same is true for signatures and
authentication.

Protect a REST API


REST API manipulates the state of the resources or endpoints following CRUD (Create, Read, Update, Destroy) methodology.
CRUD is expressed in HTTP methods (such as GET for reading, POST for creating, and others).

To secure your REST API, F5 recommends that you have access to the endpoints, which typically follow a URI standard. These

19
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

resources allow you to set the enforcement mode to Blocking immediately after you apply the security policy to your virtual
server.

When you deal with the browser to back-end server (AJAX) use case, make sure that you separate AJAX URLs from HTML and
resource URLs in your security policy.

Deployment example
This section describes a real-world deployment example based on the following assumptions:

• The API follows a RESTful software design and architectural methodology.

• The API uses MongoDB to store JSON documents for its data store, instead of using an SQL database.

• The API service is written in NodeJS and is hosted on a Linux server.

• The API service uses BIG-IP LTM as a proxy to forward SSL (HTTPS: 443) L7 traffic to the server's listening port for the
API.

• The API is developed and the data store (MongoDB) is managed by a developer in your organization.

• You have a specification associated with the API service outlining the stack (services/daemons) that is required for a
proper functioning API.

• The API stores, contains, or returns data containing PII (Personally Identifiable Information), which must be excluded from
all logging processes.

• API documentation indicates fields that are considered to be highly sensitive, which you need to obscure before logging
requests, violation requests, or responses to your logging infrastructure.

• All customers have a user ID.

• You use HTTP methods to view or update your customer list.

Data specification from developer

Your developer supplies you with the following sample command syntax that users can apply to update and view customer
information.

To create a new customer

• Use the following command syntax::


+POST/api/v1/customers
{
"name":"CompanyAcme", "contact"{

20
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

"name":"JohnDoe", "phone":"+1­123­123­1234",
"email":"[email protected]"
},
"active":"true"
}

To list customers

• Use the following command syntax:


+GET/api/v1/customers
{
"customer":{
"id":"508FBD4­593­4BD7­BF8E­0DA6BFACA0E4",
"name":"CompanyAcme", "contact":{
"name":"JohnDoe", "phone":"+1­123­123­1234",
"email":"[email protected]"
},
"active":"true", "created":"1476909" "modified":"1476939",
}
}
­R ESPONSE:
{
"customer":{
"id":"508FBD4­593­4BD7­BF8E­0DA6BFACA0E4"
},
"status":"created"
} [FIGURE]

To view a specific customer

• Use the following command syntax:


+ GET /api/v1/customers/:customer _ uuid
- RESPONSE
{
"customer": {
"id":"5088FBD4­5933­4BD7­BF8E­0DA6BFACA0E4",
"name":"Company Acme", "contact": {
"name":"John Doe", "phone":"+1­123­123­1234",

21
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

"email":"[email protected]"
},
"active":"true",
"created":"1447669909"
"modified":"1447669939",
}
}

Create a security policy to protect REST API


The BIG-IP ASM system allows a security policy to be as explicit or general as necessary with regard to a RESTful API. However,
define your policy as specifically and explicitly as possible to reduce the risk associated with its use.

Using the data specification for the API, you can manually create an explicit policy to allow users to view certain URLs and
parameters, but not others.

The more explicit configuration and security policy rules, the more potential for false positives. However by keeping track of
updates in your API, you can keep the security policy updated to reflect new changes and available URLs or added HTTP
methods.

Note You can protect data by using the BIG-IP ASM system to deny access
from automated libraries (liburl, python, php-curl, curl, wget, etc.), and to
deny known malicious bots and crawlers access to the system, as well.

Because in this example the application is built within your organization, you can set the policy enforcement mode to Blocking
immediately after applying the policy to your virtual server.

You will not use the Policy Builder in this example.

The tasks to create and apply the policy include the following:

1. Create a security policy with appropriate attack signatures enabled.

2. Create a JSON profile. Enable GET and POST HTTP methods in the security policy.

3. Enable additional HTTP methods.

4. Define accessible and inaccessible URLs for your API.

5. Modify the security policy to include the profile.

6. Delete wildcards.

22
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

7. Apply the policy to the virtual server and set the enforcement policy to Blocking.

To create a security policy with appropriate attack signatures enabled

1. Navigate to Security >> Application Security : Security Policies : Active Policies and click Create.

2. For Local Traffic Deployment Scenario, select Do not associate with Virtual Server, and click Next.

3. For Deployment Scenario, select Create a security policy for XML and web services manually, and
click Next.

4. Name the policy, leave Application Language at the default setting Unicode (utf-8), clear Security Policy
is case sensitive and Differentiate between HTTP and HTTPS URLs, and click Next.

Note In this example, F5 assumes that your application does not rely on
case sensitivity, uses either HTTP or HTTPS protocols, and does not need to
differentiate between the protocols. Adjust the example, as necessary, for
your use.

5. Under Available Systems, Shift-select the following attack signature options:

• Unix/Linux

• Apache

• Node.js

• jQuery

• MondgoDB

Then click << to add them to Assigned Systems.

6. Clear Signature Staging, and click Next.

7. Click Finish.

To create a JSON profile

1. Navigate to Security >> Application Security : Content Profiles : JSON Profiles.

2. Give the profile a name (for example, json ) and a description.

3. For all the profile options, select Any.

23
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

Note For tighter security, you can set the maximum values instead of
selecting Any. You need to adjust these parameters as your API grows.

4. Click the Value Meta Characters tab and add the characters to disallow, as appropriate. For this example,
disallow the following:

• EOT

• BS

• TAB

• LF

• CR

• ESC

5. On the Sensitive Data Configuration tab, enter the Element names of any sensitive data that you do not
want logged. This may include any PII that you need to disallow, such as a customer name and address. For this
example, you are storing Employee Identification Numbers (EIN), which should not be displayed, so type ein, and
click Add.

6. Click Create, and click Apply Policy.

To enable methods

1. Navigate to Security >> Application Security : Headers : Methods, and click Create.

2. From Select Method, add PUT, and click Create.

3. Repeat step 2 for DELETE, OPTIONS, and PATCH.

4. Click Apply Policy.

Note In BIG-IP ASM 11.6.0, HTTP methods allow you to define global
options for permitted HTTP methods. In BIG-IP ASM 12.0.0 and later, you
can specify individual HTTP methods that the system allows for each
endpoint. Additionally, you can use an iRule to allow or deny specific HTTP
request methods against certain paths.

24
BIG-IP ASM API/WEB SERVICES PROTECTION
RESTful API services

To define accessible and inaccessible URLs for your API

1. Navigate to Security >> Application Security : URLs : Allowed URLs : Allowed HTTP URLs, and click
Create.

2. Add URLs that you want the customers to be able to access. For our example, for URL Example:*, type /
customers, and add a URL Description.

3. Clear Signature Staging, and click Create.

4. For URL Example: *, change Explicit to Wildcard, and type /customers/*.

5. Clear Perform Staging.

6. In Learn Explicit Entities, select Never (wildcard only) and add a URL Description, and click Create.

7. Click Apply Policy.

To modify security policy

1. Navigate to Security >> Application Security : Parameters : Parameters List, and click Create.

2. For Parameter Value Type, select JSON value.

3. For Parameter Name, select Wildcard and type a name (for example, customer).

4. Clear Perform Staging and Allow Empty Value.

5. Click Create.

To delete wildcards

1. Navigate to Security >> Application Security : Parameters : Parameters List, select the wildcard *
parameter, and click Delete.

2. Navigate to Security >> Application Security : URLs : Allowed URLs : Allowed HTTP URLs, select the
wildcard * URL, and click Delete.

3. Click Apply Policy.

You can now apply the policy to a virtual server, and set the policy enforcement mode to Blocking.

25
BIG-IP ASM API/WEB SERVICES PROTECTION
Validation

Validation
You can test API URLs using smoke testing. Smoke testing allows you to use the API as if you were in a production environment.
Even if your API is still being developed, you can conduct smoke testing and regression testing in a non-production environment
to identify issues with the policy.

In this example, smoke tests are run against a sample API, learning the URIs, parameters, and various positive enforcement
entities. The enforcement mode is set to Blocking, and tests are run again. Chaos Monkey is also used to test the policy against
a variety of attack vectors, including null byte, directory traversal, disallowed HTTP methods, and others. These vectors are
tested against a variety of paths to make sure requests are blocked, alarmed, and/or logged as specified in the configuration.

26
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
BIG-IP ASM EVENT LOGGING
Log display formats

BIG-IP ASM Event Logging


When appropriately configured and integrated with a security-event management process, the BIG-IP ASM system captures and
allows visibility and insights into forensic data. You can use the BIG-IP ASM pre-configured logging options or customize them.

When logging to a remote destination, see product documentation to determine whether a custom format is required.

Note F5 technology partner ArcSight sends logs in Common Event Format


(CEF), which is a standard for the Security Information and Event
Management (SIEM) industry. Many logging and reporting products can
properly consume messages in this format.

For more information and guidance, see Logging Considerations and AskF5 article SOL9435: Overview of the Storage Format
option for a remote logging profile.

Log display formats


When the BIG-IP ASM logging format and log server are appropriately configured, the system logs every violation identified in a
specific request as a single log message.

Violation logs run at the command line


In the following example violation log message at the command line, the violations for a specific request and support ID number
appear in bold text for emphasis.
Jan 10 09:15:37 bigip.f5demo.com ASM:unit _ hostname="bigip.f5demo.
com",management _ ip _ address="10.128.1.245",http _ class _ name
="/demo/dvwa.vlab.2",web _ application _ name="/demo/dvwa.vlab.2",policy _
name="/demo/dvwa.vla b.2",policy _ apply _ date="2016­01­10
09:14:34",violations="Illegal meta character in value,Attack signature
detected,Illegal parameter value length",support _
id="623951107638431468",request _ status="blocked",response _ code="0",ip _
cli ent="10.128.10.1",route _ domain="0",method="GET",protocol="HTTP",query _
string="id=%27OR+1% 3D1­­. . .

Support ID
The support ID number identifies the request and is associated with the local request logs, manual learning suggestions, and the
remotely logged message.

Violations
The violations found in the previous example include the following:

• Illegal meta character in value.

28
BIG-IP ASM EVENT LOGGING
Log display formats

• Attack signature detected.

• Illegal parameter value length.

Violation log in the Configuration utility


In the BIG-IP ASM Configuration utility, the log for this request displays as follows:

Figure 3.1 Violations displayed on the Request Details tab in BIG-IP ASM Configuration utility

Under the Request Details tab, the Violations area shows violations triggered by the request and identifies violation types. The
Learn column indicates whether the current security policy needs to learn this violation in order to pass it.

The log message also includes the full query string and POST data, which may be used to determine whether a formatted
request is legitimate or malicious.

29
BIG-IP ASM EVENT LOGGING
Remote logging

Note Query string data is constrained by the maximum entry limit.

Logging both valid and violation requests may significantly increase size of your logging files...

By default, the local log storage is finite with a maximum capacity of 3 million records stored across all BIG-IP ASM security
policies and 2 GB in database table size.

Log entries are rotated out on a strict age basis. If you log multiple applications locally, it is possible for one application to
generate more than its share of messages, filling the log and pushing out entries for other applications before they can be
investigated.

The local log provides detailed information for all learning suggestions. If the log rate is too high, it is possible for the BIG-IP ASM
system to lose detailed information for learning suggestions that are current for the policy.

Remote logging
Local logging may significantly impact disk performance, especially on systems with slow disk subsystems.

F5 recommends externally logging all or at very least all illegal requests to a security information and event management (SIEM)
system for better data retention, searching, event correlation, and scalability.

For logging on remote storage, TCP and UDP are used for log delivery. UDP has lower overhead but can only log up to 1KB of
data per log entry, while TCP delivers greater reliability and allows up to 64KB of data per log entry. This greater capacity for data
makes TCP a better choice as it allows storing complete log entries.

F5 recommends using session tracking to log only violations rather than all requests. Session tracking allows you to log all
requests which cross specific violation thresholds for only specific sessions. This reduces load and data retention requirements
by capturing full requests for only suspicious activities without logging the full requests for all sessions.

When using Remote Storage type Remote in BIG-IP 11.6.0, or Comma Separated Values in BIG-IP 12.0.0, consider the order
in which the Selected Items are defined in the Storage Format.

By default, the full request is sent in the middle of the log entry. This may cause items such as violations to be lost if the log data
limit is met before they appear. You can set the Maximum Request Size and Maximum Query String Size to fix this problem.
See the following table for recommended settings.

30
BIG-IP ASM EVENT LOGGING
Remote logging

Table 3.1 Log format configuration options

BIG-IP ASM 12.0.0 and later Limit Request Size Limit Query String Specify Storage
Size Format

Comma-Separated Values Yes Yes Yes

Key-Value Pairs Yes Yes No

Common Event Format (ArcSight) Yes No No

BIG-IQ Yes Yes No

BIG-IP ASM 11.6.0 Limit Request Size Limit Query Specify Storage
String Size Format

Remote (CSV) Yes Yes Yes

Reporting Server (Key-Value Pairs) Yes Yes No

ArcSight (CEF) Yes No No

31
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
POLICY TUNING AND ENHANCEMENT
Traffic Learning

Policy Tuning and Enhancement


The Policy Builder is the automated tool with which you create a security policy. You can run the Policy Builder to build a new
security policy, or to update an existing security policy. Policy Builder combines manual and automatic tuning of BIG-IP ASM
security policies. It can run in automatic or manual mode, or it can be disabled.

BIG-IP ASM 12.0 Policy Builder updates


Several updates have been made to Policy Builder for version 12.0.0, including the following:

Staging, enforcement, and learning suggestions can be configured manually or by the BIG-IP ASM system.

Security checks Learn, Alarm, and Block are now system-wide settings integrated with Policy Builder.

An improved learning suggestions mechanism handles requests, with or without violations, for manual and automated policy
building.

Traffic Learning
Learning suggestions can result in policy changes, such as adding entities, disabling an attack signature, or making the policy
more robust based on characteristics of the traffic.

In BIG-IP 11.6.0, learning suggestions are displayed on the Traffic Learning page at Security >> Application Security: Policy
Building: Traffic Learning.

Figure 4.1 BIG-IP ASM 11.6 Manual Traffic Learning screen

In BIG-IP 12.0.0 and later, the configuration for the Enforcement Mode, Learning Mode, Policy Type, and Learning Speed

33
POLICY TUNING AND ENHANCEMENT
Traffic Learning

is on the Learning and Blocking Settings page: Security >> Application Security : Policy Building : Traffic Learning.

Figure 4.2 BIG-IP 12.0 Traffic Learning page

Table 4.1 Examples of Policy Builder Learning Suggestions

Event Suggestion

An attack signature violation due to a false positive Disable attack signature.

Traffic entities not in the policy, such as Add entity to policy.


parameters (and their characteristics)

When using the manual mode in BIG-IP 11.6.0, you can modify a policy without having any correlated or weighted suggestions
from the BIG-IP ASM system.

In BIG-IP 12.0.0 and later, Policy Builder runs in the background to make it easier for you to make policy modification decisions
when in manual mode.

The BIG-IP ASM system provides suggestions based on the number of requests and how often a signature is triggered. The
system also displays a request violation rating based on statistical calculations from different sessions and client IP addresses,
with a learning score on a scale from 0 to 100 percent.

If using Policy Builder, once a suggestion reaches 100 percent, the BIG-IP ASM system automatically accepts it. If you are using
the manual policy builder, the suggestion stays on the Traffic Learning page until you accept it.

When you accept a suggestion, it is added to the policy. You also can delete suggestions. If you delete a suggestion, it is
removed and can be learned again. If you ignore the suggestion, it is hidden.

You can accept a suggestion at any time in either Policy Builder or in manual mode.

34
POLICY TUNING AND ENHANCEMENT
Configuration guidelines

Note The default learning suggestion filter uses a 5-100 percent learn score
to filter out suggestions with a single occurrence or those not likely to be a
false positive.

Configuration guidelines
This section covers guidelines for common configuration tasks involved in setting up a new policy.

Determine and configure sensitive parameters


Sensitive parameters include private data such as credit card numbers and other personally identifiable information (PII). F5
recommends that these parameter values be masked from logs. In some cases, masking is mandatory for regulatory compliance.

The easiest method to determine whether sensitive information exists, is to request from the application owner, a list of the
sensitive parameters for your application, such as password-based accounts, sensitive session data, and other parameters.

Another method to determine whether sensitive information exists, is to use parameter learning to create suggestions in the entity
learning section. Parameter learning accumulates parameters present on the site, which you can then examine and determine
whether each is sensitive. Parameters can be targeted by name and value.

For more information, see Masking Credit Card Numbers in Logs in BIG-IP Application Security Manager: Implementations.

Create policy templates


F5 recommends that you create a baseline policy for your environment, which includes the basic security requirements that are
embedded in the policy components. You can make these policies into a template in the BIG-IP ASM system configuration and
re-use them as a base for any future policies that you create for the environment.

For more information, see UPDATE THIS LINK

Disable case sensitivity in policies


By default, the BIG-IP ASM system is case-sensitive; however, to reduce the chance of false positives, F5 recommends that you
create policies with case sensitivity disabled.

While most web applications do not treat URIs with case sensitivity, some do. In such applications, example.html and
Example.html may see different web pages, each with their own associated content, parameters and security access controls.
In such cases, enabling case sensitivity is required.

Disable Illegal meta character in value


Unless your application requires a strict security posture, you can disable the Illegal meta character in value violation.
Enforcing against illegal meta characters involves a tuning period during which alarms are tuned down or changed to Allowed for
a specific parameter or for the policy in general.

35
POLICY TUNING AND ENHANCEMENT
Configuration guidelines

Some meta characters are considered risky (such as "<" and " ' "), but most attacks taking advantage of these commonly abused
meta characters have matching attack signatures.

Configure vulnerability scanners


Vulnerability assessment services identify, classify, and report potential security holes or weaknesses in web site code. The
BIG-IP ASM system integrates with vulnerability assessment services such as IBM Security AppScan Enterprise, Hailstorm,
QualysGuard, HP WebInspect, and WhiteHat Sentinel. It also integrates with other vulnerability assessment tools through the use
of a generic scanner.

To use vulnerability assessment scanners, you need to identify and configure the scanners' IP addresses in the IP address
exception section.

For more information, see Using Vulnerability Assessment Tools for a Security Policy in BIG-IP Application Security Manager:
Getting Started.

Customize default response pages

The BIG-IP ASM system uses a default blocking response page to notify users when a request has been blocked by a security
policy. It also uses a default page to display when login violations occur.

The default blocking response contains one variable, <% TS.request.ID() %>, which BIG-IP dynamically replaces with a
support ID reference number for the specific request or response that triggered the blocking event.

You can easily create a custom blocking response page for either general violations or login-specific violations. You can style it to
match your organization or application style or branding. F5 recommends that you customize the page so at a minimum it
includes contact information and steps that users can take to address the violation.

F5 recommends that you host required assets for the blocking response page outside the BIG-IP environment serving it. For
example, you can place assets on CDN (Content Delivery Network)/"sorry server".

Because of potential Cross Origin Resource Sharing (CORS), assets stored on a CDN/"sorry server" may become unavailable to
the response page. If this happens, try placing assets like CSS stylesheets inline to the HTML markup as in the following code
example:
<!doctype html>
<html>
<head>
<meta charset="utf­
8">
<meta http­equiv="X­UA­Compatible"
content="IE=edge,chrome=1">
<title>Request Blocked | Company Acme</title>
<meta name="viewport" content="width=device­
width">

36
POLICY TUNING AND ENHANCEMENT
Configuration guidelines

<style type="text/css">
*, *:after, *:before {
­webkit­box­sizing: border­box;
­moz­box­sizing: border­box;
­ms­box­sizing: border­box; box­sizing: border­box; }
html {
background: #fff;
font: bold 16px/24px "Helvetica Neue Lt Std Light", "Tablet
Gothic", Helvetica, Arial, sans­serif;
color: #000;
}
body { width: 100%; margin: 100px auto;}
.logo { padding: 5px; width: 100%; display: block; text­
align: center;
margin­left: ­100px; }
.logo img { padding: 8px; max­
height: 64px; }
section .message { background: #fafafa; color: #666; width: 410px;
margin: 0 auto; padding: 8px 15px 32px 15px; border: 1px solid #e2e2e2;}

Note F5 recommends that you serve the blocking response page assets
from a local “sorry server” and have the BIG-IP ASM system redirect violating
clients with the proper support ID.

F5 recommends that you do not embed images in the BIG-IP ASM response page.

For more information, see the AskF5 article SOL7825: Redirecting a blocking response support ID to an external error page and
Configuring What Happens if a Response is Blocked in BIG-IP Application Security Manager: Implementations.

Disallow malicious file types

If your application contains a dynamic list of file types, you can create a list of disallowed file types to block using one illegal file
type violation.

For most applications, F5 recommends that you block the following file types: bat, bck, bin, cfg, cmd, com, config, dat, dll,
eml, exe, exe1, exe_renamed, hta, htr, htw, ida, idc, idq, ini, log, nws, old, pol, printer, save, shtm, shtml, stm, sys,
wmz.

To disallow file types, you can enter them individually by navigating to Security >> Application Security > File Types >
Disallowed File Types – Create, or you can import the following list in the XML policy configuration:
<disallowed _ file _ types>
<file _ type name="bat"/>

37
POLICY TUNING AND ENHANCEMENT
Manual learning and policy building

<file _ type name="bck"/>


<file _ type name="bin"/>
<file _ type name="cfg"/>
<file _ type name="cmd"/>
<file _ type name="com"/>
<file _ type name="config"/>
<file _ type name="dat"/>
<file _ type name="dll"/>
<file _ type name="eml"/>
<file _ type name="exe"/>
<file _ type name="exe1"/>
<file _ type name="exe _ renamed"/>
<file _ type name="hta"/>
<file _ type name="htr"/>
<file _ type name="htw"/>
<file _ type name="ida"/>
<file _ type name="idc"/>
<file _ type name="idq"/>
<file _ type name="ini"/>
<file _ type name="log"/>
<file _ type name="nws"/>
<file _ type name="old"/>
<file _ type name="pol"/>
<file _ type name="printer"/>
<file _ type name="save"/>
<file _ type name="shtm"/>
<file _ type name="shtml"/>
<file _ type name="stm"/>
<file _ type name="sys"/>
<file _ type name="wmz"/>
</disallowed _ file _ types>

For more information, see Adding File Types to a Security Policy in BIG-IP Application Security Manager: Implementations.

Manual learning and policy building


Learning suggestions provide a concise list of application components observed by the BIG-IP ASM system that are not found in

38
POLICY TUNING AND ENHANCEMENT
Manual learning and policy building

the security policy.

The BIG-IP ASM system generates learning suggestions for violation types that have the Learn flag enabled on the Blocking
Settings page (in BIG-IP 11.6.0) or the Learning and Blocking Settings page (in BIG-IP 12.0.0 and later).

When the system receives a request triggering a violation, it updates the Manual Traffic Learning page (in BIG-IP 11.6.0) or the
Traffic Learning page (in BIG-IP 12.0.0 and later) with learning suggestions based on information from the violating request.

You can review learning suggestions to determine whether the listed requests triggered a legitimate security policy violation or
whether you need to update the security policy to allow such requests.

Learning suggestions enable you to create policy entities based on actual traffic. They provide the number of times each violation
has occurred and a list of the requests that contain violations. From this information, you can make policy decisions.

Accept or clear learning suggestions


As part of tuning your policy, you need to decide whether to accept a learning suggestion, add it to the policy, or clear it and
remove it from learning suggestions. Consider the following questions:

Does the violating entity make sense for the application? (For example: Does the application make use of .WOFF file types?)

Can the application owner provide a summary of which entities should be allowed into the application?

How many learning suggestions exist for the given entity? Numerous occurrences may indicate a false positive.

General guidelines for manual learning suggestions


There is a limit to the number of learning suggestion records that can be stored. To avoid exceeding retention limits and losing
suggestion data, F5 recommends that you remove flags from violations once you have captured the necessary information.
Further, F5 recommends that you enable learning only for policies that you are actively modifying or configuring, or for
applications you are actively tuning.

Learning suggestion records expire at a rate determined by the number of violations set in Blocking Settings and the number of
policies using traffic learning. Since learning suggestion requests are not indefinitely retained, F5 recommends that you regularly
review suggestions on any policy that the system is actively learning, or use the Policy Builder.

To see the impact of new or updated signatures, enable learning suggestions on all or select violations when updating attack
signatures. Doing so can help ensure proper policy configuration and reduce potential false positives. Learning suggestions do
not sync or move between the BIG-IP ASM system systems and therefore can only be found on the active unit that learned the
traffic. When a failover occurs, you must fail back to the original system to access learning suggestions. Also, learning
suggestions are cleared when a system is upgraded. F5 recommends that you accept or clear all learning suggestions before
you upgrade your system.

For more information, see Refining Security Policies with Learning in BIG-IP Application Security Manager: Implementations.

39
POLICY TUNING AND ENHANCEMENT
Tuning violations

Tuning violations
Policy violations are displayed on the Policy Building: Traffic Learning page. An important part of tuning your policy is to fix
violations and manage issues associated with false positives. For example, legitimate application traffic may be disrupted if your
policy is blocking violation types that create false positives. Even if blocking for a violation is off, false positives can trigger alarms,
and an excess of improperly logged violations can create noise that may distract from real issues.

In many cases, violations show both malicious traffic and legitimate traffic. If the system is blocking legitimate traffic (a false
positive), you can address these violations by accepting the related suggestion—also known as loosening the policy--even
though malicious requests were also detected by the same violation.

This may seem counterintuitive, since the policy, by design, successfully detected and blocked malicious traffic, but it is better to
loosen the policy than to create false positives or excessive, improperly logged violations.

Tuning based on deployment environment


Use the following policy tuning guidelines for any violation, based on the deployment environment:

Non-production environment (QA or Test): Only valid traffic requests should exist in a non-production environment; however,
policy violations may still occur with a new policy or as a result of an application update.

If vulnerability scanning and penetration testing are performed, make sure to exclude that traffic from Learning to distinguish it
from legitimate traffic. Address all generated violation types, and accept all resulting learning suggestions for the security policy.

Production environment: Once a mature policy is deployed to production, most violations will likely represent malicious
attacks; however, some false positives may occur, depending on how much tuning you did before deployment. Some violation
types are more prone to false positives than others.

Other than volumetric attacks, most real attacks do not cause high volumes of traffic, so a large number of incidents associated
with a particular violation type increases the likelihood that false positives exist.

Tuning based on violation type and deployment environment

The following section lists the most common policy violation types and how to treat each, based on whether they occur in a
production or non-production environment.

Illegal File Type


Triggered by: Request accesses a file type that is not found in the security policy.

Non-production environment: Accept. This violation typically occurs when new application resources are added or new
technology is adopted in the application.

Production environment: Unless these violations occur in conjunction with a new application update, violations of this type in
a production environment are generally malicious and you should not accept as a learning suggestion or loosen the policy.

40
POLICY TUNING AND ENHANCEMENT
Tuning violations

HTTP protocol compliance failed


Triggered by: Request does not comply with a number of HTTP protocol compliance checks.

Non-production environment: Accept immediately.

Production environment: Do not accept. Regard as an attack. If data shows high number of incidents, review several of the
incidents for malicious traffic. If samples are malicious, ignore the learning suggestion and do not disable the violation. If the
incident count is low, these are very likely malicious. However, application updates or new types of clients may rarely trigger this
type of violation. If false positives are evident, disable the improper firing protocol compliance check.

Illegal Method
Triggered by: Request uses the HTTP method not allowed by the security policy.

Non-production environment: Accept immediately.

Production environment: Regard new methods triggered as attacks. If you observe a high number of incidents, review the
data for false positives. These false positives are typically caused by a new type of client accessing the application. To permit a
new client type, update the policy to allow the new method.

Evasion Technique Detected


Triggered by: the BIG-IP ASM system fails to normalize requests. Normalization is the process of decoding requests that are
encoded. Several sub-violations for this violation exist.

Non-production environment: Accept, including all sub-violations.

Production environment: False positives are not uncommon for this violation type in the production environment. If they occur
after an application update and the incident count is high, sample the incident data to confirm that it is legitimate traffic. If the
traffic is legitimate, accept the learning suggestion.

Note Evasion Technique checks are global for the policy. If you accept the
learning suggestion for any subviolation, all Evasion Technique checks will be
disabled. The risk of disabling this check is mitigated by other security
checks, which occur after normalization process.

For more information on this violation type, see AskF5 article: SOL 7929: Working with Evasion technique detected violations.

Multiple Decoding Passes sub-violation


Triggered by: Any request requiring at least the configured number of legal decoding passes to achieve normalization. A
sub-violation of the Evasion Technique Detected violation, it controls the BIG-IP ASM system’s normalization process, in general,
as requests are processed. The default value for this setting is 2 decoding passes. This setting impacts operation of the
normalization process for the security policy, even if the Multiple Decoding sub-violation is not enabled.

41
POLICY TUNING AND ENHANCEMENT
Attack signature tuning

If this sub-violation is disabled, requests not exceeding the configured number of decoding passes can still trigger a violation of
other security checks. If requests exceed the configured number of decoding passes, a double-encoded request matching a
signature still causes a signature violation after decoding. In the same circumstance, if the sub-violation is enabled, such requests
generate a violation for both the signature and the sub-violation.

Non-production environment: Accept.

Production environment: False positives may rarely occur due to application updates. Review incidents for false positives. If
false positives exist, accept learning suggestion, which disables the sub-violation. Since normalization (including at least two
decoding passes) of requests occurs independently of this sub-violation, the policy will likely remain effective in mitigating attacks
using multiple encoding passes in an attempt to evade detection.

Attack signature tuning


Attack signatures are rules or patterns that identify attacks or classes of attacks on a web application and its components. When
the BIG-IP ASM system receives a request, the system applies the attack signatures associated with the security policy to the
request. If, in the request (or response), a pattern matches one or more of the attack signatures, the system generates the Attack
signature detected violation. If the enforcement mode is blocking, the system also blocks the request and issues the Blocking
Response Page to the client making the request.

False positives
Indicators of potential false positives include the following:

High occurrence of a specific attack signature—particularly a new one--triggering high volume of violations. The signature is likely
detecting a portion of application code as an attack.

Newly implemented signature registering immediate violations. When adding new signatures to a policy, either through signature
updates or through application of additional current signatures, F5 recommends that you turn on learning for the signatures. If
new signatures register immediate violations, review the requests to confirm legitimate blocking or to see if the signature is
causing a false positive.

Find and fix false positives


Find the request that triggered the violation. F5 recommends that you turn on Learning for signatures to help catch the
request that triggered the violation.

Review the request for malicious content. If possible, consult the application owner, who may be able to help determine
valid traffic from malicious traffic.

Correct the false positive. Your action depends on the nature of the false positive and your ability to fix it. There are common
methods for correcting a false positive while maintaining good security posture:

• Disable the attack signature (either globally or on at the parameter level).

42
POLICY TUNING AND ENHANCEMENT
Transition enforcement mode from Transparent to Blocking

• Create a user-defined attack signature (may involve a high level of complexity).

• Open an F5 support case to request attack signature tuning.


For more information, see Open a support case.

If the violation is not a false positive, nothing more needs to be done.

Transition enforcement mode from Transparent to Blocking


F5 recommends that you transition a security policy's enforcement mode from Transparent to Blocking to put security settings
into effect after you have reduced the chances of false positives occurring.

The following table shows the various violation types and the recommended period they should spend in the production
environment without triggering false positives before you transition the enforcement mode to Blocking.

Table 4.2 Transition period for the BIG-IP ASM system violations

Policy Builder trusted IP Disable

Ignore in Anomaly Detection Enable

Ignore in Learning Suggestions Enable

Never block this IP Address Disable


Enable if scanner will scan and report on back-end security vulnerabilities. Illegal
Method.
Illegal HTTP Response.
Request length exceeds defined buffer size.
Modified BIG-IP ASM cookie.
Access from disallowed User/Session/IP.
Access from disallowed geolocation.
Attack signature detected. Specific signature detected. Non-human based clients
signature set (optional.)

Never log traffic from this IP Address Disable if evidence of violation must be shown (for security auditors, for example).
Enable to reduce spam violations in event log and make it easier to find real-time
attacks in production environment.
Attack signature detected: Remove attack signatures out of staging, resolve issues
with attack signatures triggered by false positives.
Illegal Redirection Attempts.

Ignore IP Address Intelligence Enable

43
POLICY TUNING AND ENHANCEMENT
Transition enforcement mode from Transparent to Blocking

Customize default response pages


The BIG-IP ASM system uses a default blocking response page to notify users when a request has been blocked by an
Advanced policy guideline.

Application language
Every web application has language encoding that determines the character set the browsers use to both display the page and
send any submitted form data. The BIG-IP ASM system supports multiple language encodings.

You can configure the language for new web applications (or those you want to reconfigure), and you set the language encoding
using the Deployment wizard. F5 recommends that you select the default setting, Auto detect, when it is available. The
Application Security Manager determines the acceptable character set for the application.

Note Once you set the web application language, you cannot change it
unless you reconfigure the web application completely, losing all settings. For
information about reconfiguring web applications, see Returning a web
application to a new, unconfigured state.

Application language guidelines


• Make sure Policy Builder detects correct character encoding language to avoid false positives due to character encoding.

• If manually setting the application language, make sure you know the character set the application will use for HTML form
submission.

For more information, see the Ask F5 article SOL6335: Overview of encoding language settings for BIG-IP ASM.

The BIG-IP ASM system checks to see if the sequence of bytes is valid within the defined encoding. Sequences not found trigger
the Failed to convert character violation.

However, the BIG-IP ASM system attempts to parse the data, even when the encoding is wrong. For example, a web application
configured with ISO-8859-8, while the web site sends pages in UTF-8 encoding, requests generated from pages contain UTF-8
encoded data. If the application cannot parse the data as ISO-8859-8, but can validate it as ISO-8859-8 characters in UTF8, the
request does not cause a Failed to convert violation.

JSON/XML considerations
By default, the BIG-IP ASM system expects HTML form data. If an application contains either XML or JSON protocols, the
security policy accounts for this using content profiles.

F5 recommends that you associate an XML/JSON content profile for generic policies that create wildcard entities.

XML/JSON for content type requests (URL)

44
POLICY TUNING AND ENHANCEMENT
Session tracking and login pages

For content-type-based XML/JSON, a generic content profile using header-based content validation must be associated with a
URL wildcard entity.

For more information see Adding JSON Support to an Existing Security Policy in BIG-IP Application Security Manager:
Implementations.

XML/JSON for HTML form data parameter value


For XML/JSON protection at the parameter value level, identify the specific parameter that contains the protocol, and apply a
generic content profile; this enables the BIG-IP ASM system to process the traffic appropriately.

Large file uploads


The BIG-IP ASM system has a default limitation of 10 MB for incoming HTTP requests. You can increase this limit up to 30 MB.

When an incoming request exceeds the defined buffer size, the Request length exceeds the defined buffer size violation
setting determines whether a request will be blocked or bypassed.

Set this violation to Blocking if the protected environment is not expecting large file uploads. Requests will bypass the security
policy after inspecting up to 10KB of the request (containing the requests' headers, URIs, and initial request payloads).

For more information, see the AskF5 articles: SOL935: Error Message: Request length exceeds defined buffer size and
SOL17573: The BIG-IP ASM system does not need to be disabled to allow large file uploads.

Working with external caching server (CDN)


X-Forwarded-For (XFF) headers: The traffic that passes through CDNs is usually NAT. CDNs use the initiating client IP
address HTTP request and add it as a header to that request and send it on to its destination.

You can set the BIG-IP ASM system to trust the IP address contained within the HTTP header instead of the NAT IP address from
the CDN. Trusting the X-Forwarded-For (Header name may vary depending on the CDN) is generally preferred, as you will see
the actual client IP address in the log files.

For a DoS profile, the Insert X-Forwarded-For should also be enabled. It uses a default page to display when set in the HTTP
profile used on the virtual server being protected.

Mandatory HTTP header violation searching for CDN based headers: Some HTTP headers should always appear in
traffic that was forwarded by CDN servers. These headers can be added to a policy and checked to verify that traffic came from
the CDN.

Session tracking and login pages


You can track user sessions using login pages that are configured in the BIG-IP ASM system, or you can have the policy retrieve
the user names from the BIG-IP APM system.

45
POLICY TUNING AND ENHANCEMENT
Session tracking and login pages

The advantage of using session tracking is that you can identify the user and the unique session for each request, which provides
additional data points that you can use in combination with the source IP address to investigate suspicious traffic.

Whether you create them manually or automatically, login pages define the URLs, parameters, and validation criteria required for
users to log in to the application. User and session information is included in the system logs so you can track a particular
session or user. The system can log activity, or can block a user or session if either triggers more violations than the configured
threshold allows.

Figure 4.3 BIG-IP ASM 12.0 New Login Page

You can use login pages in the following ways:

• Track a specific user instead of using the authenticated session. Tracking by IP address is impractical for a number of
reasons. .

• Block suspicious sessions once specific limits are triggered. You can configure limits as a number of violations per unit of
time, per user, or per session. This might be an attacker with automated scanner-tools that are generating a high rate of
alerts per time frame. If the limits are exceeded, the attacker is blocked for a specific amount of time.

46
POLICY TUNING AND ENHANCEMENT
Session tracking and login pages

The default blocking response contains one variable, <% TS.request.ID() %>, which BIG-IP dynamically replaces with a
support ID reference number for the specific request or response that triggered the blocking event.

You can easily create a custom blocking response page for either general violations or login-specific violations. You can style it to
match your organization or application style or branding. F5 recommends that you customize the page so at a minimum it
includes contact information and steps that users can take to address the violation.

F5 recommends that you host required assets for the blocking response page outside the BIG-IP environment serving it. For
example, you can place assets on CDN (Content Delivery Network)/"sorry server".

Because of potential Cross Origin Resource Sharing (CORS), assets stored on a CDN/"sorry server" may become unavailable to
the response page. If this happens, try placing assets like CSS stylesheets inline to the HTML markup as in the following code
example:
<!doctype html>
<html>
<head>
<meta charset="utf­
8">
<meta http­equiv="X­UA­Compatible"
content="IE=edge,chrome=1">
<title>Request Blocked | Company Acme</title>
<meta name="viewport" content="width=device­
width">
<style type="text/css">
*, *:after, *:before {
­webkit­box­sizing: border­box;
­moz­box­sizing: border­box;
­ms­box­sizing: border­box;box­sizing: border­box;}
html {
background: #fff;
font: bold 16px/24px "Helvetica Neue Lt Std Light", "Tablet
Gothic", Helvetica, Arial, sans­serif;
color: #000;
}
body { width: 100%; margin: 100px auto;}
.logo { padding: 5px; width: 100%; display: block; text­
align: center;
margin­left: ­100px; }
.logo img { padding: 8px; max­
height: 64px; }
section .message { background: #fafafa; color: #666; width: 410px;
margin: 0 auto; padding: 8px 15px 32px 15px; border: 1px solid #e2e2e2;}

47
POLICY TUNING AND ENHANCEMENT
Compare and merge policies

Note F5 recommends that you serve the blocking response page assets
from a local “sorry server” and have the BIG-IP ASM system redirect violating
clients with the proper support ID.

Monitoring and configuration


User tracking events are monitored through the standard Reporting UI pages within BIG-IP ASM Security.

For more information, see Configuring Application Security Session Tracking in BIG-IP Application Security Manager:
Implementations or Tracking User Sessions in BIG-IP Application Security Manager: Implementations.

Compare and merge policies


You can use Policy Diff in the BIG-IP ASM system to compare two security policies, view the differences between them, and
copy the settings from one policy to the other.

The most common uses for Policy Diff are:

Auditing two policies to determine the differences between them.

Comparing and merging a production policy with a policy running in a staging environment.

Comparing two policies


The following figures show how to compare two different BIG-IP ASM policies and merge them into a new policy:

Figure 4.4 Using Policy Diff tab to merge two policies

After selecting the two policies, you can compare them.

The following figure shows the differences between the two policies. Each policy has a modified signature list. Policy /common/
production shows that /config/access is disabled and policy /common/staging shows that /dms/AggreSpy is disabled.

48
POLICY TUNING AND ENHANCEMENT
Compare and merge policies

Figure 4.5 BIG-IP ASM Policy Diff screen

You can now use the Policy Diff functionality to only monitor and audit the changes, or to move the changes from the policies to
a new copy of the policy, which contains both modifications.

For more information, see Maintaining Security Policies in the BIG-IP ASM Implementations Guide.

49
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
REGULATORY COMPLIANCE
Regulatory compliance of WAFs

Regulatory Compliance
This chapter contains guidance to enhance BIG-IP ASM security policies and improve compliance with various regulatory
regimes.

Review this chapter to determine the type of policy you want to use as your basis for compliance, then create an appropriate
security policy or create a unique policy based on your specific security needs.

Regulatory compliance of WAFs


You may be responsible for achieving compliance with one or more regulatory regimes. The difficulty is that regulatory regimes
are rarely specifically defined web application firewalls (WAFs).

Many regulatory compliance mandates provide few specific implementation requirements and leave areas open to interpretation.
F5 recommends using the BIG-IP ASM system to secure your web application environment with consideration for the security
posture of the organization, the sensitivity and threat surface of the applications, and the application security resources available.

Whether a particular implementation satisfies the regulations is often subject to interpretation. F5 recommends consulting
organization security policies, auditors, and regulatory bodies to determine whether applications are compliant with a particular
regime.

This chapter provides guidelines to ensure that the BIG-IP ASM system is configured and an appropriate policy is created for
implicated applications.

These guidelines are intended to:

• Make sure that WAF-specific requirements are met.

• Make sure that the introduction and configuration of the BIG-IP ASM system does not accidentally expose the organization
to non-compliance.

• Make sure that the BIG-IP ASM system is used to achieve commonly requested regulatory requirements that are not
specific to WAFs, where the BIG-IP ASM system can improve compliance or function as a compensating control for
security purposes.

These guidelines are limited to the configuration of the BIG-IP ASM system behavior and security policy.

Regulations that govern the overall device posture and administrative controls are not within the current scope of this document.
Examples of what is not covered include overall device hardening, multi-factor requirements for administrative access, and device
patching.

51
REGULATORY COMPLIANCE
Open Web Application Security Project Top 10

Important These are guidelines only. Implementation of these


recommendations does not guarantee compliance.

Open Web Application Security Project Top 10


Open Web Application Security Project (OWASP) is a comprehensive resource for secure web application coding guidance,
application testing procedures, and vulnerability categorization and mitigation strategies. OWASP periodically updates and
publishes a “Top 10” list of vulnerabilities. (This link sends you to an external site.) The Top 10 list includes vulnerabilities against
which organizations should be particularly diligent to protect their applications. The BIG-IP ASM system can detect and report
exploit attempts seeking to take advantage of many of these vulnerabilities.

The following table lists BIG-IP ASM system components and capabilities that you may find useful when creating a security policy
to mitigate the listed vulnerabilities. Where applicable, the Policy Type that will automatically include the mechanism is listed in
parentheses.

Table 5.1 OWASP compliance

Vulnerability BIG-IP ASM Controls

A1 Injection flaws Attack signatures


Meta character restrictions (Enhanced or Complete)
Parameter value length restrictions

A2 Broken authentication and Brute Force protection


session management Session tracking
HTTP cookie protection (Enhanced)

Important BIG-IP APM may be required for applications with


very weak or vulnerable authentication mechanisms.

A3 Cross-site scripting Attack signatures


Parameter meta characters (Comprehensive)
Parameter value length restrictions
Parameter type definitions (such as integer)

52
REGULATORY COMPLIANCE
Payment Card Industry Data Security Standard 3.1

Vulnerability BIG-IP ASM Controls

A4 Insecure direct object File types (Fundamental)


reference URL (Enhanced)
URL flows (Comprehensive)
Attack signatures (Directory traversal)

A5 Security misconfiguration Attack signatures URL (Enhanced)

A6 Sensitive data exposure Data Guard

A7 Missing function level access Session tracking


control File types (Fundamental) URL (Enhanced)
URL flows (Comprehensive)

A8 Cross-site request forgery CSRF protection (Comprehensive)


(CSRF)

A9 Using components with Attack signatures


known vulnerabilities Vulnerability scanner integration

A10 Unvalidated redirects and Redirection protection


forwards Location header whitelisting URL (Enhanced)
URL flows (Comprehensive)

Payment Card Industry Data Security Standard 3.1


A commonly requested compliance assistance for the BIG-IP ASM system is associated with the Payment Card Industry Data
Security Standard (PCI DSS). WAFs are specifically referenced, in section 6.6 of the PCI DSS 1.1 (Sept., 2006), as one control
mechanism that an organization can implement to verify whether Internet-facing web applications are placing cardholder
information at risk.

The current version of the PCI DSS 3.1 (this link sends you to an external site) lists WAFs as mechanisms which organizations can
use to satisfy section requirements. You should become familiar with the entire DSS; specifically, section 6.5 describes the
application vulnerabilities that developers should take particular care to guard their applications against.

The following table lists requirements and BIG-IP ASM controls that you may find useful when pursuing PCI DSS compliance.
Where applicable, the Policy Type that will automatically include the mechanism is listed in parentheses. This table is similar to
the OWASP Top 10 list. You can see OWASP resources and related materials to improve the security of web applications when
pursuing PCI DSS compliance.

53
REGULATORY COMPLIANCE
Payment Card Industry Data Security Standard 3.1

Table 5.2 PCIDSS compliance

PCI DSS Requirements Description BIG-IP ASM Controls

Attack signatures
Meta character restrictions (Enhanced or Comprehensive)
6.5.1 Injection flaws Parameter length restrictions

Attack signatures
6.5.2 Buffer overflows Length restrictions (Fundamental or Comprehensive)

6.5.3 Insecure cryptographic storage Not applicable

Implement an http to https redirect iRule to require encryption


of all traffic and use rewrite profile if needed to rewrite explicit
HTTP references.
Implement server-side re-encryption via the Server SSL
profile.
Configure the BIG-IP ASM system to enforce URL flows to
6.5.4* Insecure communications prohibit HTTP requests (Comprehensive).

Allowed Response Codes


6.5.5 Improper error handling Attack signatures (Response checking required)

“High Risk” vulnerabilities (as


defined by the organization under BIG-IP ASM controls may be applicable depending on the
6.5.6 6.1) specific vulnerability.

Attack Signatures Parameter meta characters


(Comprehensive)
6.5.7 Cross-site Scripting Parameter length restrictions

Session Tracking
Attack signatures (Forceful browsing)
File types (Fundamental)
URL (Enhanced)
6.5.8 Improper Access Control URL flows (Comprehensive)

6.5.9 Cross-site Request Forgery CSRF Protection (Comprehensive)

* Specific requirements regarding SSL/TLS are new in PCI DSS 3.1. Specifically, the PCI DSS prohibits the use of SSL and TLS
version 1.0. For more information, see SSL Traffic Management in BIG-IP System: SSL Administration.

54
REGULATORY COMPLIANCE
Health Information Portability and Accountability Act

Additional regulatory compliance considerations


The following table lists additional PCI DDS considerations and F5 recommendations.

Table 5.3 Additional Payment Card Industry DDS requirements

Consideration Recommendation

Logging. By default, the BIG-IP ASM system may log Define all parameters that may include cardholder
cardholder data. This may contribute to data leakage. data as Sensitive to prevent the values from being
logged. For more information, see Adding Entities to a
Security Policy in BIG-IP Application Security Manager:
Implementations.

RFC compliance. The PCI DSS does not mandate that Configure RFC compliance to minimize vulnerabilities.
applications must comply with Requests for Comments
(RFC). However, non-compliant applications are vulnerable to
more threats.

Cardholder data leakage. The PCI DSS requires that Use Data Guard.
organizations ensure that cardholder data, such as social
For more information, see Protecting Sensitive Data with
security and credit card numbers, not be exposed in web
applications. Data Guard in BIG-IP Application Security Manager:
Implementations.

Evasion techniques. The BIG-IP ASM system normalizes Complete an evasion techniques policy audit
inputs and blocks requests using common evasion
For more information, Configuring Security Policy
techniques. Make sure that evasion techniques are enforced.
Also make sure that when a technique is allowed to Blocking in BIG-IP Application Security Management:
enable application functionality that it does not expose the Implementations.
application to additional risk.

PCI report
The BIG-IP ASM system includes a PCI report that you can run to help assess whether a given security policy is providing
adequate controls for an application. Compliance is defined as properly securing the application. The PCI report is a useful data
point, but must be augmented by testing the application with web application vulnerability scanners, manual testing of suspected
sections of an application, and consultation with your organization’s PCI auditors.

Health Information Portability and Accountability Act


Among other reasons, the Health Information Portability and Accountability Act (HIPAA) was mandated to control the ways in
which security and privacy of protected health information (PHI) must be ensured by regulated organizations. HIPAA is a broad
and non-specific regulatory regime, and security policy authorities and security administrators are given a wide margin to
determine how to implement the requirements. While WAFs are not explicitly referenced, web applications are important vectors
for possible exposure of PHI and it is important to properly protect them. Additionally, there are specific requirements that a
BIG-IP ASM administrator must comply with.

55
REGULATORY COMPLIANCE
Health Information Portability and Accountability Act

HIPAA is primarily focused on:

• Preventing accidental PHI exposure.

• Ensuring that PHI is only accessed by authorized individuals.

• Auditing and accounting all access to PHI and the systems that manage PHI.

• Ensuring that PHI is properly encrypted at all times, both during transmission and at rest.

• Disclosing any breach that compromises PHI in an accurate, complete, and timely manner.

The following table lists the requirements and BIG-IP ASM controls that you may find useful when pursuing HIPAA compliance.
Where applicable, the Policy Learning type level that will automatically include the mechanism is listed in parentheses.

Table 5.4 HIPPA compliance

Requirement BIG-IP ASM Controls

PHI Encryption. Network communications that Implement an http_to_https iRule to require


may include PHI must be encrypted at all times. encryption of all traffic.
Implement server side re-encryption via serverssl
profile.
Configure the BIG-IP ASM system to enforce
URL Flows to prohibit HTTP requests (Complete).
Ensure strong encryption.

Data Leakage. Data Guard may be customized to block or mask


requests including PHI if the administrator identifies
leakage in a web application.

PHI and PHI keywords are organization-specific.


You are encouraged to implement Data Loss
Prevention technologies to best protect PHI.

Logging. By default, BIG=-IP ASM may Define all parameters that may include cardholder
incorrectly log PHI data which could lead to data data as Sensitive to prevent the values from being
leakage. logged.

56
REGULATORY COMPLIANCE
National Institute of Standards and Technology

Requirement BIG-IP ASM Controls

Auditing. HIPAA is specifically concerned with BIG-IP Audit Logging BIG-IP ASM Change
“who accessed what, when, and how.” This Logging Session Tracking
includes comprehensive logging of all policy
changes and configuration changes to security
devices in the environment.

National Institute of Standards and Technology


National Institute of Standards and Technology (NIST) does not require WAFs to specifically address the requirements stated in
the following documents, but you can use the BIG-IP ASM system to mitigate some of the concerns and requirements in them.
(Links send you to external sites.)

NIST Information Technology Laboratory

Guidelines on Securing Public Web Servers

Another part of NIST regulations requires that your BIG-IP system is securely hardened. For more information, see the NIST
Special Publication 800-53 in DevCentral.

The following table lists the requirements and BIG-IP ASM controls that you may find useful when pursuing NIST compliance.
Where applicable, the Policy Learning type level that will automatically include the mechanism is listed in parentheses.

Table 5.5 NIST compliance

Consideration BIG-IP ASM Controls

Protocol Compliance On the Policy Settings page, enable HTTP protocol compliance checks to allow the
BIG-IP ASM system to enforce proper usage of the HTTP protocol, limiting automated
and other non-browser clients from accessing the web application.

Evasion Techniques On the Policy Settings page, enable evasion techniques to allow the BIG-IP ASM
system to find attempts to circumvent scanning and matching mechanisms, enhancing
the BIG-IP ASM system capabilities in enforcing security on the application.

Login Enforcement and Configure the login page(s) for the application.
Session Tracking
Enable Session Tracking and Login Enforcement. This allows the BIG-IP ASM
system to control which parts of the application are accessible only after a user
successfully logs in.

57
REGULATORY COMPLIANCE
National Institute of Standards and Technology

Consideration BIG-IP ASM Controls

Brute Force Protection After the login pages are configured, add Brute Force Protection to your policy to
make sure that authenticated users are not using brute-forced credentials.

Attack Signatures Attack signatures are enabled by default. The policy finds and enforces controls
for attempts to access predictable resources, such as active content libraries and
administrative folders.

File Types, URLs, and Enable Policy Builder to learn and populate a security policy, inspect traffic (requests
Parameters and responses), and build the application tree. This enables the BIG-IP ASM system to
enforce the policy and block access to URLs not specifically added and allowed during
the policy-building process.
You can choose to populate your policy with these application elements either
automatically or manually.

58
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
COMMON DEPLOYMENT TOPOLOGIES
Platforms and licenses

Common Deployment Topologies


The BIG-IP ASM system supports a variety of deployment topologies to secure applications, while it properly accommodates
unique network requirements, protected applications, and operational requirements.

This chapter provides an overview of the available the BIG-IP ASM system platforms and several common topology options,
including considerations for each. Specific and detailed configuration instructions are outside the scope of this document, but
may be found in articles and manuals on AskF5 and by searching DevCentral.

Platforms and licenses


BIG-IP ASM is available on physical and virtual platforms, including the following:

• BIG-IP hardware appliances

• BIG-IP Virtual Edition

• BIG-IP VIPRION

Platform choice determines the availability of topologies and scaling options. There are several factors to consider when you are
deciding on the appropriate platform, include the following:

• SSL/TLS encryption requirements

• Rate of environment growth.

• Number of applications

• Policy-building methods

• Deployment environment (traditional data center, cloud, or private or public hybrid cloud)

BIG-IP ASM can be licensed as follows:

• As a standalone BIG-IP ASM-only platform.

• As part of the "Best" bundle of the Simplified “Good/Better/Best” licensing model or as an add-on license to BIG-IP LTM.

For more information, see the F5.com Simplified Licensing page.

Hardware appliances
The BIG-IP ASM system is commonly deployed with Device Service Clustering, as a redundant system. However, other
deployment configurations are available. For more information, see BIG-IP Device Service Clustering: Administration.

60
COMMON DEPLOYMENT TOPOLOGIES
Platforms and licenses

Hardware sizing
The BIG-IP ASM system performs best on hardware devices that are properly sized for the protected applications, and that have
the following:

• Cryptographic hardware for offloading SSL/TLS computation

• Hardware compression for offloading http compression computations

• Solid-state drives for superior local I/O

• Enough available RAM, particularly when using traffic learning on multiple applications

• Enough CPU resources

Important RAM and CPU sizing recommendations for web application


firewalls vary widely by number and type of application, security policy
settings, and network conditions. Consult your F5 account team for
assistance in identifying the properly sized appliance for your security
requirements.

Upgrade hardware
Within BIG-IP hardware appliance series, each appliance is available in two models, which differ in CPU, SSL capacity, and other
characteristics:

• Base model (n0n0)

• Scale-Up model (n2n0)

Using a software license, you can upgrade most BIG-IP hardware appliances from a base appliance to a scale-up model in that
series. For most appliance series, you can purchase the base model and later increase performance by purchasing the scale-up
model. For example, if you purchased a 5050, using a software license key you can upgrade that model to a 5250, which nearly
doubles the capacity of the platform.

For more information, see the F5 Deployment Options page.

F5 FIPS models
Some F5 hardware appliances are available in a FIPS model for organizations storing their SSL/TLS private keys in a certified
Hardware Security Module (HSM). F5 FIPS models offer FIPS 140-2 level 2 compliance and also an interface to network HSMs
from Thales and Safenet (These links send you to external sites.)

For more information, see BIG-IP Platform: FIPS Administration.

61
COMMON DEPLOYMENT TOPOLOGIES
Platforms and licenses

vCMP support
Some hardware appliances support F5 vCMP virtualization technology to allow multiple virtual BIG-IP instances on a single
platform. A vCMP guest instance functions identically to a hardware appliance for the topologies described, as long as adequate
resources are assigned to the guest instance.

For more information, see vCMP for Appliance Models: Administration.

BIG-IP ASM Virtual Edition


BIG-IP ASM is available as a virtual appliance, either as a standalone BIG-IP ASM-only appliance or as part of the ‘Best’ bundle
(for information on licensing, see F5.com Simplified Licensing page.

The BIG-IP ASM system can be deployed in cloud environments or as a virtual appliance on a variety of hypervisors. (To find
supported hypervisor types and versions, see the Virtual Edition documentation for your version.)

Reasons to choose a virtual appliance include the following:

• To deploy the BIG-IP ASM system in a cloud environment.

• To reduce acquisition cost.

• You do not expect high volumes of SSL/TLS traffic in your environment.

• Your environment requires rapid deployment, high levels of instantiation, or mobile deployment.

Capacity concerns
Most applications protected by the BIG-IP ASM system are encrypted with SSL/TLS. F5 recommends that you carefully consider
capacity.

A virtual edition is licensed to perform up to 500 SSL TPS for 2048-bit keys per vCPU allocated to the virtual appliance. Actual
TPS varies depending on the type and speed of the CPUs.

Depending on your license, you can allocate up to eight vCPUs. Applications that require high volumes of SSL/TLS traffic may
require either cryptographic offload (hybrid topology for example) or scaling the Virtual Edition appliances using a pool topology
or clustering.

Additionally, each Virtual Edition appliance is available in a variety of throughput levels, from 25Mb/sec to10Gb/sec, depending on
hypervisor. You can easily upgrade these throughput levels. When allocating disk space, CPU, and RAM, you can increase the
resources, as available, and increase the capacity and performance of each BIG-IP ASM virtual appliance.

For more information, see the AskF5 article SOL14810: Overview of BIG-IP VE license and throughput limits and BIG-IP Virtual
Edition Datasheet.

VIPRION

62
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

VIPRION is an F5 scalable chassis and blade platform. The platform presents multiple blades as a single logical device, to scale
rapidly and without disruption through the installation of additional blades. Since flow on any blade can be processed on the
computing resources for that blade or any other blade, the design provides robust processing power for a BIG-IP ASM
deployment.

The VIPRION platform is a frequent choice to protect high performance and high capacity applications, or to protect a large
number of applications.

vCMP support
With an optional, additional license, VIPRION supports F5 vCMP virtualization technology to allow multiple BIG-IP instances on a
single platform. In examples provided in this chapter, a vCMP guest instance can function identically to a hardware appliance for
the topologies described, as long as adequate resources are assigned to the guest instance.

Sizing
The BIG-IP ASM system performs best on VIPRION systems offering the following:

• Cryptographic hardware for offloading SSL/TLS computation

• Hardware compression for offloading http compression computations.

• Solid-state drives for superior local I/O

• Enough available RAM, particularly when using traffic learning on multiple applications

• Enough CPU resources

Important RAM and CPU sizing recommendations for web application


firewalls vary widely by number and type of application, security policy
settings, and network conditions. Consult your F5 account team for
assistance in identifying the properly sized VIPRION for your security
requirements.

Common topology options


The three types of topology are single-tiered, multi-tiered, and hybrid.

• Single-tiered is the most common topology. It involves deploying the BIG-IP ASM system in a simple active-standby
device pair, with protected application traffic directed to the active unit.

• Multi-tiered involves deploying multiple BIG-IP ASM appliances in parallel with traffic steered to BIG-IP ASM devices
through BIG-IP LTM appliances.

• Hybrid involves deploying BIG-IP ASM VE in a distributed topology, combined with VIPRION or hardware appliances,

63
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

performing traffic distribution and hardware-based cryptographic and compression offload.

Important If in order to meet specific business goals you need to deploy an


advanced topology for an atypical or complex application delivery
environment, F5 strongly encourages you to consult your F5 account team.
You can also get architectural and implementation assistance from F5
Professional Services or an F5 Guardian Partner.

Modes
You can deploy the BIG-IP ASM system in either routed mode (with or without SNAT) or in a one-armed mode (with SNAT).

You can configure both modes at the same time on a single BIG-IP system, on an app-by-app basis.

You can use both modes with single-tiered or multi-tiered topologies.

Note Requests and responses must go through the BIG-IP system. This
means that if you do not use NAT on the source IP address of the client, the
default gateway of the server needs to be the BIG-IP system. If you use
SNAT for all traffic from the client to an IP address of the BIG-IP system, all
responses will be sent back to the IP. To keep track of the original client IP
address, you can enable the X-Forwarded-For feature of the HTTP profile.
This adds the client IP address to the HTTP header that was sent to the web
server.

Routed mode
In route mode, the BIG-IP ASM system is in the routing path of the web servers, and all traffic to the server flows through the
system.

64
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

Figure 6.1 BIG-IP ASM routed mode deployment

• Servers detect the actual client IP address in the IP header for security and logging purposes. Since all communication
traverses the BIG-IP system, there are no alternate, unprotected routes to the protected applications.

• The BIG-IP system must be configured to allow administrative and non-application traffic.

• Response traffic must be routed through the BIG-IP system, you usually accomplish this by setting the default gateway of
the web server to the floating self-IP of the BIG-IP system.

One-armed mode
In one-armed mode, only application traffic flows through the BIG-IP ASM system, and the server-side connection uses a SNAT.
The BIG-IP ASM appliance is logically in line with the web application traffic flow, but not physically in line with all traffic to and
from the web servers.

65
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

Note Requests and responses must go through the BIG-IP system. This
means that if you do not use NAT on the source IP address of the client, the
default gateway of the server needs to be the BIG-IP system. If you do use
SNAT for all traffic from the client to an IP address of the BIG-IP system, all
responses will be sent back to the IP. To keep track of the original client IP
address, you can enable the X-Forwarded-For feature of the HTTP profile.
This adds the client IP address to the HTTP header that was sent to the web
server.

Figure 6.2 BIG-IP ASM single-arm deployment

• No changes to routing is required on the servers.

• Only application traffic is sent through the BIG-IP system, which reduces traffic traversing the device.

• Servers detect the IP address of the BIG-IP system in the TCP/IP header, which may complicate logging.

66
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

• There is more than one path to the protected application. You need additional security controls such as firewalls to ensure
that malicious users do not access the application.

Tip If you expect a large number of concurrent connections, use a SNAT


Pool instead of SNAT Automap to prevent port exhaustion on the BIG-IP
system. For more information, see the AskF5 article SOL7820: Overview of
SNAT features.

Single-tiered topology
Combining BIG-IP LTM and BIG-IP ASM on a single BIG-IP platform has several advantages from an architectural perspective,
such as:

• Simplified traffic flow.

• Centralized administration on one device.

• Encryption/decryption of traffic (SSL) on one device.

Depending on project requirements, you may not need BIG-IP LTM features. In this case, you can deploy the BIG-IP ASM system
only. (This is unlikely. Most will need BIG-IP LTM.)

Most deployments implement a redundant system configuration to ensure device high-availability.

Multi-tiered topology
BIG-IP LTM load balances to multiple BIG-IP systems. Traffic terminates on the BIG-IP LTM where the BIG-IP ASM devices are
configured in a pool.

• You can horizontally scale the BIG-IP ASM devices.

• You do not have to change licensing or the virtual server profile configuration on the load balancer.

• You can add a BIG-IP ASM to or remove a BIG-IP ASM system r from the pool without changing the network
infrastructure.

• BIG-IP ASM and BIG-IP LTM software versions do not need to match.

• You can use the BIG-IP VE ASM to alleviate WAF processing, which is CPU-intensive.

• You can deploy BIG-IP ASM systems in an N+1 redundant system configuration.

• You have to manage more devices.

BIG-IP LTM uses a virtual server with a pool assigned. The pool members are virtual servers of the back-end BIG-IP ASM
systems.

67
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

• The system uses cookie persistence (Cookie insert) on the front-end BIG-IP LTM system. This means SSL needs to be
terminated on the front-end BIG-IP LTM.

• The system uses only L7 monitors on the front-end because L4 or ICMP monitors check only the state of the back-end
BIG-IP ASM virtual servers and not the real application.

• Use sync-only device-groups on BIG-IP ASM stand-alone systems to ensure that the BIG-IP ASM policy is synchronized
among all back-end BIG-IP ASM members.

• Configured thresholds are individual, per BIG-IP ASM pool member.

BIG-IP ASM systems are behind BIG-IP LTM, so statistics on the BIG-IP ASM system are individual, per stand-alone instance.
The same is true for BIG-IP ASM event logs; therefore F5 recommends that you use a central logging system if you need a
centralized view of all event log data.

• On BIG-IP ASM systems, Auto Last Hop should be disabled on a per virtual server basis. Otherwise Mac Masquerade
needs to be configured on BIG-IP LTM to ensure seamless failover.

Hybrid Topology with Virtual Edition


Other than some hardware offload considerations, such as SSL/TLS, BIG-IP ASM scaling is based on the available CPU and
RAM, as well as the I/O capacity of the platform. Therefore, you may deploy the BIG-IP ASM system on a pool of VE instances,
with a hardware appliance or VIPRION directing the traffic.

In this configuration, you can size the appropriate hardware appliance for L7 traffic management while scaling up capacity
requirements for the BIG-IP ASM system by adding resources to the virtual appliances, increasing the number of virtual
appliances, or by doing both. Doing so allows a flexible and efficient right-sizing of capacity.

The hybrid topology allows organizations with a robust and rapidly expanding virtual environment to use commodity computing
resources and to rapidly deploy new BIG-IP ASM instances that do not need to be shipped or physically installed after purchase.
Virtual Edition licensing pools and other volume and on-demand purchasing and licensing options allow you to simply deploy
another instance from a pool of pre-purchased licenses on demand.

• Rapidly deploy a new BIG-IP ASM instances on demand.

• Add and remove commodity computing resources on demand.

• Use commodity computing resources for computing-constrained tasks while using hardware acceleration for application
delivery tasks.

• Provide hardware crypto offload.

• Use BIG-IP LTM to direct traffic directly to the pools.

• Use hardware DDoS L3/L4 capabilities on physical devices, but scale L7 DDoS capabilities on commodity computing.

68
COMMON DEPLOYMENT TOPOLOGIES
Common topology options

• Requires more complex deployment than a simple redundant system.

• Requires management of more than one system.

• Key management requires more operational overhead when re-encryption is required.

• If virtual BIG-IP ASM systems are not also licensed for BIG-IP LTM, traffic must traverse BIG-IP LTM twice (or to another
tier of BIG-IP LTM) for distribution to the web server pools.

• SSL offload on hardware reduces VE load, but sends traffic unencrypted to the VE and to the servers. This does not apply
to all applications in all environments. Using OneConnect greatly reduces TCP overhead, improves traffic distribution, and
reduces impact of the topology's added built-in network latency.

• SSL offload with re-encryption performs much better on VE when you use ECC ciphers and certificates exclusively for the
back-end encryption, all the way through to the web servers.

• If you are offloading or bridging SSL at an external BIG-IP LTM, F5 recommends that you enable an HTTP compression
profile to perform hardware compression on the hardware model you choose to offload this workload at the outer tier. This
will improve the overall performance of BIG-IP ASM VEs.

• If VE appliances do not load balance to the web servers, traffic between BIG-IP LTM and BIG-IP ASM VE requires you to
use SNAT and/or Auto Last Hop. If the web servers need to detect the original client IP address in the TCP/IP header,
consider a different option.

• You can "re-SNAT" to the original client IP from a header. This requires you to enable X-Forwarded-For on the external
BIG-IP LTM virtual server, enable Trust XFF in BIG-IP ASM policies, and set up an iRule on the load balancing BIG-IP LTM
virtual server to use SNAT to return traffic to the original client IP address.

• With additional licensing, VE can perform crypto offload to a hardware appliance, a VIPRION system, or a third-party
network HSM platform.

Note The Crypto offload feature is outside the scope of this document. For
more information, see Implementing External Cryptographic Server Offload
with BIG-IP systems.

69
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
COMMON MANAGEMENT TASKS
Guidelines

Common Management Tasks


This chapter contains guidelines for common tasks involved in managing your BIG-IP ASM system.

You can deploy the BIG-IP ASM system with the following configuration types:

• Stand-alone

High availability (HA) is not available.

• Redundant system (Sync-Failover device group)

Multiple BIG-IP devices share the same BIG-IP version and configuration.

• Redundant system (Sync-only device group)

Multiple BIG-IP devices share a configuration, particularly specific application security policies.

Guidelines
Redundant systems guidelines
• A BIG-IP system can be a member of only one device group.

• All BIG-IP systems in a device group must use the same BIG-IP ASM version, including hotfix updates.

• BIG-IP systems in the device group synchronize application security configuration data and security policies, providing
consistent enforcement on all the devices. However, event logs, reporting, and learning suggestions are not synchronized.

• Policy Builder can run on only one system per security policy. When you set up Policy Builder on one member of a device
group, the policy is built on that BIG-IP system and then automatically updated on the other systems in the device group.

• The BIG-IP ASM system considers one VIPRION platform (with multiple blades) as one device. You need add only the
master blade to the device trust and group.

• You cannot use connection mirroring on virtual servers that have a BIG-IP ASM policy attached.

• You must have consistent system times across all units using network time protocol (NTP).

• For BIG-IP systems in a group, you should enable ports 22 and 443 for communication among self IPs and ports 1026
UDP and TCP for syncing between devices. Make sure to configure the Port Lockdown setting and use a self IP address
rather than the management IP address for configuration synchronization (ConfigSync).

• We also need ports 1026 UDP and TCP for syncing between devices. See AskF5 article SOL13250: Overview of port
lockdown behavior (10.x - 11.x).

71
COMMON MANAGEMENT TASKS
Update geolocation

• When troubleshooting ConfigSync issues on a redundant system, review the /var/log/ltm file.

For more information, see Synchronizing Application Security Configurations Across LANs (11.x) or Synchronizing Application
Security Configurations Across LANs in BIG-IP Application Security Manager: Implementations.

Attack signatures guidelines


BIG-IP ASM attack signatures are an evolving set of protections that must be kept up-to-date to provide the best available
protection against new and emerging threats and to ensure minimal false positives.

F5 publishes signature update files on a regular basis. You must establish a process to keep attack signatures updated and
manage the update process within the policies.

The easiest way to update attack signatures is using automatic delivery mode through scheduled or manual updates. However, for
air-gapped systems with no access to the Internet (either direct or via a proxy), use the manual delivery mode. Manual delivery
mode allows you to download the update file manually from F5 Downloads and then upload that file using the BIG-IP ASM
Configuration utility.

For more information, see Working with Attack Signatures in BIG-IP Application Security Manager: Implementations (BIG-IP 11.6)
or Updating signatures manually in BIG-IP Application Security Manager: Custom Signature Reference (BIG-IP 12.0). Also see
AskF5 article: SOL8217: Updating the BIG-IP ASM attack signatures.

Signature staging guidelines


All new signatures are placed into staging regardless of the place-updated signatures in the staging settings.

If you update signatures to add protection or mitigation for a specific, newly identified vulnerability, after updating, decide whether
the new signature will be transitioned immediately into Enforced or if the Staging period will be allowed to proceed as defined in
staging settings.

Important If a signature is triggered on a request while in staging, the


request will not be blocked.

Update geolocation
The BIG-IP ASM system can protect against attacks based on the geolocation of the source IP during a request. Geolocation data
is used to control the accessibility of requests in the Geolocation Enforcement page and to detect suspicious L7 denial-of-
service (DoS) attacks from specific geolocations. Geolocation data changes regularly, so F5 releases a monthly download based
on collected data.

You must manually update geolocation information using the TMSH utility on your BIG-IP system.

For more information, see AskF5 article: SOL11176: Downloading and installing updates to the IP geolocation database.

72
COMMON MANAGEMENT TASKS
Maintain IP intelligence database

Remove only the /shared/tmp/GeoIP.old/ path if the installation of all four RPM packages is successful, and you are able to
verify proper functionality by querying an IP address using the geoip_lookup tool.

Important F5 strongly recommends performing the md5sum validation


whenever you download F5 data over the Internet, particularly data to use on
your BIG-IP devices. Without this validation check, compromised releases or
corrupt archives can corrupt your configuration or otherwise cause adverse
effects to your BIG-IP devices.

Maintain IP intelligence database


The IP intelligence database is an F5 subscription-based database which allows BIG-IP systems to recognize IP addresses,
including known botnets, anonymous proxies, and malicious actors.

In the BIG-IP ASM system, the IP intelligence database allows you to:

• Block a specific category of IP addresses.

• Log and report on the IP intelligence categories.

• Provide additional details for BIG-IP ASM scoring functionality to help better understand if a request is likely an attack (a
score of 4-5) or a false positive (a score of 1-2).

Subscribe to and configure updates


The IP intelligence database is an F5 subscription-based service that requires you to purchase an add-on license (1-year or
3-year options are available). Some functionality is available without the license through the Configuration utility. However,
without the license, the database cannot be downloaded and automatic categorization is not available. You can purchase a
license through the F5 sales team,

The IP intelligence database is updated very frequently, so the default minimum download interval is five minutes.

Note The IP intelligence database is very large and can take a long time to
download for the first time, depending on your connection. Later updates are
incremental and thus quicker to download and apply.

You can update the IP intelligence database using a direct IP connection or through an intermediate proxy.

Important DNS lookups on the BIG-IP system must first be configured for
the database to successfully download.

For more information, see Enabling IP Address Intelligence (BIG-IP 11.6) or Setting Up IP Address Intelligence Blocking (BIG-IP

73
COMMON MANAGEMENT TASKS
Maintain IP intelligence database

12.0) and AskF5 article: SOL13875: Managing IP reputations and the IP Address Intelligence database.

Verify updates
Once you've downloaded and installed updates to the IP intelligence database, you should verify the installation by checking the
last time an update was received.

To display date and time of updates in the Configuration utility

1. Navigate to Security >> Application Security > IP Address > IP Address Intelligence.

2. Click Intelligence last updated.

To display date and time of updates using the TMSH utility at the command line

• Type the following command:


tmsh show sys iprep-status

For more information, see AskF5 articles: SOL13776: Determining the IP intelligence subscription expiration date and SOL13653:
The IP Intelligence Service database cannot be updated.

Check IP address reputation


You can check the reputation of a specific IP address using the IP intelligence database.

To check reputation of a specific IP address at the command line

• Use the following command syntax:


iprep _ lookup <IP address>

Output will appear similar to the following example:

iprep _ lookup 1.1.1.1 opening database in /var/IpRep/F5IpRep.dat size of IP


reputation database = 4163298 iprep threats list for ip = 1.1.1.1 is: bit 4
– Scanners bit 5 – Denial of Service

Add IP address to IP Address Whitelist


You can eliminate false positives by adding specific IP addresses to the IP Address Whitelist.

To add an address to the IP Address Whitelist in the Configuration utility

1. Navigate to Security >> Application Security > IP Addresses > IP Address Intelligence.

2. In the IP Address Whitelist box, type the IP address.

3. Click Save.

74
COMMON MANAGEMENT TASKS
Back up your BIG-IP configuration information

For more information, see Setting Up IP Address Intelligence Blocking in BIG-IP Application Security Manager: Implementations.

Logs
IP intelligence functionality on the BIG-IP system is performed by the iprepd process, which logs to the /var/log/iprepd/
iprepd.log file.

Back up your BIG-IP configuration information


F5 strongly recommends performing regularly scheduled backups of your BIG-IP system. At a minimum, backups must be
performed before and after any major change to the system, such as a configuration change or an upgrade.

You can use the Configuration utility to trigger backups, or you can use a central management system such as BIG-IQ or
Enterprise Manager. Only the configuration information is backed up.

Event logs, reporting, and learning suggestions are not backed up and cannot be saved from the local system. For this reason,
these items are also not synchronized between devices or blades in a cluster.

Tip  To store event logs across upgrades and configuration restore


operations, F5 recommends using remote logging and sending the log data
to an external syslog server or SIEM for storage. For more information, see
BIG-IP ASM Event Logging .

Restore from a backup


Before restoring a BIG-IP system from a backup, you should:

• Make sure you have a valid BIG-IP system license for that system.

• Provision BIG-IP ASM on the system.

For more information, see AskF5 article: SOL13945: The BIG-IP ASM MySQL database is not installed completely if the BIG-IP
ASM is not provisioned when the UCS is loaded.

To successfully install a user configuration set (UCS) archive file on a BIG-IP system, perform one of the following actions:

• Restore the UCS archive to the same system from which it was saved.

• Have the license associated with the serial number of a new system. To do so, contact F5 Technical Support.

Note F5 Technical Support will associate a license file with a new serial
number only on an as-needed basis, in the event of a Return Materials
Authorization (RMA).

• Relicense the BIG-IP system after restoring the UCS archive.

75
COMMON MANAGEMENT TASKS
Back up your BIG-IP configuration information

• Save the license file prior to restoring the configuration from another system, and then copy the license file back.

• Install the UCS archive by using the the tmsh utility no-license option.

To install UCS by using TMSH utility no-license option

• Type the following command syntax:


tmsh load sys ucs [ucs file name] no-license

For more information, see AskF5 articles: SOL13132: Backing up and restoring BIG-IP configuration files (11.x - 12.x) and
SOL12880: Configuring a replacement BIG-IP device after a Return Materials Authorization.

76
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
TROUBLESHOOT BIG-IP ASM
Use platform logs

Troubleshoot BIG-IP ASM


Use platform logs
When troubleshooting your BIG-IP system, you should know the locations of the different log files and understand their contents.

The following table describes the contents of each platform log related to the BIG-IP ASM system.

Table 8.1 Platform log contents

Log Description

/var/log/ltm Contains general BIG-IP LTM log entries, such as availability of pool members, high
availability, and config-sys entries.

/var/log/asm Contains critical messages from processes that the BIG-IP ASM system uses (mysql,
policy building engine, enforcer). Each process has its own log file under /var/log/ts
(see log, following).

/var/log/audit Contains audit trails for BIG-IP user activities such as failed login attempts and certain
security events involving HTTPS, SSH, or other configuration changes.

/var/log/ts/… Contains information about various BIG-IP ASM system daemons and policy building.

/var/log/pktfiler Contains results from implementation of packet filters and packet filter rules.

/var/log/dosl7 Contains BIG-IP ASM system DDoS event information such as attack started/stopped
and bot signature update status.

/var/log/iprepd/ Contains entries for the IP intelligence service updates.


iprepd.log

/var/log/icrd Contains entries for iControl API calls, their results, and failures.

/var/log/ REST API Java framework used by BIG-IP and BIG-IQ to communicate writing logs.
restjavad.0.log Log entries include communication attempts and failures, such as SSH handshake
failures, certification, and authentication failures, and time skews.

/var/log/tmm[0…] Contains traffic events, such as unexpected resets, DDoS drops, and other events.
Typically very large. File should be analyzed only with F5 support assistance.

You can configure the logging level for most platform logs at System\Logs\Configuration\Options.

78
TROUBLESHOOT BIG-IP ASM
Check BIG-IP ASM system health

Check BIG-IP ASM system health


There are several ways to check if your BIG-IP ASM system is up and running:

Check if BIG-IP daemons are running.


• Check logs for error messages and illegal requests.

• Check for TS cookie in header.

• Upload a qkview file to BIG-IP iHealth.

Check if BIG-IP daemons are running


To check if BIG-IP daemons are running, using the TMSH utility

1. Type the following commands


tmsh show sys service asm
tmsh show sys service mysql

2. Make sure that all daemons are running.

For detailed information on core BIG-IP ASM services, and the impact to the BIG-IP ASM system operation if the service is not
running, see the AskF5 article SOL14020: BIG-IP ASM daemons (11.x).

Check logs for error messages and illegal requests

1. Check for error messages in the following logs:


/var/log/ltm
/var/log/asm
/var/log/dosl7/dosl7d.log
/var/log/mysql.out

2. Check the request log for illegal requests.

For more information, see Use platform logs.

Check for TS cookie in header


If the security policy is configured on a virtual server, you will see the TS cookie in place in the HTTP response from the BIG-IP
ASM system. In addition, the server-header of the response is removed. Both happen in blocking and transparent mode.
HTTP/1.1 200 OK
Date: Tue, 17 Nov 2015 13:01:53 GMT
Last­
Modified: Mon, 21 Apr 2014 07:13:20 GMT ETag: "970c­
178­
4f7883bf94780"

79
TROUBLESHOOT BIG-IP ASM
Bypass BIG-IP ASM

Accept­
Ranges: bytes Content­
Length: 376
Keep­
Alive: timeout=300, max=500 Connection: Keep­
Alive
Content­Type: text/html; charset=UTF­8 Set­Cookie:
S01425764=01ae97ff1e19f24a9b73757578683232de31fec9e054b6f04b167d6a7d88f4f7333871255d;
Path=/

<html>
...
...
</html>

For more information, see the AskF5 article: SOL6850: Overview of BIG-IP ASM cookies.

Upload a qkview file to iHealth


iHealth is freely available to customers who run BIG-IP 10.x and later, or Enterprise Manager 2.x and later. iHealth enables you to
verify operation of your BIG-IP system and ensures that your hardware and software function at peak efficiency by providing
information covering your hardware, software, licensing, configuration, best practices, and known issues.

iHealth is a hosted application that parses a qkview file. The qkview provides a running snapshot of your BIG-IP system with
up-to-the-minute configuration and diagnostic information. You can download a qkview from your BIG-IP system and then upload
the file to the iHealth system.

For more information, see iHealth in the F5 BIG-IP TMOS: Operations Guide.

Bypass BIG-IP ASM


If the BIG-IP ASM system service has insufficient resources or is down, you can allow web application traffic to bypass it.

Starting in BIG-IP ASM 10.2.3, you can configure the following system variables using the following Configuration utility
commands:

• bypass_upon_load

• bypass_upon_asm_down

For more information, see SOL15093: The BIG-IP ASM system bypass_upon_load and bypass_upon_asm_down variables
should not be enabled.

If you enable the bypass_upon_load variable (set the value to 1), web application traffic bypasses the the BIG-IP ASM system
system when there are insufficient resources for BIG-IP ASM service.

80
TROUBLESHOOT BIG-IP ASM
Handle unexpected HTTP responses

If you enable the bypass_upon_asm_down variable (set the value to 1), web application traffic bypasses the BIG-IP ASM system
when any of the following conditions occur:

• BIG-IP ASM service is stopped. 

• BIG-IP ASM service is restarted; traffic bypasses the BIG-IP ASM system from the time the BIG-IP ASM service is down
until the service resumes processing.

• BIG-IP ASM service performs a core dump; traffic bypasses the BIG-IP ASM system until the BIG-IP ASM service resumes
processing.

If you enable either or both of the system variables, all web application traffic that is protected by BIG-IP ASM security policies is
no longer directed through the BIG-IP ASM system for security checks when BIG-IP ASM service experiences the previously-
described conditions; traffic is forwarded directly to the origin web servers. As a result, the web application may be at risk of
security threats and false positives.

Caution F5 recommends that you enable these system variables with careful
consideration to the security impact on your application environment.

Handle unexpected HTTP responses


In rare cases, you may need to review an entire HTTP transaction to determine the reason the expected response is not returned
to the client.

The following flowchart shows the steps you can follow to decide whether the BIG-IP ASM system is processing an HTTP
response correctly:

81
TROUBLESHOOT BIG-IP ASM
Handle unexpected HTTP responses

Figure 8.1 Troubleshooting flow chart for unexpected HTTP responses

82
TROUBLESHOOT BIG-IP ASM
Handle unexpected HTTP responses

Application is broken.
Page is blank.
Response is blocked.
Finding Connection is reset.

Action Find out if the BIG-IP ASM system is causing the problem.

Question Does the request trigger the BIG-IP ASM blocking response page on the HTTP client?

Request is blocked by BIG-IP ASM security policy.


YES Go to step 8.

NO Go to step 2.

Application is broken.
Page is blank.
Response is blocked.
Connection is reset.
Finding BIG-IP ASM blocking response page is not displayed on HTTP client.

Enable Log All Requests in event log on virtual server running the BIG-IP ASM system (see to
BIG-IP ASM Event Logging ).

Try to match the HTTP request in question with the event log. (See Capture HTTP request/
Action response.)

Question Can you find the HTTP request page?

HTTP request did not arrive at the BIG-IP ASM system.


NO Go to step 3.

YES Go to step 4.

Finding HTTP request does not arrive at the BIG-IP ASM system.

83
TROUBLESHOOT BIG-IP ASM
Handle unexpected HTTP responses

The BIG-IP ASM system is not the problem.


To continue investigating, run tcpdump on the virtual server running the BIG-IP ASM system to
see if the HTTP request reaches the BIG-IP.
Use the following syntax at the command line:
tcpdump –I 0.0:nnn –s 0 –w /var/tmp/asm _ client.cap
host <virtual server IP address> and port <virtual
Action server port>

Finding Matched HTTP request appears in the BIG-IP ASM event log.

Action Review the logged request by selecting the HTTP request in the event log.

Question Does the request log show that the request was blocked?

NO Go to step 5.

Request blocked by BIG-IP ASM security policy.


YES Go to step 8.

HTTP request appears in BIG-IP ASM request log.


Finding HTTP request not blocked by the BIG-IP ASM system.

Do one of the following:


Remove BIG-IP ASM security policy from virtual server.
Disable the BIG-IP ASM system for a specific IP address URL using an iRule or local traffic
policy.

Actions For iRule examples, see Wiki: iRules API on DevCentral (login required).

Question Does the issue continue after the removal of BIG-IP ASM security policy?

NO Go to step 7.

The BIG-IP ASM system is not the problem.


YES Go to step 6.

Finding The BIG-IP ASM system is not the problem.

84
TROUBLESHOOT BIG-IP ASM
Monitor performance

Action Continue troubleshooting to find out if BIG-IP LTM is the problem.

The BIG-IP ASM system is the problem.


Finding Request is not blocked by the BIG-IP ASM system in a security policy.

Run tcpdump on client side and server side connections.


Use the following command syntax:
tcpdump –I 0.0:nnn –s –w /var/tmp/asm _ clientserver.
cap \(host <virtual server IP address> and port
<virtual server port>\) or \(host <pool member IP
address> and port <pool member port>
Action Contact F5 support. See F5 technical support resources.

Finding Request is blocked by the BIG-IP ASM system. Possible false-positive violation.

Action Tune your BIG-IP ASM security policy. See Policy Tuning and Enhancement.

Monitor performance
Performance can be monitored in several ways. You can use performance graphs, iHealth, or the top command.

Performance graphs
The BIG-IP system provides performance graphs in the Configuration utility. Navigate to Statistics >> Performance.

85
TROUBLESHOOT BIG-IP ASM
Monitor performance

Figure 8.2 Performance graphs in the Configuration utility

The graphs show historical running performance data for up to one month. In BIG-IP 12.0 and later, the BIG-IP system also
provides real-time dashboard style performance analytics. Navigate to Statistics >> Analytics : ASM Resources.

86
TROUBLESHOOT BIG-IP ASM
Monitor performance

Figure 8.2 Memory utilization graphs in the Configuration utility

These graphs include CPU Utilization, Memory Utilization, and Bypass Information.

Regularly check these graph to monitor the overall health and capacity of the BIG-IP system. They can show early signs of
potential issues, allowing you to act on problems before they occur.

iHealth
iHealth provides an alternative for viewing RRD based performance graphs, and it is easy to compare performance data between
different BIG-IP ASM systems, and snapshots of different time periods. iHealth provides heuristic diagnostics based on log
messages and statistical data to help a customer identify performance issues.

87
TROUBLESHOOT BIG-IP ASM
Monitor CPU usage

For more information, see iHealth in F5 BIG-IP TMOS: Operations Guide.

top command
Table of processes (top) is a Linux/Unix CLI tool for process reporting, and is used for troubleshooting CPU and memory
performance issues on the BIG-IP ASM system.

You can start top in interactive mode and watch the performance data change.

Monitor CPU usage


F5 recommends that you regularly check the CPU usage of the BIG-IP ASM system.

Normal CPU usage at the peak of any CPU/thread on the system should not exceed 75 percent under normal traffic volume.

However, some administrative processes, such as those related to learning, may cause higher loads on the last CPU core. This is
not generally a problem on most platforms that use process scheduling and process separation across CPU cores.

Note For BIG-IP 11.5.0 and later, on systems with a CPU using Hyper-
Threading Technology, tmm runs on half of the cores/threads on the system.
For more information, see the AskF5 article: SOL15003: Data plane and
control plane tasks use separate logical cores when the BIG-IP system CPU
uses Hyper-Threading Technology.

If CPU usage is too high, you need to identify the process that is causing the problem. Use the performance graph to view CPU
usage per core/thread and see whether CPU over-use occurs on multiple cores/threads or just one.

Some important BIG-IP ASM-related processes such as tmm or bd are multi-threaded and tend to spread their threads across
all even-numbered CPU cores. If you find excessive CPU usage on all even-numbered cores, these multi-threaded processes are
likely the problem.

The top command provides dynamic CPU usage by each process; using this command, you can display additional threads and
cores information.

To display additional threads and cores using the top command

1. Remove the current /root/.toprc file.

2. Run the top command in interactive mode.

3. To get the command to show threads, type H.

4. To get the command to show individual cores, type 1 .

5. Type f

88
TROUBLESHOOT BIG-IP ASM
Monitor CPU usage

6. Type j.

7. To add Last used cpu as a column, press Enter. .


The system displays the following output:
top 02:18:26 up 2 days, 18:36, 1 user, load average: 0.13, 0.23, 0.19
Tasks: 659 total, 1 running, 656 sleeping, 0 stopped, 2 zombie
Cpu0 : 9.1%us, 2.0%sy, 4.0%ni, 84.8%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 8.9%us, 2.5%sy, 3.7%ni, 84.8%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st
Cpu2 : 7.5%us, 1.7%sy, 3.4%ni, 87.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 5.9%us, 1.1%sy, 1.4%ni, 90.1%id, 1.1%wa, 0.4%hi, 0.0%si, 0.0%st
Cpu4 : 15.4%us, 3.8%sy, 0.7%ni, 80.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu5 : 10.7%us, 2.7%sy, 0.8%ni, 85.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu6 : 7.7%us, 1.8%sy, 0.8%ni, 89.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu7 : 26.7%us, 5.2%sy, 0.1%ni, 67.0%id, 0.0%wa, 0.3%hi, 0.6%si, 0.0%st
Mem: 16528548k total, 14496992k used, 2031556k free, 569104k buffers
Swap: 1048572k total, 0k used, 1048572k free, 2747692k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ RUSER P DATA COMMAND
20273 root 20 0 2038m 66m 26m S 8.7 0.4 20:31.20 root 1 338m avrd
17088 root RT 0 8915m 127m 101m S 8.7 0.8 330:27.58 root 0 206m tmm.0
17348 root RT 0 8915m 127m 101m S 8.7 0.8 309:40.64 root 1 206m tmm.1
17350 root RT 0 8915m 127m 101m S 8.7 0.8 312:17.03 root 2 206m tmm.2
17347 root RT 0 8912m 125m 99m S 8.7 0.8 310:49.88 root 6 206m tmm.6
17349 root RT 0 8912m 125m 99m S 8.7 0.8 312:14.12 root 7 206m tmm.7
17351 root RT 0 8915m 127m 101m S 7.0 0.8 287:02.05 root 3 206m tmm.3
17089 root RT 0 8912m 125m 99m S 7.0 0.8 314:44.24 root 4 206m tmm.4
17346 root RT 0 8912m 125m 99m S 7.0 0.8 308:54.54 root 5 206m tmm.5
7417 root 20 0 26776 20m 12m S 5.2 0.1 123:34.95 root 4 4140 csyncd
23050 root 20 0 3060 1384 792 R 5.2 0.0 0:00.06 root 6 828 top
5907 root 20 0 159m 118m 32m S 3.5 0.7 91:54.95 root 5 84m mcpd
17 root 20 0 0 0 0 S 1.7 0.0 11:10.78 root 3 0
ksoftirqd/3
5044 root 20 0 39332 21m 13m S 1.7 0.1 0:05.33 root 1 4268 eventd
5652 root 20 0 28480 27m 19m S 1.7 0.2 6:34.82 root 5 4184 clusterd
9214 root 20 0 2220 884 744 S 1.7 0.0 50:28.49 root 0 248 LCDd
1 root 20 0 2904 1368 1164 S 0.0 0.0 0:00.91 root 3 260 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 root 6 0 kthreadd

89
TROUBLESHOOT BIG-IP ASM
Troubleshoot memory usage

3 root RT 0 0 0 0 S 0.0 0.0 0:00.05 root 0 0 migration/0

To see utilization data for each virtual server CPU

1. Navigate to Statistics >> Module Statistics: Local Traffic >> Virtual servers.

2. See the data in the CPU Utilization Avg. and ASM CPU Utilization Avg. columns.

Troubleshoot memory usage


Monitor the memory usage to establish a baseline that is specific to your BIG-IP system and your network traffic.

Memory considerations when using CLI tools


TMM has a fixed memory size, which the system allocates when you start the system. When you use the top command, the
system output appears as a large VIRT memory allocation.

For performance reasons, the BIG-IP ASM traffic processing daemon, bd, does not release memory back to the operating
system.
Typical bd process is as follows:

1. You start the system.

2. The bd process immediately loads the configuration and allocates initial buffers.
This process uses a small amount of resident memory.

3. If not memory is available, the bd process sends a request to the system to allocate new memory for a fresh
buffer.

4. The bd process retains this memory to use for a future request.

5. On the first day in production, bd memory increases and peaks as traffic throughput increases.

6. On subsequent days, bd memory stabilizes, unless peak throughput increases.

If bd memory continues to increase linearly, you should investigate.

The following graphs show typical BIG-IP ASM system memory use over time with respect to traffic.

90
TROUBLESHOOT BIG-IP ASM
Troubleshoot memory usage

Figure 8.4 BIG-IP ASM memory use over time with respect to traffic

To identify a potential memory leak in a BIG-IP ASM process, use the top command to collect continuous snapshots for a
particular interval, and monitor a process's memory use.

To use the top command to monitor memory

• Use the following command syntax:


top –b –n <number of snapshots> -d <interval of snapshots in seconds> >
/var/tmp/top _ output.txt

For example the following example will capture 60 iterations at 10 second intervals and log the output to /var/tmp/top_output.
txt.
top –b –n 60 –d 10 > /var/tmp/top _ output.txt

Using these settings, the capture will take 10 minutes (60 x 10 seconds).

91
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
OPTIMIZE THE SUPPORT EXPERIENCE
Professional services

Optimize the support experience


F5 technical support commitment

F5 strives to continuously improve its support service and create closer customer relationships. Designed to provide assistance
with specific break-fix issues and ongoing maintenance of F5 products, F5 professional support services are consistently
high-quality. This means:

• F5 network support engineers conduct themselves professionally at all times.

• F5 is committed to providing the best customer experience possible.

• Customers are treated with respect and given every consideration possible.

• F5 aims to provide resolutions the first time, every time.

• Manager escalation is always available for unresolved or “site down” issues.

Some technical support issues arise from configuration errors, either within the BIG-IP system or with other devices in the
network. In other cases, a misunderstanding of BIG-IP capabilities can lead to support questions and issues. Although F5 does
everything possible to prevent defects in BIG-IP hardware and software, these issues may still arise periodically. Regardless of
the root cause of a problem, the goal is to resolve any issues quickly.

F5 technical support offerings


A variety of technical support offerings are available to provide the right level of support for any organization.

The F5 Standard and Premium support offerings include remote assistance from F5 Network Support Engineers, both online and
over the phone.

Premium Plus customers receive priority status at F5, with fast, easy access to a dedicated team of senior-level, F5-certified
Network Support Engineers and a Service Delivery Manager.

To learn more, see F5 Support Offerings or send an email to [email protected].

Professional services
Take advantage of the full range of F5 Consulting Services to help you design, customize, and implement a solution that is right
for your IT infrastructure and supports your business goals.

F5 Professional Services (f5.com/support/professional-services) provides information about a wide range of F5 Professional


Services offerings and Professional Services Partners. You can use our online forms to request Consulting On Demand for
custom, shorter scope consulting engagements, or iRules OnDemand to get fast access to iRules scripts tailored to your specific
needs.

93
OPTIMIZE THE SUPPORT EXPERIENCE
F5 certification

You can request specific support services by using either of the following forms:

• Consulting Request Form (f5.com/support/professional-services/consulting-request-form)

• iRules Consulting Request Form (f5.com/support/professional-services/irules-consulting-request-form).

GUARDIAN Professional Services Partners


F5 GUARDIAN Professional Services Partners are authorized as Installation Providers and are available to assist you. F5
GUARDIAN Professional Service Partners are selected because they have the skills and experience required to ensure successful
implementations of F5 BIG- IP Local Traffic Manager (LTM) and BIG-IP DNS.

See F5 Support Offerings for a complete list of partners.

F5 certification
F5 Certified! exams test the skills and knowledge necessary to be successful when working with today’s application delivery
challenges. Our technically relevant and appropriate exams deliver consistently reproducible results that guarantee excellence in
those that achieve certification.

Certification levels
The F5 certification program is progressive with the four levels – Administrator, Specialist, Expert, and Professional– building on
the skills and knowledge demonstrated on previous exams.

C1 – F5 Certified BIG-IP Administrator (F5-CA)

The starting point for all certifications; a certified BIG-IP administrator has basic network and application knowledge to be
successful in application delivery.

C2 – F5 Certified Technology Specialists (F5-CTS)

The Technology Specialist certification assures employers that candidates are fully qualified to design, implement, and maintain a
specific product and its advanced features.

C3 – F5 Certified Solution Expert (F5-CSE)

The Solution Expert certification focuses on how F5 technologies combine with industry technology to create real-world business
solutions.

C4 – F5 Certified Application Delivery Engineer (F5-CADE)

The Application Delivery Engineer certification exam and requirements are still under development.

C5 – F5 Certified Application Delivery Architect (F5-CADA)

The Application Delivery Architect certification exam and requirements are still under development.

94
OPTIMIZE THE SUPPORT EXPERIENCE
Review self-help options

Certificate expiration
F5 certifications are valid for two (2) years. Three months before the expiration date, the certificate holder becomes eligible for
recertification and can register for the necessary exam. Only the last exam in the highest level certification achieved needs to be
retaken.

Certification beta program


F5 uses Beta exams to maintain the relevancy and accuracy of all exams after production. Beta exams are open to all and
provide candidates an opportunity to have an impact on the F5 Certified program. While Beta exams are twice as long, they cost
less than regular exams and give candidates the chance to leave feedback. Beta exams are critical to our exam development
process and improve the F5 Certified program.

Get involved
There are a several ways to get involved with the F5 certification beta program:

• Beta participation. Interested in taking our Beta exams? Send an email to [email protected] to learn more.

• Exam development. Send an email to [email protected] if you’re interested in helping us create our F5 Certified!
exams.

• LinkedIn community. Join us on LinkedIn (this link sends you to an external site) for answers to frequently asked questions,
community developed resources, and more.

Visit the F5 Credential Management System (certification.f5.com) for information or to register.

Review self-help options


Before you open a support case, F5 recommends you review self-help materials. For BIG-IP ASM, this includes this guide, BIG-IP
Application Security Manager: Implementation, and the following:

• AskF5 Knowledge Base

• Downloads

• Security updates

• BIG-IP iHealth

• TechNews

• RSS Feeds

• DevCentral

• F5 Global Training Services

95
OPTIMIZE THE SUPPORT EXPERIENCE
Review self-help options

AskF5
AskF5 (support.f5.com) provides thousands of articles to help you manage your F5 products more effectively, and should be the
first resource you choose when you need support. Step-by-step instructions, downloads, and links to additional resources give
you the means to solve known issues quickly and without delay, and to address potential issues before they become reality.

Whether you want to search the knowledge base to research an issue, or you need the most recent news on your F5 products,
AskF5 is your source for:

Product manuals, operations guides, and release notes


• F5 announcements

• General articles

• Known issues

• Security advisories

• Recommended practices

• Troubleshooting tips

• How-to documents

• Changes in behavior

• Diagnostic and firmware upgrades

• Hotfix information

• Product life cycle information

Downloads
Downloads are available from the F5 website. It is highly recommended that your F5 software is kept up-to-date, including
hotfixes, sSecurity updates, OPSWAT updates, BIG-IP ASM signature files, and geolocation database updates. All software
downloads are available from F5 Downloads (downloads.f5.com).

Security updates
You can receive timely security updates and BIG-IP Application Security Manager (BIG-IP ASM) attack signature updates from
F5. When remote vulnerabilities are discovered, F5 implements, tests, and releases security hotfixes for any vulnerable supported
version, and sends an email alert to the F5 Security mailing list. F5 encourages customers with an active support account to
subscribe to this list. For more information, see AskF5 article: SOL4602: Overview of the F5 security vulnerability response policy.

96
OPTIMIZE THE SUPPORT EXPERIENCE
Review self-help options

iHealth
iHealth is among the most important preventative tools to verify the proper operation of your BIG-IP system. This diagnostic
viewer ensures that hardware and software are functioning at peak efficiency, and helps detect and address issues that may
potentially affect F5 systems. iHealth is not integrated within the BIG-IP system. This tool is hosted by F5 at f5.com/support/tools/
ihealth and can be accessed with any web browser.

F5 recommends you generate an iHealth qkview file on the BIG-IP system and upload it to iHealth on a weekly basis in order to
benefit from the many regularly occurring diagnostic updates. Uploading qkview files to iHealth also provides F5 technical
support with access to your qkview files if you open a support case.

By reviewing iHealth output, many of the issues commonly experienced by customers can be resolved without the need for
opening a support case with F5.

For more information on running iHealth diagnostics, see iHealth in the TMOS Operations Guide.

TechNews
AskF5 provides two TechNews email publications to help keep administrators up-to-date on various F5 updates and other
offerings:

TechNews Weekly eNewsletters. Up-to-date information about product and hotfix releases, new and updated articles, and new
feature notices.

TechNews Notifications. Do you want to get release information, but not a weekly eNewsletter? Sign up to get an HTML
notification email any time F5 releases a product or hotfix.

Security Alerts. Receive timely sSecurity updates and BIG-IP ASM attack signature updates from F5.

To sign up for the TechNews mailing lists, go to the AskF5 Publication Preference Center. Enter your email address and select the
publications you want to receive, and click Submit.

AskF5 recent additions and updates


You can subscribe to F5 RSS feeds to stay informed about new documents pertaining to your installed products or products of
interest. The AskF5 Recent Additions and Updates page provides an overview of all the documents recently added to the
knowledge base.

The Recent Additions and Updates list is also published over RSS. You can configure feeds that pertain to specific products,
product versions, and/or document sets. You can also aggregate multiple feeds into your RSS Reader to display one unified list of
all selected documents.

To generate an RSS feed, see AskF5 article: SOL9957: Creating a custom RSS feed to view new and updated documents.

97
OPTIMIZE THE SUPPORT EXPERIENCE
F5 Global Training Services

DevCentral
DevCentral (devcentral.f5.com) is an online forum of F5 employees and customers that provides technical documentation,
discussion forums, blogs, and media, related to application delivery networking. DevCentral is a resource for education and
advice on F5 technologies, and is especially helpful for iRules and iApps developers. Access to DevCentral is free, but registration
is required. As a DevCentral member, you can:

• Ask forum questions.

• Rate and comment on content.

• Contribute to “wikis.”

• Download lab projects.

• Join community interest groups.

• Solve problems and search for information.

• Attend online community events.

• View educational videos.

F5 Global Training Services


F5 Global Training Services provides traditional classroom learning opportunities, live-online training, and free, self-paced online
courses to help you get the most out of your investment.

In-person courses
F5 courses are available in multiple training facilities across five continents. Each course combines instructor presentations,
classroom discussions, and interactive labs. The hands-on learning environment helps provide a fast track to accomplishing your
goals.

Virtual instructor-led training


Remote online courses mirror classroom training. Participants watch the remote instructor’s live lecture online, participate in
discussions, and perform lab exercises using remote desktop control.

Free online training


You can use the self-paced Getting Started series of free, web-based courses to learn how to deploy F5 solutions to address
your most common application delivery problems. For more information, see f5.com/education.

F5 Training Programs and Education (f5.com/education/training) provides links to course schedules, pricing, and registration
details. This page also has information about alternative training solutions such as virtual and web-based training for those who

98
OPTIMIZE THE SUPPORT EXPERIENCE
Engage Support

cannot attend training in person. You can also find out more about the F5 Professional Certification or a non-accredited
Application Delivery Networking Certificate through F5.

Engage Support
F5 Technical Support is designed to provide support for specific break-fix issues for customers with active support contracts. For
more information about F5 scope of support, see Support Policies.

Options for assistance


You can contact F5 Support in two ways:

• Online: You can open a support case at the F5 WebSupport Portal. Click Register for an Account to access to the
WebSupport Portal.

• By phone: Phone numbers are provided in the General contact numbers section below. It is strongly recommended that
you contact F5 by phone if you have a Sev1 or Sev2 case, as defined in Open a support case .

F5 technical support resources


F5 support resources are available 24 hours a day, seven days a week, and are distributed around the globe in multiple support
centers. Live technical support is provided by our professional Network Support Engineers. Hours of availability may vary
depending on the service contract with F5.

Contact numbers
Standard, Premium, and Premium Plus Support customers can open and manage cases by calling one of the contact numbers
listed below.

North America

North America: (888) 882-7535 or (206) 272-6500

Traffix® Support Only: (855) 849-5673 or (206) 272-5774

Outside North America

Outside North America, Universal Toll-Free: (800) 11 ASK 4 F5 or (800 11275 435)

Additional contact numbers by country

Australia: 1800 784 977

China: 010 5923 4123

Egypt: 0800-000-0537

99
OPTIMIZE THE SUPPORT EXPERIENCE
Engage Support

Greece: 00-800-11275435

Hong Kong: 001-800-11275435

India: 000-800-650-1448; 000-800-650-0356 (Bharti Air users)

Indonesia: 001-803-657-904

Israel: 972-37630516

Japan: 81-3-5114-3260 or 0066-33-812670

Malaysia: 1-800-814994

New Zealand: 0800-44-9151

Philippines: 1-800-1-114-2564

Saudi Arabia: 800-844-7835

Singapore: 6411-1800

South Africa: 080-09-88889

South Korea: 002-800-11275435

Taiwan: 00-800-11275435

Thailand: 001-800-12-0666763

United Arab Emirates: 8000-3570-2437 United Kingdom: 44-(0)8707-744-655

Vietnam: 120-11585

Open a support case


F5 provides several resources to help find solutions to problems. Before opening a support case with F5 technical support, check
to see if the issue you are encountering is already documented.

T Before opening a support case with F5, you should consult the following resources:

• Deployment guides and white papers provide information about specific deployment configurations.

• AskF5 Knowledge Base provides many articles including known issues, how-to guides, security advisories, release notes,
and general information about products. Many of the issues customers encounter are already documented on AskF5.

• iHealth enables customers to upload qkview configuration snapshots in order to verify operation of any BIG-IP system.

100
OPTIMIZE THE SUPPORT EXPERIENCE
Engage Support

Gather information to open a support case


If your issue cannot be solved using the resources listed, and you need to open a support case, you must first gather several
pieces of important information about your issue. Providing full and accurate information helps speed the path to resolution. The
required information for the majority of situations is summarized below:

• The serial number or base registration key of the specific BIG-IP system requiring support. For more information, see
AskF5 article: SOL917: Finding the serial number or registration key of your F5 device.

• A full description of the issue: A clear problem statement is the best tool in helping to troubleshoot issues. Your description
should include as much of the following information as you can provide.

• Occurrences and changes: The date and times of initial and subsequent recurrences. Did this issue arise at
implementation or later? Were there any changes or updates made to the BIG-IP system prior to the issue arising? If so,
what were they?

• Symptoms: Ensuring your list of symptoms is as detailed as possible will give more information for support personnel to
correlate with.

• Scope of the problem: Note whether the problem is system-wide or limited to a particular configuration feature, service, or
element (such as VLAN, interface, application service, virtual server, pool, and others).

• BIG-IP component: The feature, configuration element, or service being used when the problem occurred (such as
Session Tracking, Signatures, DoS/DDos protection, Policy Builder, or others).

• Steps to reproduce: The steps to reproduce the problem as accurately and in as much detail as possible. Include
expected behavior (what should happen) as well as actual behavior (what does happen).

• Errors: Complete text of any error messages produced.

• Environment: Current usage of the system. (Is this unit in production? If so, is there currently a workaround in place?)

• Browsers: Types and versions, if applicable.

• Changes: System changes made immediately prior to the problem’s first occurrence. This may include upgrades,
hardware changes, network maintenance, and other changes. Have any changes been made to resolve the problem? If
so, what were they?

• Issue Severity: A description of the impact the issue is having on your site or Case severity

• Severity 1: Software or hardware conditions on your F5 device are preventing the execution of critical business
activities. The device will not power up or is not passing traffic.

• Severity 2: Software or hardware conditions on your F5 device are preventing or significantly impairing high-level
commerce or business activities.

101
OPTIMIZE THE SUPPORT EXPERIENCE
Engage Support

• Severity 3: Software or hardware conditions on your F5 device are creating degradation of service or functionality in
normal business or commerce activities.

• Severity 4: Questions regarding configurations (“how to”), troubleshooting non-critical issues, or requests for product
functionality that are not part of the current product feature set.

• Contact and availability information including alternate contacts authorized to work on the problem with F5 Technical
Support. When there are more personnel available to work with F5 Technical Support, the resolution of your issue may be
expedited.

• Remote access information, if possible.

• A qkview file obtained while problem symptoms are manifesting. A qkview file of the system before the occurrence is also
useful. F5 recommends archiving qkview files regularly. For more information, see iHealth in the TMOS Operations Guide.

• Product-specific information: Software versions and types of equipment in use.

• Platform and system. Version and provisioned software modules of the affected system.

To locate platform and system information using TMSH at the command line

• Type the following command:


tmsh show /sys hardware

Output will appear similar to the following example:


<SNIP some of the output>
Platform
Name BIG-IP 3900
BIOS Revision F5 Platform: C106 OBJ-0314-03 BIOS (build: 010)
Date: 01/10/16
Base MAC 00:01:d7:be:bf:80
System Information

Type C106
Chassis Serial f5-jspv-lzxw
Level 200/400 Part 200-0322-02 REV C
Switchboard Serial
Switchboard Part Revision
Host Board Serial
Host Board Part Revision

102
OPTIMIZE THE SUPPORT EXPERIENCE
Engage Support

To copy software version and build number information at the command line

1. Type the following command:


cat /VERSION

Output will appear similar to the following example:


Product: BIG-IP
Version: 11.6.0
Build: 0.0.401
Sequence: 11.6.0.0.0.401.0
BaseBuild: 0.0.401
Edition: Final
Date: Mon Jan 12 21:08:03 PDT 2016
Built: 140811210803
Changelist: 1255500
JobID: 386543

2. Highlight and copy the output information and include it with your support case.

To copy provisioned module information at the command line

1. Type the following command:


tmsh list /sys provision

Output will appear similar to the following example:


sys provision afm { }
sys provision am { }
sys provision apm { }
sys provision asm {
level nominal
}
sys provision asm { }
sys provision avr { }
sys provision fps { }
sys provision gtm { }
sys provision lc { }
sys provision ltm {
level nominal
}

103
OPTIMIZE THE SUPPORT EXPERIENCE
Send information to Support

sys provision pem { }


sys provision swg { }

2. Highlight and copy the output information and include it with your support case.

Open a case using WebSupport Portal


If you cannot find the answer to your problem using the resources listed above, you can open a support case online, using the F5
WebSupport Portal (websupport.f5.com).

Use of the WebSupport Portal requires a current support contract and registration on the F5 website (login.f5.com).

Once registered, you’ll receive an email within 24 hours letting you know your account has been enabled with WebSupport Portal
access.

To register for WebSupport Portal access

1. Navigate to F5 WebSupport Portal.

2. Click Register for an Account.

3. Enter your email address.

4. Complete the Contact information portion of the page and then select I have a support contract and
need access to WebSupport.

5. Enter your serial number or registration key (optional).

After you logging you can open a support case.

Send information to Support


Once the information is assembled and appropriate documentation gathered, transfer it to F5 technical support following the
steps in Share diagnostic files with F5 technical support For more information, see AskF5 article: SOL2486: Providing files to F5
Technical Support.

Share diagnostic files with F5 technical support


F5 technical support may require diagnostic files to help resolve technical support issues. Upload files to F5 using one of the
following two methods:

• Upload qkview diagnostic files to iHealth.

• Upload/download files using dropbox.f5.com.

104
OPTIMIZE THE SUPPORT EXPERIENCE
Collect BIG-IP ASM data

Upload qkview diagnostic files to iHealth


The preferred method for providing a qkview diagnostic file to F5 Support is to upload the file to the iHealth website. iHealth
allows you to quickly diagnose the health and proper operation of your BIG-IP system. For more information about using iHealth,
see iHealth in the TMOS Operations Guide.

Upload/download files using dropbox.f5.com


The dropbox.f5.com site is a widely available file repository for exchanging incoming and outgoing diagnostic files with the F5
Technical Support team. The dropbox.f5.com site supports HTTP, FTP, and SFTP for transferring files to F5, and FTP and SFTP
for retrieving files from F5.

User name and password


Access to the dropbox.f5.com site is associated with an open support ticket number with syntax CXXXXXX or 1-########. The
user name provided to the dropbox.f5.com site is the ticket number, and the password provided is an email address of a user
associated with the ticket.

For example, if [email protected] has opened ticket C123456, he would log in to the dropbox.f5.com site using the following
information:

Username: C123456
Password: [email protected]

If [email protected] has opened ticket 1-12345678, he would log in to the dropbox.f5.com site using the following
information:

Username: 1-12345678
Password: [email protected]

For more information regarding uploading and downloading files using dropbox.f5.com, see AskF5 article: SOL2486: Providing
files to F5 Technical Support.

Collect BIG-IP ASM data


This section discusses BIG-IP ASM data you may need to gather for your support case, as well as tools to collect that data.

Important F5 Technical Support is the single point of contact for security vulnerability questions. For more information, see AskF5
article: SOL4602: Overview of the F5 security vulnerability response policy.

Use asmqkview utility


F5 Technical Support requires asmqkview output in all BIG-IP ASM related cases.

The asmqkview script automatically collects configuration and diagnostic information from BIG-IP ASM systems. The output
includes all data collected in qkview files and other data for BIG-IP ASM systems in a single file, which you can then provide to

105
OPTIMIZE THE SUPPORT EXPERIENCE
Collect BIG-IP ASM data

F5 Technical Support to aid in troubleshooting.

To run asmqkview in BIG-IP 11.6.0

• Use the following command syntax:


asmqkview -s0 --add-proxy-log output: /var/tmp/<hostname>.qkview

To run asmqkview in BIG-IP 12.0.0

• Use the following command syntax:


qkview -s0 -o asm-request-log output: /var/tmp/<hostname>.qkview

For more information, see AskF5 article: SOL6824: Overview of the asmqkview script.

Export security policy


You may be asked to provide an exported version of your security policy for F5 Technical Support to review.

You can export a security policy and save it in a file. The exported security policy can be used as backup, or you can import it
onto another system.

To export a security policy using the Configuration utility

1. Navigate to Security >> Application Security : Security Policies.

The Active Policies page opens.

2. In the Active Security Policies list, select the security policy that you want to export, then click Export.

Note You can also export security policies from the Inactive Policies list using the same method.

The Select Export Method popup page opens.

3. Select an export method.

• To save the security policy as an XML file, select Export security policy in XML format. To reduce the size
of the XML file, select the Compact format check box.

• To save the security policy as a policy archive file (.plc file), select Binary export of the security policy.

• If the security policy integrates with a vulnerability assessment tool, select the Include Vulnerability
Assessment configuration and data check box.

4. Click Export.

The system exports the security policy in the format you specified.

106
OPTIMIZE THE SUPPORT EXPERIENCE
Collect BIG-IP ASM data

For more information, see Importing and Exporting Security Policies in BIG-IP Application Security Manager: Implementations.

Capture HTTP request/response


You may be asked to provide an overview of the HTTP request/response from the client side. This can help F5 Technical Support
understand the problem and provide a baseline for reproduction of the issue in the lab.

F5 recommends using one of the following tools to collect the data:

• HttpWatch (save as HWL)

• Fiddler (save as SAZ)

• Chrome (save as cURL)

Important HttpWatch and Fiddler are commercial software and a license is required.

Example
In the following example, a Chrome browser is used to save a single HTTP request into a cURL command and the entire
transaction into an .har archive file.

1. Navigate to View > Developer > Developer tools > Network tab.

2. Refresh the page.

3. Locate the HTTP request in question.

4. Copy as cURL.

5. Send the content in clipboard to F5.

6. Save as HAR file.

7. Navigate to View > Developer > Developer tools > Network tab.

8. Refresh the page.

9. Save with HAR with content.

10. Send the output to F5 Technical Support.

Important Information leakage may occur when capturing sensitive application transactions on production traffic.

Use tcpdump utility


You can use tcpdump to capture client-side and server-side traffic of HTTP request/response to help F5 reproduce and

107
OPTIMIZE THE SUPPORT EXPERIENCE
Collect BIG-IP ASM data

troubleshoot your issue.

To capture traffic using tcpdump

• Use the following command syntax:


tcpdump -i 0.0:nnn -s0 -w /var/tmp/asm _ traffic _ catpure.cap host
<Virtual server IP address> or host <Pool member IP address or Host more
pool member IP address> -vvv

Important Information leakage may occur when capturing sensitive application transactions on production traffic.

For more information, see the following AskF5 articles:

• SOL411: Overview of packet tracing with the tcpdump utility

• SOL6546: Recommended methods and limitations for running tcpdump on a BIG-IP system

• SOL7227: Considerations when using the tcpdump utility with tagged VLAN traffic

• SOL13637: Capturing internal TMM information with tcpdump

• SOL2289: Using advanced tcpdump filters

Save UCS file


You may be asked to supply a user configuration set (UCS) file so that F5 Technical Support can load your configuration to
reproduce your issue in the lab.

To save a UCS file using TMSH at the command line

Type the following command:


tmsh save sys ucs asm _ support

Output is logged to the /var/local/ucs/asm_support.ucs file.

For more information, see AskF5 article: SOL4423: Overview of UCS archives.

Important A typical UCS archive contains user accounts, passwords, critical system files, and SSL private keys. However, you
can explicitly exclude SSL private keys from a UCS archive during the backup process. If your UCS archive contains SSL private
keys, you must store backup UCS archives in an environment that is as secure as where you store your private keys.

108
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
APPENDIX
Use Multiple Decoding Passes with Evasion Technique

Appendix
BIG-IP AAM dynamic caching integration

You can deploy both the BIG-IP ASM system and F5® BIG-IP® Application Acceleration Manager® (AAM) for a single web
application.

Considerations
The BIG-IP ASM system overrides the eligibility for caching entities that it inspects in the following instances:

• Policy Builder is running and the policy is unstable.

• A violation or learning suggestion is generated.

• Frame cookies are either created or removed due to an issue such as dynamic parameter extraction.

• The system processes a request triggering policy tightening suggestions (file types, URLs, or parameters).

• The system processes requests for pages that have extractions configured (including pages with dynamic sessions).

• The system processes requests for pages that are within a Flow Access (including URLs embedded in the cookie and
logout URLs).

• Applying a BIG-IP ASM security policy invalidates the BIG-IP AAM cache.

The Policy Builder periodically applies a policy that invalidates the BIG-IP AAM cache. Use BIG-IP AAM only after automatic
learning is complete and disabled. When protecting websites where performance improvements are critical, you can also choose
a policy type (such as the rapid deployment policy template) that does not require continuous learning.

For more information, see AskF5 article SOL16565: Configuring a Web Acceleration profile for use with a BIG-IP ASM-enabled
virtual server (11.4.0 and later).

Integrated BIG-IP APM session tracking and event logging


The BIG-IP ASM system integrates with BIG-IP APM to provide combined session tracking and event logging. This allows you to
configure your security policy to capture user names from the BIG-IP APM login process. It also allows you to see application
security violations that are associated with a user session.

For more information, see Tracking User Sessions in BIG-IP Application Security Manager: Implementations.

Use Multiple Decoding Passes with Evasion Technique


The Multiple Decoding: Passes option for evasion techniques allows you to configure the number of encoding passes that the
system should use to decode multiple encoded characters. The decoding passes are performed on URI and parameter input.

You can locate the Multiple Decoding option by navigating to Policy > Blocking > Evasion Techniques.

110
APPENDIX
Use Multiple Decoding Passes with Evasion Technique

Note As part of the normalization process that BIGIP ASM uses, multiple decoding is performed whether or not the blocking
properties are enabled. You can enable blocking properties to alarm or block an evasion technique when one is detected.

You can configure the Multiple Decoding option to perform two to five passes.

The number of specified decoding passes determines how the system responds. It either flags the results as an evasion
technique, triggers an attack signature, or both.

When the blocking properties are not set for Multiple Decoding, the ability to identify signatures is reduced to the number of
encoded passes.

The following table shows the actions the BIG-IP ASM system takes on each of the decoding passes:

Table A.1 Decoding pass actions

Decoding Pass(es) Behavior

2 to 3 Triggers an evasion technique but will not trigger an attack signature if one exists

4 Triggers an evasion technique and an attack signature if one exists

5 Triggers an attack signature if one exists, but does not trigger an evasion technique

For example, Multiple Decoding set to perform 3 decoding passes converts the following a%252fb string to a/b after the
second pass. On the third decoding pass, the system responds with the appropriate alarm or block action you have configured.

• On first pass, the system looks at the hexadecimal %252f.

In ASCII, 25 translates to %, so the first pass decoding result is %2f.

• On second pass the system decodes 2f to / in ASCII

The two decoding passes of a %252fb result in a/b

• On third pass, the system takes action. The encoding attempt of the characters a/b results in action specified
by the Learn, Alarm, and Block settings of the Evasion Technique Detected category on the Blocking
Policy page.

For example, take the following string:


/nameandcolor.asp? aaa=%2525253cSCRIPT%2525253e

Using the previous string as an example within a URI, the string translates from hexadecimal to ASCII is as follows:

111
APPENDIX
Resource Materials

Table A.2 Hexadecimal to ASCII translation

Hexadecimal ASCII

25 %

3C <

3e >

The following table shows the decoding results for this URI string, based on the number of passes configured:

Table A.3 Decoding passes and results

Passes Result

2 to 3 First decoding pass results in 25253c and 25253e.

Second decoding pass results in 253c and 253e.

Third decoding pass results in < and >.


System triggers an evasion technique and responds with the appropriate action.

The number of configured passes is not high enough for the system to check /nameandcolor.
asp?aaa=<SCRIPT> against the list of known attack signatures, which could possibly trigger an attack
signature.

4 Fourth decoding pass results in the system checking the fully decoded results against the known attack
signatures.
The system triggers both an evasion technique and an attack signature.

5 Fifth decoding pass results in the system triggering on the detected matching attack signature.
No evasion technique violation is reported.

Note A higher number of decoding passes impacts system performance. F5 recommends that you set blocking properties when
you use the lower settings (two to three passes).

Resource Materials
BIG-IP ASM product documentation
BIG-IP ASM product documentation provides step-by-step instructions for how to create a security policy and add available
protections.

• BIG-IP ASM documentation for 11.6.

• BIG-IP ASM documentation for 12.0.

112
APPENDIX
Resource Materials

AskF5 articles
The following articles contain information you may find useful.

For information about See this article

Opening a support case SOL6825: Information required when opening a support case for
BIG-IP ASM

Updating BIG-IP ASM attack signatures SOL8217: Updating the BIG-IP ASM attack signatures

Understanding BIG-IP ASM cookies SOL6850: Overview of BIG-IP ASM cookies

Using local traffic policies SOL15085 Overview of the Local Traffic Policies feature

Configuring the language encoding SOL6335 Overview of encoding language settings for BIG-IP ASM

Sending SNMP traps to communicate a blocked SOL7738 Configuring the BIG-IP ASM system to send SNMP traps
request and violation to communicate a blocked request and request violation

Redirecting response page to an external server SOL7825: Redirecting a blocking response support ID to an
external error page

Working with evasion technique violations SOL7929: Working with Evasion technique detected violations

Using the wildcard entity in the BIG-IP ASM system SOL8623: Using the wildcard entity in BIG-IP ASM

Understanding the BIG-IP ASM system and caching SOL14880: BIG-IP ASM may prevent object caching

Understanding the BIG-IP ASM system cookies SOL6850: Overview of BIG-IP ASM cookies

BIG-IP ASM daemons SOL14020: BIG-IP ASM daemons (11.x)

113
Help improve this guide
Please help F5 improve this guide by responding to a few questions about this chapter.

(Note: You must be viewing this document in Adobe Acrobat Reader or similar to use this form.)

Did this chapter answer all of your questions about the subject matter? Yes No

If not, what information should be included that is not?  

Did you find any errors pertaining to subject matter in this chapter? Yes No

If yes, please describe the error:   

If yes, please copy and paste the paragraph containing the error here:  

Did you find non-subject-matter errors in this chapter (spelling, etc.)? Yes No

If yes, please describe the error:  

If yes, please copy and paste the paragraph containing the error here:  

Send
LEGAL NOTICES
Notice

Legal Notices
Publication date
This document was published February 2016. Publication Number: BIG-IP ASMOps 01_0.

Copyright
Copyright © 2013-2016, 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
AAM, Access Policy Manager, Advanced Client Authentication, Advanced Firewall Manager, Advanced Routing, AFM, APM,
Application Acceleration Manager, Application Security Manager, ARX, AskF5, ASM, BIG-IP, BIG-IQ, Cloud Extender,
CloudFucious, Cloud Manager, Clustered Multiprocessing, CMP, COHESION, Data Manager, DevCentral, DevCentral [DESIGN],
DNS Express, DSC, DSI, Edge Client, Edge Gateway, EdgePortal, ELEVATE, EM, Enterprise Manager, ENGAGE, F5, F5[DESIGN],
F5 Certified [DESIGN], F5 Networks, F5SalesXchange [DESIGN], F5Synthesis, f5Synthesis, F5Synthesis[DESIGN], F5
TechXchange [DESIGN], Fast Application Proxy, Fast Cache, FirePass, Global Traffic Manager, GTM, GUARDIAN, iApps, IBR,
Intelligent Browser Referencing, Intelligent Compression, IPv6 Gateway, iControl, iHealth, iQuery, iRules, iRules OnDemand,
iSession, L7 RateShaping, LC, Link Controller, Local Traffic Manager, LTM, LineRate, LineRate Systems [DESIGN], LROS, LTM,
Message Security Manager, MSM, OneConnect, Packet Velocity, PEM, Policy Enforcement Manager, Protocol Security Manager,
PSM, Real Traffic Policy Builder, SalesXchange, ScaleN, Signalling Delivery Controller, SDC, SSL Acceleration, software designed
applications services, SDAC (except in Japan), StrongBox,

SuperVIP, SYN Check, TCP Express, TDR, TechXchange, TMOS, TotALL, Traffic Management Operating System, Traffix
Systems, Traffix Systems (DESIGN), Transparent Data Reduction, UNITY, VAULT, vCMP, VE F5 [DESIGN], Versafe, Versafe
[DESIGN], VIPRION, Virtual Clustered Multiprocessing, WebSafe, Silverline, and ZoneRunner, are trademarks or service marks of
F5 Networks, Inc., in the U.S. and other countries, and may not be used without express written consent.

All other product and company names herein may be trademarks of their respective owners.

Patents
This product may be protected by one or more patents. See the F5 Patents page (f5.com/about/guidelines-policies/patents).

Notice
THE SOFTWARE, SCRIPTING, AND COMMAND EXAMPLES ARE PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE

115
LEGAL NOTICES
Notice

LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE, SCRIPTING AND COMMAND EXAMPLES, OR THE
USE OR OTHER DEALINGS WITH THE SOFTWARE, SCRIPTING, AND COMMAND EXAMPLES.

116

You might also like