ASA Transparent Firewall Configuration


 


Table of Contents
Course Files
Transcript
  • 1 Introduction Closed Caption 0h 37m
    2 CCIE Security Preparation Resources Closed Caption 0h 50m
    3 ASA Overview Closed Caption 0h 37m
    4 Basic ASA Initialization Closed Caption 1h 02m
    5 ASA Routing Closed Caption 0h 37m
    6 ASA Reliable Static Routing Closed Caption 0h 20m
    7 ASA Access Control Lists (ACLs) Closed Caption 0h 41m
    8 ASA Modular Policy Framework (MPF) Overview Closed Caption 0h 53m
    9 ASA Modular Policy Framework (MPF) Configuration Closed Caption 0h 51m
    10 ASA Advanced TCP Inspection with MPF Closed Caption 0h 40m
    11 ASA Advanced Application Inspection with MPF Closed Caption 0h 36m
    12 ASA Quality of Service (QoS) Closed Caption 0h 30m
    13 ASA Network Address Translation (NAT) Part 1 Closed Caption 0h 50m
    14 ASA Network Address Translation (NAT) Part 2 Closed Caption 0h 30m
    15 ASA Transparent Firewall Overview Closed Caption 0h 25m
    16 ASA Transparent Firewall Configuration Closed Caption 0h 43m
    17 ASA ARP Inspection with Transparent Firewall Closed Caption 0h 21m
    18 ASA Multiple Context Mode Overview Closed Caption 0h 42m
    19 ASA Multiple Context Mode Configuration Closed Caption 0h 59m
    20 ASA Redundant Interfaces Closed Caption 0h 22m
    21 ASA Failover Overview Closed Caption 0h 19m
    22 ASA Active/Standby Failover Routed Firewall Configuration Closed Caption 0h 29m
    23 ASA Active/Standby Failover Transparent Firewall Configuration Closed Caption 0h 17m
    24 ASA Active/Active Failover Routed Firewall Configuration Closed Caption 0h 37m
    25 ASA Multiple Context Transparent Firewall Configuration Closed Caption 0h 29m
    26 ASA Active/Active Failover Transparent Firewall Configuration Closed Caption 0h 29m
    27 IOS Access Control Lists (ACLs) Closed Caption 0h 23m
    28 IOS Time Based ACLs Closed Caption 0h 13m
    29 IOS Lock & Key Security with Dynamic ACLs Closed Caption 0h 24m
    30 IOS Reflexive ACLs Closed Caption 0h 44m
    31 IOS TCP Intercept and Content Based Access Control (CBAC) Closed Caption 0h 39m
    32 Zone Based Policy Firewall Overview Closed Caption 0h 26m
    33 Zone Based Policy Firewall Configuration Closed Caption 0h 44m
    34 ZBPF Self Zone & ZBPF Exceptions Closed Caption 0h 48m
    35 Port to Application Mapping (PAM) Closed Caption 0h 32m
    36 ZBPF Parameter Tuning Closed Caption 0h 32m
    37 ZBPF Application Inspection Closed Caption 0h 27m
    38 IOS Transparent Firewall Closed Caption 0h 28m
    39 IPsec Overview Closed Caption 0h 37m
    40 IOS IPsec LAN-to-LAN Configuration Closed Caption 0h 58m
    41 IPsec Troubleshooting Closed Caption 0h 42m
    42 GRE over IPsec, IPsec Profiles, & VTIs Closed Caption 0h 51m
    43 ASA IPsec Overview Closed Caption 0h 24m
    44 ASA IPsec LAN-to-LAN Configuration Closed Caption 0h 20m
    45 Certificate Authority (CA) Overview Closed Caption 0h 16m
    46 IOS & ASA LAN-to-LAN IPsec with Certificates Closed Caption 0h 57m
    47 Easy VPN Overview Closed Caption 0h 12m
    48 IOS Easy VPN Server Closed Caption 1h 10m
    49 IOS Easy VPN Client Closed Caption 0h 30m
    50 IOS Easy VPN with Dynamic VTIs, ISAKMP Profiles Closed Caption 0h 49m
    51 ASA Easy VPN Server Closed Caption 0h 51m
    52 ASA Easy VPN Server & IOS Easy VPN Client Closed Caption 0h 17m
    53 ASA Clientless & AnyConnect SSL VPN Closed Caption 1h 04m
    54 DMVPN Closed Caption 1h 05m
    55 IPS Overview, Promiscuous Mode & SPAN Closed Caption 0h 43m
    56 IPS Promiscuous Mode & RSPAN Closed Caption 0h 28m
    57 IPS Blocking Devices & Custom Signatures Closed Caption 0h 50m
    58 IPS Inline Mode, VLAN Pairing Closed Caption 0h 15m
    59 IPS Virtual Sensors and Signature Engines Closed Caption 0h 16m
    60 AAA Overview, Local AAA, & Role Based CLI Closed Caption 0h 51m
    61 RADIUS, TACACS+, & Cisco Secure ACS Configuration Closed Caption 0h 51m
    62 RADIUS & TACACS+ Exec Authorization & Accounting Closed Caption 0h 39m
    63 TACACS+ Command Accounting Closed Caption 0h 30m
    64 RADIUS & TACACS+ Enable Authentication Closed Caption 0h 14m
    65 IOS Authentication Proxy Closed Caption 0h 33m
    Total Duration   39h 19m
  • 0:00:13 In our next section here for the ASA we are going to look at the some configuration examples for the transparent firewall
    0:00:19 where I have changed the topology around little bit
    0:00:22 and the segment between router3 and router4
    0:00:25 we are now going to be running ASA1 in transparent mode
    0:00:30 Now notice here the key point that both router3
    0:00:34 and router4 are on the same ip subnet
    0:00:38 they are in the 172.16.34.0 network
    0:00:42 but they are in separate VLANs
    0:00:46 So thats that same layer3 network
    0:00:48 but it is two separate layer 2 networks
    0:00:52 So before we look at any other configuration of the ASA
    0:00:56 we need to make sure that our underlying layer
    0:00:58 2 network is working properly
    0:01:00 So I need to know
    0:01:02 from the physical layer 1 point of view
    0:01:05 what is router3's
    0:01:07 fast ethernet
    0:01:08 0/1 connected to
    0:01:10 some sort of layer 2 switch
    0:01:13 then what is router4's
    0:01:15 fast ethernet 0/1 connected to
    0:01:19 then how are the e0/0
    0:01:22 and the e0/1 interfaces of the ASA connected
    0:01:27 Now again specifically within the scope of the
    0:01:30 CCIE security exam
    0:01:32 they will give you a list
    0:01:34 of what the physical connectivity is
    0:01:37 and since the ASAs do not support CDP
    0:01:40 really there is not a very efficient way that you can figure out how
    0:01:43 the physical connection is working
    0:01:45 without really having any documentation of the network
    0:01:49 now again in my case if we look at the show interface
    0:01:53 show interfaces status
    0:01:57 and I will exclude any of the links that are not connected
    0:02:00 I do have descriptions
    0:02:02 configured so we can clearly see exactly what is the
    0:02:05 the physical connectivity
    0:02:07 So essentially I need to make sure
    0:02:10 that the link that is going
    0:02:12 to router4's
    0:02:14 fastethernet 0/0
    0:02:16 which in this case I have configured VLAN 14
    0:02:20 is the same as the ASAs
    0:02:23 e0/1 interface
    0:02:26 which again is being used on the inside
    0:02:30 So this inside link here e0/1
    0:02:33 I need to make sure its in the same segment as router4
    0:02:37 Now assuming that this VLAN is actually created
    0:02:41 and there is nothing wrong
    0:02:43 at this point I simply need to look at the
    0:02:46 the show spanning tree for VLAN 14
    0:02:49 and make sure that VLAN is actually forwarding over the links
    0:02:54 which in this case are port fast ethernet 4
    0:02:58 and port fast ethernet 13
    0:03:02 So the segment between router4 and the ASA are fine
    0:03:06 for the segment between router3 and ASA
    0:03:10 we will look at the show interface status
    0:03:13 exclude the not connected ports and switch to
    0:03:17 specifically these links
    0:03:20 are fast ethernet 0/3
    0:03:22 which is connecting to router3's fast ethernet 0/1
    0:03:26 this is in VLAN 13
    0:03:29 which is the same as
    0:03:31 the ASAs
    0:03:33 is e0/0 interface
    0:03:36 So again the key point being here that even though the devices are in the same layer 3 network
    0:03:42 they are in two separate layer 2 segments or two separate VLANs
    0:03:47 So in order to get the traffic to move
    0:03:50 from router4 on the inside
    0:03:52 to router3 on the outside
    0:03:54 we have to go through the
    0:03:56 Modular Policy Framework inspection
    0:03:58 or any of our access-list exceptions
    0:04:01 that were doing on the ASA
    0:04:05 Now again once we do the configuration of the transparent firewall
    0:04:09 it is going to remove any of the
    0:04:11 other routed firewall
    0:04:13 configurations that we have
    0:04:15 So essentially we would want to start from the blank configuration to begin with
    0:04:19 which is
    0:04:21 what we have here on asa1
    0:04:26 if we look at the show mode
    0:04:29 we see that we were in single context mode
    0:04:32 if we look at the show firewall
    0:04:35 tells that we were
    0:04:39 So by default when you boot up the ASA with the blank configuration
    0:04:43 its going to be running with the single context mode with routed firewall
    0:04:47 Now at this point I still want single contacts mode, we will talk about multiple contacts mode later
    0:04:52 But I want to change from the
    0:04:54 routed firewall to the transparent firewall
    0:04:57 So in global config
    0:04:59 first thing I need to specify
    0:05:01 is simply
    0:05:02 firewall transparent
    0:05:10 we now look at the show firewall
    0:05:12 since now we are running in layer 2 mode which is transparent mode
    0:05:16 if we look at the change in the
    0:05:19 running configuration
    0:05:20 is not really obvious that
    0:05:22 we are running in
    0:05:24 transparent mode as opposed to the routed mode
    0:05:27 there will be a command in here
    0:05:30 somewhere in the config that we are running in the transparent mode
    0:05:34 but the rest of the defaults look fairly similar
    0:05:37 now one we we can we that we are
    0:05:40 or not running in routed mode
    0:05:43 lets configure hostname here lets say asa1
    0:05:47 you will see lot of the command feature sets are no longer available
    0:05:51 so most of the crypto commands are not going to be there
    0:05:54 I will see some of the minor ones will be available
    0:05:57 but again this is only for terminating management
    0:06:01 on the asa, so just for telnet or SSH or ASTN access
    0:06:07 If I were to go the link levels
    0:06:11 If I were to configure an IP address
    0:06:17 we could see that this drops me
    0:06:20 back down to global configuration mode
    0:06:24 So I was at the interface level
    0:06:27 I issued the IP address
    0:06:31 but if we look at the contacts instead of help, it says
    0:06:34 actually this command IP address
    0:06:36 is not at the interface mode, its actually at
    0:06:38 global configuration mode
    0:06:41 So you do need to be careful when you are looking at the person mode
    0:06:45 of either the asa or the IOS
    0:06:48 when you enter a command
    0:06:50 and it returns it back to
    0:06:52 a different mode
    0:06:55 it means that the commands was actually accepted in this mode
    0:07:01 Now the asa this going to get a little bit confusing than the IOS
    0:07:05 because the lot of the different modes of commands
    0:07:08 are available on the asa
    0:07:11 to be issued from a different mode than that you are in
    0:07:14 So if I am in router ospf mode, I can still issue global configuration commands
    0:07:20 where in the case of the router normally you will have to exit out of the router mode back to the global config
    0:07:25 In order to make those changes
    0:07:27 but now if we look at the results of
    0:07:30 show run interface ethernet 0/0
    0:07:33 notice that the IP address did actually apply there
    0:07:37 So its actually applied in global config
    0:07:44 So my next step is that we need to enable the physical links
    0:07:48 So I will say an ethernet 0/0
    0:07:51 this is not shut down
    0:07:53 either its ethernet 0/0
    0:07:56 I am going to assign them the names
    0:07:59 which again e0/1, this is my inside
    0:08:03 and e0/0 is going to be my outside
    0:08:09 So e0/1 this is nameif inside
    0:08:12 which is giving me security level 100
    0:08:15 e0/0 is nameif outside
    0:08:18 which is going to default to 0
    0:08:22 So now the asa should allow traffic to move from the high security to low
    0:08:28 or inside to outside and then return
    0:08:32 but its not going to allow the solicited request
    0:08:35 from the outside in
    0:08:41 Now at this point, this is pretty much the only basic configuration that we need
    0:08:46 as long as the firewall is running in transparent mode
    0:08:49 the links are enabled
    0:08:51 I have the names and the security levels
    0:08:53 I should now be able to send the traffic through the asa
    0:08:58 Now if I want to go to router4
    0:09:01 since I know that with the Modular Policy Framework
    0:09:04 I am already inspecting TCP by default
    0:09:08 I should be able to telnet from router4 to 3
    0:09:12 and if I get the login a prompt
    0:09:15 I known that the bidirectional TCP flow
    0:09:17 is actually being inspected by the firewall
    0:09:21 So from router4
    0:09:24 lets telnet to the 17216.34.3 address
    0:09:34 We can see the connection does open
    0:09:36 if we look at the asa and now look at the
    0:09:40 show connections, or the show connection detail
    0:09:45 we could see from the inside interface
    0:09:50 we had a session that was originated from 172.16.34.4
    0:09:55 it is a TCP packet
    0:09:58 it was sourced from this random high port
    0:10:01 it was destined to
    0:10:03 172.16.34.3
    0:10:06 on the outside interface going to port 23
    0:10:12 So this then means when the asa needs to allow this traffic back in
    0:10:16 at least to allow in on the outside interface from
    0:10:21 172.16.34.3 with a source port of 23
    0:10:26 going to the inside host 172.16.34.4 at this destination port
    0:10:33 because remember what we talked about with the standard versus non standard TCP applications
    0:10:38 since telnet is a standard app
    0:10:40 means that the outbound flow
    0:10:42 is an exact mere image of the inbound flow
    0:10:48 now for any type of traffic that is not being inspected
    0:10:51 for example our ping traffic by default
    0:10:58 we see that router4 is not able to send ICMP from the inside out
    0:11:05 now just like the routed mode in the firewall
    0:11:07 there is a couple of different ways that we can fix this, assuming we do want
    0:11:11 pings to go from the inside out and then return
    0:11:13 we could either inspect them
    0:11:16 with the Modular Policy Framework
    0:11:18 So edit our global policy
    0:11:20 and say for the
    0:11:22 class inspection default, I want to inspect ICMP
    0:11:26 I do create a second policy
    0:11:29 thats apply to one of the specific interfaces
    0:11:32 or I could use a access list as an exception
    0:11:37 Now in the stateful or, excuse me, in the transparent firewall
    0:11:41 there is really no need to apply
    0:11:44 a policy to an individual interface
    0:11:47 because there is only two links
    0:11:50 now we are not going to use the QoS features, we are not going to use any of the VPN features
    0:11:55 So one were doing the instructions
    0:11:57 we are doing a MPF policy
    0:11:59 or may be doing it just for the purpose of inspection
    0:12:03 and remember that when we apply inspection to the interface, its bidirectional
    0:12:08 So applied a policy to the inside interface
    0:12:11 its inside in and inside out
    0:12:14 which essentially is the same as saying, outside in
    0:12:18 or inside in
    0:12:20 So essentially you could use the same, you could use a single global policy and you don't need to add any additional ones on to it
    0:12:27 So next lets see, can we actually get
    0:12:30 the asa to actually allow this traffic through
    0:12:33 Now before we do that
    0:12:35 lets turn logging on
    0:12:38 on and logging console 7
    0:12:43 So I am going to see exactly what traffic is being dropped and what traffic is being permited
    0:12:48 if I try to send the pings through
    0:12:51 the asa should see this and says I am denying
    0:12:54 inbound ICMP
    0:12:57 on the outside interface
    0:13:01 its coming from 172.16.34.3, its trying to go back to
    0:13:06 the inside
    0:13:07 so it is type 0 code 0
    0:13:11 What this means is that the ICMP flow
    0:13:15 actually did get
    0:13:17 from 4 to 3
    0:13:20 So this is the ICMP ping or the echo
    0:13:25 when a router3 tries to reply though
    0:13:27 this is where its being dropped
    0:13:30 So it is the echo reply
    0:13:33 that the asa is saying that did not inspect this
    0:13:36 so I am not going to allow it back in on the outside interface
    0:13:42 so technically the traffic is not being dropped from inside out
    0:13:44 is just not being inspected from the inside out
    0:13:48 so if I want to allow it from outside in
    0:13:51 I could there configure the manual exception
    0:13:54 or tell to actually do the inspection
    0:13:57 as this traffic is leaving
    0:14:01 now let me talk about before from a real world design
    0:14:05 you generally would want to do the inspection
    0:14:11 say no logging console
    0:14:13 you would want to do the inspection as opposed to do the access-list exception
    0:14:17 because the acl exception would allow you
    0:14:21 are to be open to one of the reverse denial of service attacks
    0:14:24 where some is doing the smurf attack to
    0:14:29 do a flooding attack with ICMP echo replies
    0:14:33 So would I would want to say here show run policy map
    0:14:37 I would want to say for my global policy and class inspection default
    0:14:42 I want to inspect ICMP
    0:14:48 so now if we turn logging back on
    0:14:52 we should see that now this flow is inspected
    0:14:55 which allows the return packets
    0:14:59 and we will say loging, logging console 7 again
    0:15:04 So we should see that the asa is creating a flow for this
    0:15:09 and then closing the connection
    0:15:12 once the echo reply comes back in from 3 to 4
    0:15:17 so its not allowing any unsolicited traffic
    0:15:20 So I could not ping from
    0:15:22 3 into 4
    0:15:26 because this is moving from the low security interface to the high security interface
    0:15:32 if I wanted to allow any flows
    0:15:35 to go in this direction
    0:15:39 so to be originated from router3
    0:15:41 at least I would need a manual access list exception
    0:15:46 otherwise the only step thats going to be allowed from 3 to router4
    0:15:50 is traffic that doesn't responds
    0:15:53 to something that was not initiated from the inside
    0:15:56 So its the same normal logic as the
    0:15:58 the normal routed firewall's inspection
    0:16:04 Now the next potential issue that we run into
    0:16:07 is that if we look at the logging on the asa
    0:16:10 we can see that it is dropping additional packets
    0:16:14 both on the inside interface and the outside interface
    0:16:20 It says that we have inbound
    0:16:23 traffic that is protocol number 88
    0:16:26 this is being dropped both from
    0:16:28 router3 and from router4
    0:16:32 as it is coming in on the inside and in on the outside
    0:16:35 and the destination address here
    0:16:38 is 224.0.0.10
    0:16:41 So this is our EIGRP multicast
    0:16:46 if we look at router4
    0:16:48 and look at the show ip eigrp interfaces
    0:16:52 we had eigrp as number 34
    0:16:55 configured on its link
    0:16:57 fast ethernet 0/0
    0:17:01 so this is where we are trying to eshtablish an agency with router3
    0:17:05 but the asa now
    0:17:08 is dropping the traffic as it is coming
    0:17:10 in on the inside
    0:17:13 and again this is our issue with the control plane
    0:17:16 not being inspected
    0:17:19 So if I wanted to form a routing agency
    0:17:22 or may be run
    0:17:24 multicast routing with protocol independent multicast
    0:17:27 or run any type of non IP protocol
    0:17:31 I am going to need to make a manual exception to this, with an access-list
    0:17:37 So lets now say that over this link, over this VLAN
    0:17:41 113 and the VLAN 114
    0:17:43 I want to make sure that I can eshtablish
    0:17:45 an eigrp agency
    0:17:49 between
    0:17:52 router3 and router4
    0:17:54 now we can see the list under loggings, specifically what this traffic is, EIGRP is protocol number 88
    0:18:12 its protocol number 88 and its using
    0:18:15 traffic sourced from the addresses on router3 and router4
    0:18:19 going to the multicast 224.0.0.10
    0:18:25 So first lets try to permit these flows
    0:18:29 So I am going to create an access list
    0:18:32 will say access-list
    0:18:34 inside in
    0:18:36 permit eigrp any host
    0:18:41 224.0.0.10, or actually we can be more specific
    0:18:45 lets say fourth between the individual host, lets say, on the inside in
    0:18:50 this is going to be coming from
    0:18:52 router 4
    0:18:54 on the outside in
    0:18:59 so i need two different lists
    0:19:01 inside in and outside in
    0:19:04 outside in is coming from router 3
    0:19:06 and i have access through
    0:19:09 inside in and interface inside
    0:19:12 and access through
    0:19:18 outside in
    0:19:20 in interface outside
    0:19:22 so again this is one of the exceptions here with the transparent firewall
    0:19:26 that normally all the traffic is allowed in or on inside interface
    0:19:31 but in the case of transparent
    0:19:33 the control plan is being dropped
    0:19:38 so lets see once we apply these two lists
    0:19:47 we now have a new traffic flow
    0:19:50 that is being denied
    0:19:54 lets say no logging
    0:19:58 no logging console
    0:20:00 hey notice that its now changed as to what was being dropped
    0:20:04 previously it said that i was denying protocol 88 which is eigrp
    0:20:10 coming from router 3 coming from router 4
    0:20:13 coming in the inside and outside interfaces respectively
    0:20:16 and it was going to the multicast 224.0.0.10
    0:20:21 so these are eigrp hello packets
    0:20:24 where router 3 and router 4
    0:20:25 are trying to discover who are the other neighbours
    0:20:29 that are running eigrp on that link
    0:20:31 so first they are trying to find each other
    0:20:34 now once the multicasts go through
    0:20:38 router 3 and 4 are now actually trying to establish an adjacency
    0:20:42 and in the case of eigrp
    0:20:45 the actual adjacency establishment
    0:20:47 and the syncronization of the topology
    0:20:50 which is the actual exchange of the updates
    0:20:52 is using unicasts
    0:20:55 not multicasts
    0:20:58 so notice now here
    0:21:01 that the asa is now denying
    0:21:03 in on the inside
    0:21:07 and in on the outside
    0:21:11 the unicast eigrps
    0:21:15 now if we look at specifically the access lists that i use lets look at the show
    0:21:19 show run access lists
    0:21:22 i said to permit just the eigrp multicast
    0:21:26 now had i said access list inside in permit eigrp any any
    0:21:30 and access list outside in permit any any
    0:21:33 this would acount for both the multicast and the unicast
    0:21:39 but the key point i am trying to illustrate here
    0:21:41 is that if you don't know exactly what the traffic flow is that you are trying to match
    0:21:47 you can end up dropping different pieces that you really didn't make out for in the first place
    0:21:52 so in the case of the eigrp its not only the multicasts
    0:21:55 but its also the unicast
    0:21:58 so i would need to edit this list a little bit i would need to say
    0:22:01 i need to permit on the inside in
    0:22:04 not only the
    0:22:06 multicasting router 4
    0:22:08 but the unicast from 4 to 3
    0:22:12 then like wise on the way back
    0:22:14 on the outside in
    0:22:17 i need to unicast that are coming from 3 and then returning back to 4
    0:22:24 and again i could be less specific here if i said eigrp any any
    0:22:29 thats going to account for all of the flows
    0:22:32 but typically in your firewall rules you would want to be as specific as possible
    0:22:36 So you are not allowing traffic through
    0:22:38 it doesn't actually need to
    0:22:41 be allowed through the filter
    0:22:43 So you are going to permit the minimum amount
    0:22:45 of flows and then implicitly drop anything else
    0:22:50 Now what we should see
    0:22:52 is that now router3 and router4 actually form the agency
    0:22:56 previously they were getting these error messages where the retry limit was exceeded
    0:23:04 So retry limit was exceeded this means
    0:23:07 that they had discovered each other
    0:23:10 by using the multicasts
    0:23:13 but they then could not actually form the agency because there was a unicast transport problem
    0:23:19 but we now actually see that the agencies are eshtablished
    0:23:22 if we look at now the routing table
    0:23:25 of router4, we show ip route eigrp
    0:23:28 router4 is learning a default route from router3
    0:23:33 we were to look at router3
    0:23:35 we show ip route eigrp
    0:23:38 we see that it is learning a
    0:23:41 route that is 172.16.4.0
    0:23:45 from router 4
    0:23:47 and then it has this somebody over default router that is advertising to router4
    0:23:52 So we can tell now that the advertisements are working, so 4 is getting
    0:23:55 the default 0.0.0.0/0
    0:23:59 and then router4 is advertising this segment to router3
    0:24:05 so I want to know
    0:24:08 that, since the routing plane is now working
    0:24:12 can I actually get traffic to transit from
    0:24:15 the inside segment
    0:24:17 of this VLAN4
    0:24:19 to somewhere else on the outside
    0:24:23 So lets say to start just this address on router3
    0:24:27 So on the asa, lets continue to log, so lets say logging console 7 again
    0:24:33 because I want to know if a flow is dropped
    0:24:36 specifically what that flow was
    0:24:41 So now on router4 lets say ping
    0:24:43 172.16.34.3
    0:24:48 but I am going to source this traffic now from
    0:24:51 my inside lan interface 172.16.4.4
    0:24:58 and notice now
    0:25:00 the flow is being dropped
    0:25:03 where previously the ICMP was allowed
    0:25:09 So neither the ping from the normal outgoing interface
    0:25:13 were the ping from the inside interface was working
    0:25:22 So why with the ICMP ping have worked before
    0:25:26 but now its being denied
    0:25:29 now lets try the same thing with telnet, lets say telnet to 172.16.34.3
    0:25:35 connection is refused
    0:25:39 the reason why is now I have a acl that is
    0:25:42 inside in
    0:25:46 where under your normal cases of inspection
    0:25:49 you do not have an access list that is applied in on an inside interface
    0:25:53 you may applied in on the outside interface
    0:25:57 but thats used to make an exception to traffic that was not already inspected
    0:26:03 so essentially what the problem is, is that we have an order of operations issue
    0:26:08 of the access lists
    0:26:10 versus the Modular Policy Framework
    0:26:13 Now if we look at the diagram and try to visualise the flow
    0:26:17 the issue is that
    0:26:20 on the inside interface in
    0:26:23 the access-list
    0:26:25 is being processed before
    0:26:28 the Modular Policy Framework
    0:26:32 where the access-list is ending in an implicit deny
    0:26:37 So just like any other access-list in the asa or the IOS
    0:26:41 or like a route map
    0:26:43 where it was going to end in an implicit deny
    0:26:47 However on the outside in
    0:26:50 we normally process the
    0:26:55 acl first
    0:26:58 and then the
    0:27:00 actually the other way around, its going to be the
    0:27:03 the Modular Policy Framework
    0:27:05 and then the acl
    0:27:08 because even if would have an
    0:27:10 access-list that says outside in
    0:27:14 that is denying everything, if I said just deny ip any any
    0:27:17 this would still allow
    0:27:20 the traffic that was already inspected
    0:27:24 So essentially this state table on the way from the outside back in
    0:27:28 is an exception
    0:27:30 to any of the access list filter that you have applied inbound there
    0:27:34 but the order is different when we are going inside in
    0:27:39 so what would I need to do in order to fix this
    0:27:47 I am going to need to change my inside in access-list
    0:27:52 to explicitly allow any flows that I want
    0:27:57 so now inside in not only do I need to permit the eigrp control plane
    0:28:01 I would need to say
    0:28:03 most likely something like inside in
    0:28:05 permit TCP any any
    0:28:07 and permit UDP any any
    0:28:11 and permit ICMP any any
    0:28:14 Now assuming I want the inside host to actually use all of those applications
    0:28:18 if I wanted them only to use web browsing
    0:28:21 I could say may be permit tcp any any thats just equal to 80
    0:28:25 or if I have some specific UDP applications like
    0:28:29 may be I am only allowing them to get network time protocol from the outside
    0:28:33 I will say permit udp equal to 123
    0:28:36 or may be ICMP that is just an echo
    0:28:42 So this is a different
    0:28:44 filtering module
    0:28:46 that we see with the transparent firewall versus the routed firewall
    0:28:50 because routed firewall is going to allow all of the flows from inside out
    0:28:56 where in the case of the transparent firewall since we are making a exception to inside in
    0:29:02 we now need to account for this
    0:29:05 access-list inside in deny
    0:29:08 IP any any
    0:29:10 that is really the implicit match
    0:29:14 So even though the last line does not show up the configuration, its always there
    0:29:18 there is always a deny ip any any at the end of the all access lists
    0:29:26 hey, so now lets see on the asa, once I
    0:29:29 add these new statements
    0:29:30 I show run access-list
    0:29:34 can see now inside in says the tcp traffic is okay, the udp traffic is okay, the icmp is okay
    0:29:41 lets see now
    0:29:42 now is the bidirectional flow is going to work
    0:29:45 So from router4
    0:29:47 can I telnet to 3
    0:29:48 hey now I can
    0:29:51 I should also be able to ping them
    0:29:54 because I am inspecting that
    0:29:56 and also ping them if I am sourcing it from my inside interface
    0:30:00 because I am advertising this now to them through eigrp
    0:30:05 but notice here on the access-list outside in
    0:30:09 even though there is the implicit deny here as well
    0:30:13 So access-list outside in deny ip any any
    0:30:19 this entry does not actually take an effect
    0:30:23 if there is already an inspection in the state table
    0:30:28 So from inside out
    0:30:31 the access-list is checked first
    0:30:33 from outside in
    0:30:35 the state table is checked first
    0:30:39 and we will see this is similar to how the IOS deals with this
    0:30:42 when we are doing either reflexive access-list
    0:30:45 content based access control
    0:30:47 or the zone based policy firewall
    0:30:51 Now again as I mentioned
    0:30:53 you don't neccessary need to memorise what are all the traffic flows that are permitted or denied
    0:30:58 as long as you look at the logging from the command line
    0:31:02 we can clearly see that there is a problem with the list
    0:31:05 or previously that there was a problem with the
    0:31:09 the eigrp control plane that was coming in
    0:31:13 Now likewise if I were to
    0:31:15 lets say try to run multicast routing
    0:31:18 So ip multicast routing
    0:31:20 on my lan interface I have ippm in sparse mode
    0:31:27 and the same thing on router3
    0:31:29 So on global config, ip multicast routing
    0:31:33 the lan interface ippm sparse mode
    0:31:37 If we look at the asa
    0:31:40 We could see now that there are two different protocol that are being denied
    0:31:45 protocol number 2
    0:31:48 and protocol number 103
    0:31:53 Now protocol number 2
    0:31:55 it says that
    0:31:58 protocol number 2 is coming from router3
    0:32:02 the destination is 224.0.0.1
    0:32:07 where protocol number 103
    0:32:11 it also came from router3
    0:32:14 but it has got a different destination, destination 224.0.0.13
    0:32:22 Now does any one know the difference between which these two are
    0:32:26 what is protocol 2, what is protocol 103
    0:32:32 Number 103 going to 224.0.0.13, this is
    0:32:36 the protocol independent multicast protocol
    0:32:39 protocol number 2
    0:32:42 going to the all router multicast or excuse me the all host multicast
    0:32:46 224.0.0.1
    0:32:49 this is igmp
    0:32:50 the internet group management protocol
    0:32:52 So protcol number 2 is normally what we would need from the multicast router down to the end client
    0:32:58 where protocol 103 is what I need between the routers
    0:33:02 So I technically don't need to allow protocol 2 through
    0:33:06 because if this is just a transit link between them
    0:33:09 So may be I have my IGMP client here
    0:33:14 and then I have some multicast flow
    0:33:16 thats coming from the outside in
    0:33:19 I don't neccessarily need igmp, its run between router3 and router4
    0:33:24 as long as I allow PIM, Protocol Independent Multicast
    0:33:28 this is going to allow them to form the multicast routing agency
    0:33:32 but we could see just like the other control plane protocols
    0:33:36 this is being dropped by default
    0:33:39 its being dropped as it comes in on the inside
    0:33:44 and its being dropped as it comes in on the outside
    0:33:48 So now I would need two additional exceptions
    0:33:51 to these access-list
    0:33:53 I will say access-list outside in
    0:33:55 I want to permit PIM
    0:33:59 Now just like the EIGRP I could be more specific if I wanted to hear
    0:34:03 but I am just going to say for
    0:34:06 for any of the PIM traffic
    0:34:15 Now there is a question here - How does a asa know what is control plane, what is data plane?
    0:34:20 - Its base on the specific MAC addresses
    0:34:22 So if you look at the documentation
    0:34:25 It tells you exactly what is allowed and what is not
    0:34:28 If you go to the ASA configs
    0:34:31 then under
    0:34:47 under configuring the firewall
    0:34:50 configuring arp inspections and bridging parameters in transparent mode
    0:34:54 So in this document it should show us
    0:34:58 actually not in this one, it is in, lets see ..
    0:35:05 its under firewall mode overview
    0:35:08 So under configuring the firewall, firewall mode overview
    0:35:11 then transparent firewall
    0:35:14 it says allowed layer 3 traffic and allowed MAC addresses
    0:35:18 So allowed layer 3
    0:35:21 says IPv4 traffic is allowed through transparent firewall
    0:35:24 automatically from high to low without access-list
    0:35:27 arps are allowed in both directions without an acl
    0:35:31 arp could be controled by arp inspection, hey, we will look at that in a couple of minutes here
    0:35:35 for other destinations
    0:35:38 these specific multicast addresses
    0:35:42 are allowed through
    0:35:44 but any MAC address that is not on the list is dropped
    0:35:49 So it has to do with the specific transport protocol thats being used
    0:35:55 which the other control plane protocols like ospf, eigrp, pim
    0:36:01 IOS to IOS, they are not using these formats in layer 2
    0:36:07 Hey, also , the key here, it says
    0:36:11 non IP traffic
    0:36:14 such as MPLS would be one
    0:36:17 bpt used for
    0:36:18 layer 2 spanning tree, this stuff is going to be denied
    0:36:21 Now you can allow it with an ether type access list
    0:36:24 its just not going to be allowed
    0:36:26 automatically by default
    0:36:31 okay, so lets see now, if we go to router4
    0:36:34 we see now the message we have the pm agency
    0:36:37 if we show ippm neighbours
    0:36:43 okay, now we have our multicast routing agencies there
    0:36:46 and we also have our unicast eigrp agency
    0:36:52 Now in this version
    0:36:55 the inspection of IPv6 traffic
    0:36:59 is not allowed
    0:37:00 in some of the later versions that is routing support for
    0:37:05 IPv6
    0:37:07 So, if router3 and router4 were running this, if I say IPv6
    0:37:11 unicast routing
    0:37:14 then on the link level lets say IPv6 address
    0:37:19 will this use a basic address, lets say 2001
    0:37:22 ::4/64
    0:37:26 and if router3 were to do the same thing, lets say IPv6
    0:37:30 unicast routing
    0:37:32 then on fast ethernet 0/1
    0:37:35 IPv6 address 2001::3
    0:37:39 /64
    0:37:42 ideally
    0:37:44 from 4 to 3
    0:37:47 I should be able to telnet to
    0:37:50 router3's address
    0:37:53 but this is getting dropped
    0:37:56 if we look at the asa
    0:37:58 it says it denied ICMP
    0:38:04 and it denied
    0:38:10 lets see, lets try this again
    0:38:25 its denying ICMP from fe80
    0:38:29 going to ffo2::1
    0:38:31 this is the all router's multicast
    0:38:35 or all host multicast, more specifically
    0:38:37 what this is trying to do is, this is ICMPv6 nieghbour discovery duplicate address detection
    0:38:43 or ICMP NDDAD
    0:38:46 So, trying to figure out, is my address actually unique on the link
    0:38:49 Now but we can see, for the actual transit traffic like in the telnet
    0:38:53 its not telling why this is dropped
    0:38:57 So I would need to know
    0:38:59 specifically what is the ether type value
    0:39:03 of IPv6
    0:39:05 in order to allow this traffic through
    0:39:09 So lets look for this, actually don't know what the value is off hand, lets say
    0:39:13 Now IPv6 ether
    0:39:15 type value
    0:39:19 it says
    0:39:22 0/8808
    0:39:28 8808
    0:39:30 no, 86dd
    0:39:33 hey, this is the ether type value
    0:39:35 Now you would be expected to memorise this stuff
    0:39:38 because, like you can see here, anytime you really need to know it
    0:39:42 all you need to do is just search whats the ether type value of this protocol, and you can find it
    0:39:46 So, within the scope of the lab exam, if they were testing you on something like this
    0:39:51 probably, something is going to be straight forward
    0:39:54 may be they will give you, what the actual value is
    0:39:57 So now in order to allow this, the IPv6, from the inside out
    0:40:02 and then from the outside in
    0:40:04 I am going to need to apply this with the
    0:40:07 the ether type filter
    0:40:14 So again I know what the value is now
    0:40:17 /86dd
    0:40:23 lets see, no logging console here
    0:40:26 then I need an access list
    0:40:33 that is an ether type list
    0:40:36 So I need to permit
    0:40:41 0/86dd
    0:40:43 thats the specific value
    0:40:46 and I will say
    0:40:48 access-list or access-group
    0:40:51 one in interface outside
    0:40:55 and in interface inside
    0:41:00 Now notice here since there are two different types of lists
    0:41:03 one is for the ether types and one is for the IP
    0:41:06 I can apply multiple list on the interface
    0:41:10 So assuming this is the only one that we need
    0:41:17 Lets try ping 2001
    0:41:20 ::3
    0:41:34 lets see if the ASA says exactly what it is dropping
    0:41:37 So lets say again logging console 7, then logging on
    0:41:49 but its not going to log its specific flow because its non IP
    0:41:56 So lets take a short break here
    0:41:59 lets take about a 10 minute break, then when we come back, we are going to look at
    0:42:03 the rest of the ether type filters, along with the
    0:42:06 the arp spoofing filter
    0:42:09 and then the MAC address learning filter
    0:42:12 to prevent any type of layer 2 spoofing or any type of
    0:42:15 layer 2 man in the middle attack
    0:42:18 over the transparent firewall
CCIE Security Advanced Technologies Class
Title: CCIE Security Advanced Technologies Class
Duration: 39h 19m
The CCIE Security Advanced Technologies Class is the first step in understanding CCIE level technologies and is a companion to the Advanced Technologies Lab Workbook. Each technology you need to know for the CCIE Security lab will be described in detail using an instructor led hands on demonstration. The class consists of over 40 hours of in depth explanations and examples.
Get instant access to our entire library!
$159/month Add to Cart
Download this Course
$299.00 Add to Cart


© 2003 - 2012 INE All Rights Reserved