Manual Chapter : Inspecting Protocol Anomalies

Applies To:

Show Versions Show Versions


  • 14.1.3, 14.1.2, 14.1.0
Manual Chapter

Inspecting Protocol Anomalies

About protocol anomaly inspection

In the BIG-IP® Network Firewall, you can configure profiles to inspect traffic against protocol inspection items. Protocol inspection items are arranged in categories by the Service type. You can assign protocol inspection items individually or in groups. You can add a new inspection item by writing a valid Snort rule and defining matching characteristics. You can assign protocol inspection items to a firewall rule, or directly to a virtual server.
Rule precedence applies to protocol inspection profiles. The protocol inspection rules for the most granular context are applied. The only exception is that a virtual server firewall rule takes precedence over a profile applied directly toa virtual server. The order of precedence is:
  1. Profile applied to a virtual server firewall rule
  2. Profile applied directly to a virtual server
  3. Profile applied to a route domain
  4. Profile applied to the global context

Task list

Creating a protocol inspection profile

A protocol inspection profile collects rules for protocol inspection using preinstalled signatures defined by the Snort project, or custom signatures defined using the Snort syntax. Signatures are selected and added to the profile by Service, and you can narrow the scope of signatures by a number of other characteristics. You can enforce signatures, compliance items, or both.
  1. On the Main tab, click
    Protocol Security
    Inspection Profiles
    The Inspection Profiles screen opens.
  2. Click
    and select
    Alternatively, copy an existing inspection profile by selecting the profile and clicking
    , then
    Clone Existing
  3. Type a profile name, and optionally add a description.
  4. From the
    menu, select
    to enforce signatures.
    If you are enforcing only Signature items, you can select
    for compliance items.
  5. From the
    menu, select
    to enforce compliance items.
    If you are enforcing only Compliance items, you can select
    for signatures.
  6. To collect AVR stats, from the
    AVR Stats Collect
    menu, select
  7. From the
    menu, select the services you want to add to the inspection profile.
    Each selected service type displays as a new category at the bottom of the screen. By default, all inspection items are disabled. You must enable items or categories you want to inspect.
  8. From
    Auto Approval Trigger
    , configured the thresholds to automatically approve suggestions. You can choose either a time based threshold between 720-43200 minutes, or a confidence based threshold, between 0% and 100%. Only one threshold can be configured, enter
    to disable the unused threshold.
    Confidence indicates the degree to which BIG-IP AFM calculates false positives for a signature based on traffic analysis. A high percentage indicates a low false positive risk and a low percentage indicates a high false positive risk.
  9. To enable inspections in the service, click the service category name on the screen.
    The service category expands to show the inspections.
  10. To enable an inspection, select the checkbox for the inspection.
    The Edit Selected Inspections panel opens on the right of the screen.
  11. To enable an inspection, select
    , and click
  12. To change the action for the selected inspection, from the Action menu select
    , or
  13. To select whether the inspection item is logged, from the Log menu select
    You can select and edit multiple inspections at once. You can select the checkbox at the top of the category to select and edit all inspections in the category.
  14. When you have finished adding services and editing inspections, click
    Commit Changes to System
The Inspection Profiles screen appears and the inspection profile you created is displayed in the list.
You can attach a protocol inspection profile to a firewall rule or to a virtual server.

Viewing protocol inspection items

View the list of protocol inspection items to see the checks and actions for a category, and to view properties and hits for an inspection item.
  1. On the Main tab, click
    Protocol Security
    Inspection List
    The Inspection List screen opens.
  2. To filter the list, select the filter options.
    You can type text in the search field to narrow options, snd select options from any of the lists.You can add filter lists from the
    Add Filter
    list. The available categoru lists are
    Inspection Type
    Performance Impact
    User Defined
    , and
    . You can select multiple items from each list, and you can make selections from multiple lists.
    For example, to filter items of medium and low accuracy that include the term
    , select
    from the
    list, and type
    in the search field.
    The list of inspection items changes to show the results of the filter settings.
  3. To view the properties for an inspection item, click the item ID number,
    The item properties are displayed in the Properties pane on the right.
  4. To expand statistics for an inspection item, click the item description.
    Statistics for hits on the inspection item appear below the item.
  5. To change the duration for statistics, click
    1 Hour
    1 Day
    , or
    1 Week
    You can click
    to refresh the statistics.
  6. To collapse the statistics, click the description again.
    You can expand multiple items on the same screen.

