FTD Ips
FTD Ips
DGTL-BRKSEC-3300
#CiscoLive
About Your Speaker
Gary Halleen
Email: gary@cisco.com
Senior Security Architect
Global Security Architect Team
Amateur (Ham) Radio Extra license: K7TRO
20 years at Cisco Security
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
Oregon – Pacific Wonderland
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
Oregon – Pacific Wonderland
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
Some of my Hobbies
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
Some of my Hobbies
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
Some of my Hobbies
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
About this Session
Firepower 1100
ASA 5516-X
Firepower 9300
ASA 5508-X Firepower 4100
Firepower 1000
ASA 5545-X
ASA 5555-X
Firepower FirePOWER 7000/8000 NGIPS
ASA 5525-X 2100
ISA3000 NGFWv
In this session, the terms Firepower, Firepower Threat Defense (FTD) and
ASA with Firepower Services (ASA+SFR) are treated mostly the same.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
Firepower Management Center (FMC)
FMC offers the best management capabilities
for an Intrusion Prevention Device, and this Firepower Management Center
session will focus on it.
Manage across many sites Control access and set policies Investigate incidents Prioritize response
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
In the Appendix
• OpenAppID
• Using OpenAppID to create new applications, and use them to
reduce your attack surface.
• Using custom Security Intelligence feeds
• TLS crypto acceleration information
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
FMC Themes
FMC 6.5 introduces an optional light-colored theme.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
Firepower Deployment Modes
101110
101110
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
6.4
IPS Events into Cisco Threat Response
1. FMC or FTD sends IPS events to CTR
2. Query anything: IP address, Domain,
File Hash, IOC, or more.
3. See where it is reported by your
other security products.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
Firepower Policies
Prefilter Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
Packets and Policies: Know What’s Happening Where
Prefilter
Policy ASA (“LINA”)
Fastpathed
Firepower
SSL Network DNS Identity Intrusion Network Access Malware Intrusion
Policy Analysis Policy Policy Policy Discovery Control & File Policy
Policy (NAP) Policy Policy Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
Packets and Policies: Know What’s Happening Where
ASA (“LINA”)
Fastpathed
Firepower
Network Intrusion Network Access Malware
SSL DNS Identity Intrusion
Analysis Policy Discovery Control & File
Policy Policy Policy Policy
Policy (NAP) Policy Rules Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
Prefilter Policy
FTD-Only Feature
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
Prefilter Policy
FTD-Only Feature
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
Prefilter Policy
FTD-Only Feature
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
Intrusion Policy
The Intrusion Policy defines which Snort rules are used in packet inspection.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
Intrusion Base Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
Intrusion Policy
You can manually Enable/Disable individual rules or configure actions.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
Intrusion Policy
Several ways to search for rules…
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 29
Network Discovery Policy
• Defines which networks Firepower should “learn” from.
• Used for maintaining the Firepower Recommended Rules in the
Intrusion Policy.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
Intrusion Policy and Network Discovery Policy
Firepower Recommended Rules automatically tune your Snort rules for the
applications, servers, and hosts on your network.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
Intrusion Policy and Network Discovery Policy
Firepower Recommended Rules automatically tunes your Snort rules for the
applications, servers, and hosts on your network.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
Access Control Policy
Traffic must match in the Access Control Policy in order to be Inspected
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
Access Control Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
Access Control Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
Things to watch
out for
Access Control Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
Access Control Policy
Expected nmap results: Actual nmap results:
Nmap scan report for nomad Nmap scan report for nomad
Host is up (0.20s latency). Host is up (0.20s latency).
Not shown: 997 filtered ports Not shown: 989 closed ports
PORT STATE SERVICE PORT STATE SERVICE
22/tcp open ssh 22/tcp open ssh
80/tcp open http 53/tcp open domain
443/tcp open https 80/tcp open http
111/tcp open rpcbind
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
443/tcp open https
What is wrong here? Any ideas? 445/tcp filtered microsoft-ds
1443/tcp open ies-lm
5060/tcp filtered sip
“nmap nomad” run from Internet. 8080/tcp open http-proxy
10000/tcp open snet-sensor-mgmt
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
Access Control Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
Access Control Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
According to Network
Computing, 72% of all internet
traffic is SSL encrypted.
(November 2018)
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
Why Decrypt?
• Needed for most Snort HTTP signatures, and many
others also
• Advanced Malware Detection (AMP) file inspection
• Security Intelligence URL Feed matching
• Threat Intelligence Director STIX / TAXII URL
indicators
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
TLS Inspection on Passive Interface
no longer supported
ABC
ABC
ABC #$* #$*
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 45
TLS / SSL Inspection
Inbound Traffic
• Traffic is decrypted by installing the Servers’ SSL Certificate
and Private Key onto the FMC. Action = Decrypt-Known Key
Outbound Traffic
• Traffic is decrypted by installing a wildcard certificate and
performing a “man in the middle attack” against your users’
SSL traffic. Action = Decrypt-Resign
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
TLS / SSL Decryption with Known Key
Example
Create an SSL Policy to decrypt traffic with this known key for the associated host.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
TLS / SSL Decryption with Known Key
Example
Assign the SSL Policy to your Access Control Policy:
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
TLS / SSL Decryption with Known Key
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 50
Alert when Certificate Changes
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 51
SSL Hardware Decryption
• Firepower 6.2.3 enabled Hardware Decryption on FP-4100/9300 platforms, but was disabled
by default.
FTD 6.2.3: system support ssl-hw-offload (enable/disable)
• Firepower 6.4 and greater uses Hardware Decryption on Firepower appliances: FP-1000,
2100, 4100, and 9300.
FTD 6.4+: hardware decryption can not be disabled without TAC
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 52
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 53
Variable Sets
Variable Sets
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 55
Variable Sets
The variable set defines commonly-
used IP addresses and ports
My Recommendation: Default-Set
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 56
Variable Sets
Most variables don’t need to
be changed.
• HOME_NET
• EXTERNAL_NET
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 57
Variable Sets Sample Rule
alert tcp $EXTERNAL_NET any -> $HOME_NET 143 \
How are they used? (msg:"PROTOCOL-IMAP login brute force attempt";
flow:to_server,established,no_stream; \
content:"LOGIN"; fast_pattern:only; \
detection_filter:track by_dst, count 30, seconds 30; \
metadata:ruleset community, service imap;\
reference:url,attack.mitre.org/techniques/T1110; \
classtype:suspicious-login; sid:2273; rev:12;)
This sample rule is written to watch for attempted IMAP (email) logins from outside
your network, to a server inside your network:
• Looking for 30 attempts in 30 seconds
However, this might also be useful to detect events WITHIN your network, especially
if your IPS is deployed separating different network segments.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 58
Variable Sets Sample Snort Rule
alert tcp $EXTERNAL_NET any -> $HOME_NET 143 \
How are they used? (msg:"PROTOCOL-IMAP login brute force attempt";
flow:to_server,established,no_stream; \
content:"LOGIN"; fast_pattern:only; \
detection_filter:track by_dst, count 30, seconds 30; \
metadata:ruleset community, service imap;\
reference:url,attack.mitre.org/techniques/T1110; \
classtype:suspicious-login; sid:2273; rev:12;)
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 59
Variable Sets
Thinking about HOME_NET…
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 60
Variable Sets
Thinking about HOME_NET…
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
Variable Sets
Thinking about HOME_NET…
If you don’t, attacks will often not be detected because Snort will
only be looking for IPv4.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 62
Variable Sets
Now, what about EXTERNAL_NET?
- or -
Which is best?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 63
Variable Sets
My Recommendations
SecOps-managed or Internal IPS Internet Perimeter Deployment
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 64
The Network Analysis
Policy
Network Analysis Policy
What is this?
Do I need to do anything here?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 66
Network Analysis Policy
The Network Analysis Policy (NAP) controls the Preprocessors, and determines things such as:
o Fragmentation Reassembly
o Protocol Compliance
o Inline Normalization
o SCADA Preprocessors
Security Usability
Security Usability
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 68
Network Analysis Policy
By default, there are no tunable NAP policies.
You’ll need to create one.
Create Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 69
Network Analysis Policy
• Give your policy a name.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
Network Analysis Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 71
Network Analysis Policy
Do these Base Policies look familiar? Besides the name, these Base
Policies have NOTHING in
common with the Intrusion Base
Policies.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 72
Network Analysis Policy
Enable/Disable Preprocessors
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 73
Fragmentation
Both IP and TCP can cause a stream of data to break into many parts
Both IP fragmentation and TCP segmentation may be naturally occurring or performed
intentionally to evade IPS
IP fragment reassembly and TCP sequence reconstruction must be applied to mitigate
this evasion technique
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 74
How Bad can Fragmentation Get?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 76
Network Analysis Policy
Inline Normalization
If Enabled:
• FMC will learn the Operating System and
version automatically, and apply the correct
fragmentation reassembly policy so the IPS
detects attacks in the same order as the
host they’re directed to.
• If unable to determine the OS, it will enforce
the “First” fragmentation reassembly.
• If Adaptive Profile Updates is enabled in the
Access Control Policy, this capability will
extend even to passive deployments.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 77
Detection Enhancement Settings
Enable Profile Updates
These settings are on the Advanced Tab of the Access Control Policy.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 78
Network Analysis Policy
TCP Stream
Tune it?
If Passive Deployment, and you did
not Enable Profile Updates.
• TCP Stream determines how
fragmented TCP traffic is
reassembled.
• Different operating systems
handle reassembly differently,
and it is critical that your IPS
understands the hosts.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 79
Network Analysis Policy
IP Defragmentation
Tune it?
If Passive Deployment, and you
did not Enable Profile Updates.
• Similar reason as TCP Stream.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 80
Access Control Policy – Advanced Settings
Don’t forget to select the Network Analysis Policy from the Access Control Policy -> Advanced
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 81
Network Analysis Policy
Recommendations
Inline Deployment Passive Deployment
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 82
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 83
For an in-depth discussion of Impact Flags,
Impact Flags see Will Young’s BRKSEC-3328 session.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 84
Understanding Impact Flags
Intrusion Events Host Profile Impact Flag Action Why
[Outside Profile Range]
Source / Destination IP
[Host not yet profiled]
0 Event occurred outside
profiled networks
User IDs
4 Previously unseen host
within monitored network
Operating System
IOC: Predefined Impact
Potential Vulnerabilities
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 85
Understanding Impact Flags
Intrusion Events Host Profile Impact Flag Action Why
[Outside Profile Range]
Source / Destination IP
[Host not yet profiled]
0 Event occurred outside
profiled networks
User IDs
4 Previously unseen host
within monitored network
CVE
Snort ID Client / Server Apps
Operating System
1 Host vulnerable to attack or
showing an IOC.
IOC: Predefined Impact
Potential Vulnerabilities
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 86
6.3
Contextual Cross-Launch
• New to Firepower Management Center (FMC) 6.3
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 87
6.3
Contextual Cross-Launch
Several tools already included
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 88
6.3
Contextual Cross-Launch
• Do you have a favorite tool?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 89
6.3
Contextual Cross-Launch
• Do you have a favorite tool?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 90
6.3
Contextual Cross-Launch
Stealthwatch Cross-Launch Example
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 91
6.3
Contextual Cross-Launch
Tetration Cross-Launch Example
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 92
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 93
Snort Rules
Firepower uses Snort Rules for Intrusion Prevention.
Cisco provides regular rule updates. Most customers deploy these automatically.
Third-party Snort rules can be added manually through the Rule Editor (Objects -> Intrusion
Rules -> Create Rule), or can be imported.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 94
Snort Rule Editor
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 95
Snort Rules
• Snort Rules are normally created on a single line, with no special
characters, and in ASCII or UTF-8 format.
• The Import file can contain many rules as long as they are one rule per-
line.
• Many of the Emerging Threat rules use deprecated syntax (”threshold”
statement). If you are importing ET rules, you’ll need to correct or remove
these rules first. Threshold has been replaced with detection_filter.
• SHOULD not have a rule SID, but is allowed. All on ONE Line
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 96
Snort Rules (continued)
• Sometimes it is much more readable to spread the rule across
multiple lines. Do this with the backslash character - \
Example Rule (from Emerging Threats):
alert tcp \
[43.250.116.0/22,43.252.80.0/22,43.252.152.0/22,45.4.128.0/22,45.4.136.0/22,45.6.48.0/22,\
45.43.128.0/18,45.65.188.0/22,45.114.224.0/22,45.117.208.0/22,45.121.204.0/22,\
45.127.36.0/22,46.232.192.0/21,46.243.140.0/24,46.243.142.0/24,49.8.0.0/14,\
49.238.64.0/18,58.14.0.0/15,60.233.0.0/16,61.11.224.0/19] \
any -> $HOME_NET any (msg:"ET DROP Spamhaus DROP Listed Traffic Inbound group 2"; \
flags:S; reference:url,www.spamhaus.org/drop/drop.lasso; \
threshold: type limit, track by_src, seconds 3600, count 1; \
classtype:misc-attack; flowbits:set,ET.Evil; flowbits:set,ET.DROPIP; sid:2400001; \
rev:2690; metadata:affected_product Any, attack_target Any, deployment Perimeter, \
tag Dshield, signature_severity Minor, created_at 2010_12_30, updated_at 2019_01_20;)
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 97
Snort Rules (continued)
• This ET rule has a deprecated keyword – “threshold”, as well as
“type limit”, so let’s fix it.
alert tcp \
[43.250.116.0/22,43.252.80.0/22,43.252.152.0/22,45.4.128.0/22,45.4.136.0/22,45.6.48.0/22,\
45.43.128.0/18,45.65.188.0/22,45.114.224.0/22,45.117.208.0/22,45.121.204.0/22,\
45.127.36.0/22,46.232.192.0/21,46.243.140.0/24,46.243.142.0/24,49.8.0.0/14,\
49.238.64.0/18,58.14.0.0/15,60.233.0.0/16,61.11.224.0/19] \
any -> $HOME_NET any (msg:"ET DROP Spamhaus DROP Listed Traffic Inbound group 2"; \
flags:S; reference:url,www.spamhaus.org/drop/drop.lasso; \
threshold: type limit,
detection_filter: tracktrack
by_src,
by_src,
seconds
seconds
3600,3600,
countcount
1; \ 1; \
classtype:misc-attack; flowbits:set,ET.Evil; flowbits:set,ET.DROPIP; sid:2400001; \
rev:2690; metadata:affected_product Any, attack_target Any, deployment Perimeter, \
tag Dshield, signature_severity Minor, created_at 2010_12_30, updated_at 2019_01_20;)
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 98
Importing Snort Rules
• Once your Snort rules are in a text file, navigate to Objects -> Intrusion
Rules.
• Click on “Import Rules”
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 99
Importing Snort Rules
• Click on “Browse” to locate your file, and click “Import”.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 100
Importing Snort Rules
• If successful, you will see a screen showing what has been imported.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 101
Importing Snort Rules
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 102
Importing Snort Rules
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 103
Importing Snort Rules
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 104
Enabling Snort Rules
• Remember, imported rules are Disabled by default. Must enable these.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 105
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 106
How do you Exempt Specific Servers from a Snort Rule?
Options:
1. Use a different Intrusion Policy for some hosts.
(This could have memory or performance impact if overused.)
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 107
How do you Exempt Specific Hosts from a Snort Rule?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 108
How do you Exempt Specific Hosts from a Snort Rule?
GID Type of Rule Method to Use Can Use Pass Rule?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 109
Pass Rule Example
Pass Rule
Open the firing rule in the Rule Editor (Objects -> Intrusion Rules)
203.0.113.24
Network
Scanner
Campus
Web
Server
SSH
Server
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 111
Pass Rule
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 112
Pass Rule
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 113
Pass Rule
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 114
Pass Rule
Finally, Edit the Intrusion Policy, and change the Rule State for your new Local Rule to
“Generate Events”. Save and Deploy the Intrusion Policy.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 115
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 116
Bypass Options
Software Bypass Enable traffic, uninspected, when Snort is down or busy.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 117
Software Bypass
Supported Deployment:
• Inline Set, Inline TAP
• ASA with Firepower Services
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 118
Fail-to-Wire Interfaces
Supported Deployment:
• Inline Set, Inline TAP
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 119
Automatic Application Bypass (AAB)
Detects Snort failures or degraded performance and triggers a restart
of the impacted Snort process. First available in FTD in 6.2.2.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 120
Trust Rules
Within the Access Control Policy, defined traffic can be exempted from File and IPS
inspection, which accelerates it through the appliance. Basing the rule on
Source/Destination Port and IP addresses is most effective.
Security Intelligence feeds and SSL/TLS Decryption are still applied to Trust rules.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 121
PreFilter Policy
PreFilter rules are processed prior to Intrusion Prevention or Access Control Policies. If
traffic can be defined by Zone, Network, and Port (similar to an ASA rule), the traffic can be
FastPathed. This is similar to a Trust rule, but Security Intelligence is not applied.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 122
Intelligent Application Bypass (IAB)
Detects degraded performance
within an application.
If that application is trusted,
you can configure it to
automatically bypass the
inspection, and accelerate the
traffic.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 123
Snort Restart and Reload Architecture
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 124
Why does Snort Restart?
• New version of Snort in policy deploy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 125
Why does Snort Restart?
6.2.3 and later warns if any configuration change will interrupt inspection
(restart Snort):
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 126
When does Snort Restart?
sudo egrep “Initializing Snort|Reloading Snort” /ngfw/var/log/messages
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 127
Mitigations
Snort Preserve-Connection
1 (6.2.0 / 6.2.3 introduction)
2 Software Bypass
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 128
Snort Preserve-Connection
Enabled by default in 6.2.3 and later
If Snort goes down:
• Connections with Allow verdict are preserved in LINA
• Snort does NOT do a mid-session pickup on preserved flows
• Does NOT protect against new flows while Snort is down
• Can be disabled from CLI:
configure snort preserve-connection enable/disable
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 129
Intelligent Application
Bypass
Intelligent Application Bypass
What is IAB?
IAB takes action when a Snort instance is Under Duress if conditions are
met:
1. Is the flow a candidate for bypass?
2. Is this a bypassable application?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 131
Configuring Intelligent Application Bypass
Find IAB on the Advanced tab of the Access Control Policy. In 6.2.3, it is on the
bottom left of the page. In 6.3 and later, it is on the top right.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 132
Configuring Intelligent Application Bypass
Set the State to On or Test.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 133
Configuring Intelligent Application Bypass
Inspection Performance Thresholds
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 134
Configuring Intelligent Application Bypass
Flow Bypass Thresholds
2 Gbps
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 135
Configuring Intelligent Application Bypass
Flow Bypass Thresholds: Is the flow a candidate to bypass?
75000
I disagree with this default value. 250,000 kbytes/second will never trigger on today’s FTD or ASA
hardware. A better starting value for most customers is about 75,000 kbytes/second.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 136
Configuring Intelligent Application Bypass
Define Applications that are Bypassable
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 137
Monitoring Intelligent Application Bypass
IAB Events appear in Connection Events with reason of “Intelligent App Bypass”
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 138
Agenda
• Policy Interaction and Firepower
Recommendations
• TLS Inspection
• Advanced Tuning Topics
• IPS Events
• Importing Snort Rules
• Exempting a Host from a Snort Rule
• Bypass Options
• Asymmetric Traffic
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 139
The Problem with Asymmetric Traffic
Web Server
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 140
High-Availability
Internet
A high-availability firewall pair can provide
redundancy in the case of a device failure.
Passive
Web Server
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 141
Clustering
Internet
Clustering is supported on FP-4100 and
9300 appliances, as well as several larger
ASA appliances.
Web Server
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 142
Extend PBR Inter-site Cluster to ACI Multi-Pod
Localize Firewall Inspection and Apply Policy Only to Master
Inter-Pod
Network
Pod1 Pod2
DB EPGs DB EPGs
Spanned Port-Channel
ASA or FTD Image
FW PBR IP 10.1.0.1 FW PBR IP 10.1.0.1
ACI fabric tracks local and remote Anycast Service IPs of the firewall cluster units. Fabric always prefers a
local firewall IP. If local Anycast Service IP fails, fabric will send to the remote firewall IP.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 143
Firepower Cluster Resiliency
Firewalls Sync the State of Workload Connections
Inter-Pod
Network
Pod1 Pod2
DB EPGs DB EPGs
In case of failure of both firewalls in Pod1, fabric forwards traffic for PBR service graph inspection to Pod2
firewalls. Pod1 App to DB connections continue because Firepower cluster syncs connection state.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 144
• Please complete your session survey
after each session. Your feedback
is very important.
• Complete a minimum of 4 session
surveys and the Overall Conference
Complete your survey (starting on Thursday) to
online session receive your Cisco Live socks.
evaluation • All surveys can be taken in the Cisco Live
Mobile App or by logging in to the Session
Catalog on ciscolive.com/us.
Cisco Live sessions will be available for viewing
on demand after the event at ciscolive.com/us.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 145
Thank you
#CiscoLive
#CiscoLive
Appendix
NGFW: Crypto
Acceleration
TLS Crypto Acceleration Status in FMC
FP1000 & FP2000 TLS Crypto Acceleration:
• FP1000 uses Quick Assist Technology
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 150
Crypto Acceleration in hardware
• Assists with VPN and decryption crypto functions
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 151
Crypto Acceleration in hardware
• Assists with VPN and decryption crypto functions
4110 4115 4120 4125 4140 4145 4150 9300 9300 9300 9300 9300 9300
SM-12 SM-24S SM-24 SM-32S SM-36 SM-44S SM-44 SM-24 SM-36 SM-40 SM-44 SM-48 SM-56
• FTD 4100 and 9300 platforms perform offloading TLS operations onto its Nitrox chipset
• 4120/40/50 & 9300 SM24/36/44 - Two Nitrox processors (4110 has only ONE)
• 4115/25/45 + 9300 SM40/48/56 - Two Nitrox processors (4112 has only ONE)
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 152
Security Intelligence
Example
Security Intelligence Custom Feed
An Example
A publicly-exposed SSH Server will be continuously probed for
weaknesses, as well as brute-force login attempts.
Let’s use failed login attempts to build our own SI Feed.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 154
Security Intelligence Custom Feed
An Example
The Goal:
Create your own Security Intelligence Feed to block hosts that attempt to
login to your SSH Server and fail authentication multiple times.
X Web Server
Internet
SSH Server
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 155
Security Intelligence Custom Feed
Prerequisites
1. The first step is to configure your honeypot with the desired services
installed, hardened, and logged.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 156
Security Intelligence Custom Feed
Prepare the Target
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 157
Security Intelligence Custom Feed
Prepare the Target
3. Create a script to parse the blocked IP addresses from denyhost’s log file.
/etc/hosts.deny file looks like this:
# DenyHosts: Thu Jan 26 22:31:28 2017 | ALL: 203.0.113.4
ALL: 203.0.113.4
# DenyHosts: Sat Jan 28 10:58:51 2017 | ALL: 192.0.2.120
ALL: 192.0.2.120
# DenyHosts: Tue Jan 31 09:42:58 2017 | ALL: 198.51.100.3
ALL: 198.51.100.3
# DenyHosts: Tue Jan
ALL: 198.51.100.27 The output file should be in a
31 19:50:17 2017 | ALL: 198.51.100.27
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 158
Security Intelligence Custom Feed
Prepare the Target
5. Generate some SSH traffic, with failed logins, to make sure you are capturing
the addresses. Be careful. denyhosts will by default ban your IP address in
the hosts.deny file. You will need to know how to clear the blocks.
This is a useful site:
http://www.tecmint.com/block-ssh-server-attacks-brute-force-attacks-using-denyhosts/
6. Make sure to run your script (from Step 4) on a regular basis by running a
cron job every few minutes or so.
/var/www/html/sshblock.txt
203.0.113.4
192.0.2.120
One IP Address 198.51.100.3
per line. 198.51.100.27
203.0.113.230
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 159
Security Intelligence Custom Feed
Prepare the Target
7. Verify you can download the file with a web browser. It is a good idea to
host the file on a server reachable internally only, rather than one accessible
to the outside world.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 160
Security Intelligence Custom Feed
Create the Feed
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 161
Security Intelligence Custom Feed
Create the Feed
9. Select Feed, and populate the URL information and Update Frequency.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 162
Security Intelligence Custom Feed
Create the Feed
10.In your Access Policy, click the Security Intelligence tab, and add the new
feed to the Blacklist
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 163
Security Intelligence Custom Feed
Create the Feed
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 166
OpenAppID
Most internal Firepower Application Detectors are included in the Snort OpenAppID rules,
including Lua source code.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 167
OpenAppID within Firepower
• Application Detectors
• Custom Application
Detectors can be created
here, as well.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 168
OpenAppID within Firepower
Basic Application Detector
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 169
For Your
OpenAppID within Firepower Reference
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 170
OpenAppID Example
with Intrusion Policy
OpenAppID and the Intrusion Policy
A lot of “noise” is created in the Intrusion Logs of any IDS/IPS
product by automated scripts searching for vulnerable systems, and
trying generic attacks.
Web Server
Internet
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 172
OpenAppID and the Intrusion Policy
An Example
These scans or attacks against your IP addresses may or may not be successfully
blocked by your IPS devices.
They generate noise in your logs.
Question:
Is there a legitimate reason for Internet users to access your server(s) by IP address
instead of FQDN?
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 173
OpenAppID and the Intrusion Policy
An Example
The Goal:
Block all web traffic that targets an IP Address rather than correct hostname.
Use Intrusion Policy to inspect legitimate traffic.
X Web Server
Internet
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 174
OpenAppID and the Intrusion Policy
Creating the Custom Detector
1. From Application Detectors
screen, click the button to
Create Custom Detector.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 175
OpenAppID and the Intrusion Policy
Creating the Custom Detector
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 176
OpenAppID and the Intrusion Policy
Creating the Custom Detector
3. Complete the
required fields to
name your custom
application.
4. Click OK.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 177
OpenAppID and the Intrusion Policy
Creating the Custom Detector
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 178
OpenAppID and the Intrusion Policy
Creating the Custom Detector
8. Click “Add” to add
Detection Patterns.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 179
OpenAppID and the Intrusion Policy
Creating the Custom Detector
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 180
OpenAppID and the Intrusion Policy
Creating the Custom Detector
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 181
OpenAppID and the Intrusion Policy
Creating the Custom Detector
14.Click on “Save”.
WARNING:
15.You can find your Application Detector by selecting Custom Type in the
When you Activate or Deactivate any Detector, it will trigger your appliances
Filters.
in the current domain or child domain to restart Snort. This will potentially
16.The new Application
be disruptive Detector
to your network will not function until it is Activated by
traffic.
clicking on the State slider.
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 183
OpenAppID and the Intrusion Policy
Assigning Custom Detector to Access Control and Intrusion Policy
#CiscoLive DGTL-BRKSEC-3300 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 185
#CiscoLive