Creating protocol inspection items

Add inspection items to create new inspections based on Snort signatures. You write signatures in Snort format. For information on writing Snort rules, see
  1. On the Main tab, click
    Protocol Security
    Inspection List
    The Inspection List screen opens.
  2. Click
    New Signature
  3. In the
    field, type a name for the signature.
  4. In the
    field, type a description.
  5. In the
    Signature Definition
    field, type the valid snort syntax.
    All remaining fields are optional. However, the default settings accept the signature, and may not be configured correctly for your inspection. Configure settings that are appropriate to your security stance and the detection you want to accomplish.
  6. Specify an action for the signature.
  7. Select whether to log the signature.
  8. Specify the accuracy for the signature.
  9. Specify the direction on which the signature is detected.
  10. Specify the performance impact for the signature.
  11. Specify the protocol on which the signature acts.
  12. Specify the risk level for the attack.
  13. In the
    field, type any documentation for the signature.
  14. In the
    Attack Type
    field, specify the attack type.
  15. In the
    field, type any references for the signature.
  16. In the
    Reference Links
    field, type any reference links.
  17. In the
    field, type the revision number.
  18. In the
    field, type the systems affected by the signature.
  19. Specify the service to which the signature applies.
  20. Click
    to create the inspection item.
The signature is created and appears in the inspection list.
Assign the inspection item to an inspection profile to enable detection and the action associated with the inspection item.
To view user defined inspection items, you can select
from the
User Defined
list on the Inspection Profile or Inspection List screens.

Snort rule reference

This document includes the Snort commands that are currently supported when writing Snort rules.

Snort rule overview

Protocol Anomaly Inspection supports a subset of Snort rules. See the Snort users manual for more information. Snort rules can be written as pcre (perl-compatible regular expressions). Negation (
) is not supported.

Parameters supported with content and pcre

The following parameters are supported when using the
commands. See content and pcre.
  • nocase
  • depth
  • offset
  • distance
  • within
  • http_client_body
  • http_cookie
  • http_header
  • http_method
  • http_uri
  • http_stat_code
  • http_stat_msg
  • fast_pattern

Parameters supported with byte_test

All parameters for
are supported except
. See the byte_test.

Parameters supported with byte_jump

All parameters for
are supported except
, and
. See byte_jump.

Parameters supported in metadata

The following parameters are supported in
. See metadata.
  • service
  • policy balanced-ips
The following parameters are supported in
. See reference.
  • url
  • cve
  • bugtraq
The following additional commands are supported.
  • msg
  • classtype
  • flow
  • rev
The following parameters are added:
  • protocol
  • accuracy
  • risk
  • systems
  • documentation
  • last_updated
  • performance_impact

Assigning a protocol inspection profile to a virtual server

Add protocol inspection to a virtual server to detect the configured protocol inspection items on matched traffic on the virtual server.
  1. On the Main tab, click
    Local Traffic
    Virtual Servers
    The Virtual Server List screen opens.
  2. In the Name column, click the name of the relevant virtual server.
    This displays the properties of the virtual server.
  3. On the menu bar, from the Security menu, choose Policies.
  4. For the Protocol Inspection Profile seting, Select
  5. Select the name of the protocol inspection profile to apply to traffic on the virtual server.
  6. Click
The protocol inspection profile is enabled on the virtual server.

Assigning a protocol inspection profile to a firewall rule

This task requires an existing network firewall policy.
Assign protocol inspection to a firewall rule to check protocol inspection items on traffic that matches the rule.
  1. On the Main tab, click
    Network Firewall
    The Policies screen opens.
  2. Click the name of a firewall policy to edit that policy.
    The Firewall Policy screen opens, or the policy expands on the screen.
  3. Click
    Add Rule
    to add a firewall rule to the policy.
    A blank rule appears in the policy.
  4. In the
    column, type the name and an optional description in the fields.
  5. From the
    list, select the rule state.
    • Select
      to apply the firewall rule to the given context and addresses.
    • Select
      to set the firewall rule to not apply at all.
    • Select
      to apply the firewall rule according to the selected schedule.
  6. From the
    list, select the protocol to which the firewall rule applies.
    • Select
      to apply the firewall rule to any protocol.
    • Select the protocol name to apply the rule to a single protocol.
    ICMP is handled by the BIG-IP system at the global or route domain level. Because of this, ICMP messages receive a response before they reach the virtual server context. You cannot create rule for ICMP or ICMPv6 on a self IP or virtual server context. You can apply a rule list to a self IP or virtual server that includes a rule for ICMP or ICMPv6; however, such a rule will be ignored. To apply firewall actions to the ICMP protocol, create a rule with the
    route domain
    context. ICMP rules are evaluated only for ICMP forwarding requests, and not for the IP addresses of the BIG-IP system itself.
  7. In the
    field, specify the addresses and ports that the rule should match.
    You can type an IP address, a contiguous range of IP addresses, an IP subnet, a port, a range of ports, a geographic location, a subscriber or subscriber group, an address list, or port list. After you complete an entry, click
    You cannot specify a mix of IPv6 and IPv4 address types in a single NAT rule.
  8. In the
    field, begin typing to specify a destination address.
    As you type, options will appear that match your input. Select the destination option you want to use when it appears, or press Return. You can add more addresses by typing in the field labeled
    add new destination
    A destination address can be any of the following:
    • Any address
    • IPv4 or IPv6 address
    • IPv4 or IPv6 address range
    • FQDN
    • Geographic location
    • VLAN
    • Address list
    • Port
    • Port range
    • Port list
    • Address list
  9. From the
    list, select the firewall action for traffic originating from the specified source address on the specified protocol. Choose from one of the these actions:
    Allows packets with the specified source, destination, and protocol to pass through the firewall. Packets that match the rule, and are accepted, traverse the system as if the firewall is not present.
    Drops packets with the specified source, destination, and protocol. Dropping a packet is a silent action with no notification to the source or destination systems. Dropping the packet causes the connection to be retried until the retry threshold is reached.
    Rejects packets with the specified source, destination, and protocol. When a packet is rejected the firewall sends a destination unreachable message to the sender.
    Accept Decisively
    Allows packets with the specified source, destination, and protocol to pass through the firewall, and does not require any further processing by any of the further firewalls. Packets that match the rule, and are accepted, traverse the system as if the firewall is not present.
  10. Optionally, to apply an iRule to traffic matched by this rule, from the
    list, select an iRule.
  11. Optionally, to send traffic matched by this rule to a specific virtual server, from the
    Send to Virtual
    list, select the virtual server.
    Traffic that is sent to a virtual server is processed according to the DDoS rules and firewall rules on that virtual server, not according to the originating context.
  12. To apply custom timeouts or port misuse profiles to flows that match this rule, from the
    Service Policy
    field, specify a service policy.
  13. To apply a protocol inspection profile to check protocol inspection signatures against traffic that matches the rule, select a Protocol Inspection Profile.
  14. To apply a classification policy to traffic that matches the rule, select a Classification Policy.
  15. Click
    Done Editing
  16. Click
    Commit Changes to System
    The policy with the updated rule is displayed.
A firewall rule is created with a Protocol Inspection Profile attached.

Viewing protocol security inspection logs

View protocol security inspection logs to check for hits on protocol inspection items.
  1. On the Main tab, click
    Protocol Security
    Inspection Logs
    The Inspection Logs screen opens.
  2. Use the search filters to narrow or expand your search.
    For example, you can change the search time range from the default
    Last Hour
    to see logs for the last week, by selecting
    Last Week
    . Type text to match in the text field.
  3. To customize the search, click
    Custom Search
    Custom Search
    , you can drag search results directly from the results list to the seach table, to provide a narrowed list of results.
  4. Click
    to search with the custom search parameters.
  5. Click
    Reset Search
    to return to the main search screen.
The search results for the protocol inspection log entries are displayed.