{"id":3598,"date":"2021-04-17T10:38:19","date_gmt":"2021-04-17T14:38:19","guid":{"rendered":"https:\/\/infotechguy.net\/?p=3598"},"modified":"2025-02-22T12:37:56","modified_gmt":"2025-02-22T17:37:56","slug":"internet-edge-drop-device-acl","status":"publish","type":"post","link":"https:\/\/infotechguy.net\/?p=3598","title":{"rendered":"Cisco ACL &#8212; Dedicated Internet Edge Drop Device"},"content":{"rendered":"<p>A dedicated drop device is a network appliance, usually a router or L3 switch that sites at the very edge of your network infrastructure. Beyond the firewall, and usually acts a as either layer 2 or 3 transit devices for your ISP interconnect uplinks for public or untrusted segments. Distinguishing a dedicated drop devices in your infrastructure interconnected chain of paths can enhance and offload many irrelevant packet transactions from ever hitting your Firewall mitigation appliances. The thought around this approach is to remove processing cycles away from your more expensive security appliances such as firewalls or IPS, allowing said devices to dedicate their efforts toward more complicated session and\/or application driven attacks.<\/p>\n<p><a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/04\/DedicatedDropDevice.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3600 aligncenter\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/04\/DedicatedDropDevice-300x172.png\" alt=\"\" width=\"609\" height=\"349\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/04\/DedicatedDropDevice-300x172.png 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/04\/DedicatedDropDevice-768x441.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/04\/DedicatedDropDevice.png 776w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<h5>Where to start&#8230;<\/h5>\n<p>A common trend I&#8217;ve seen over the years at multiple business is to create such a ACL on the perimeter edge device to block way too much. ACL length kept a short as possible. I&#8217;ve seen some grow to over 100 lines, which is unnecessary. The justification is usually an outbreak or single malicious actor caused said actors IP to be added the Drop ACL. In my opinion this is not the point of this Drop ACL. The Drop ACL should be static, well thought-out and compared against services you offer to the public internet, not a &#8220;o crap block it now!&#8221;\u00a0 access-list. A common counter argument I hear is &#8220;our Drop ACL has grown over time to form our own reputation based blocklist&#8221;, I believe this should be handled by your firewall or IPS device. Most Firewalls or IPS now-a-days have built in reputation based intelligence, and if needed a user-defined blocklist can be managed much easier as well. The table below is a basic table to document the Drop ACL creation process, this should be brainstormed with NetAdmins, Security Officers, and select business owners to arrive at a well established drop list without negatively impacting your business. For example, you will want to talk with your business owners to know if you do indeed need ICMP or PING because it is used by a legitimate third-party to monitor your network health and status.<\/p>\n<h5>Simple Starting List<\/h5>\n<table style=\"height: 452px; width: 100%; border-collapse: collapse; border-style: solid;\" cellpadding=\"0\">\n<tbody>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 10px;\"><strong>ICMP<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 10px;\">IP Proto 1<\/td>\n<td style=\"width: 58.9803%; height: 10px;\">Does your business or app require to expose ICMP messages to public\/untrusted network?<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\"><strong>PING<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 27px;\">IP Proto 1 Type 0<\/td>\n<td style=\"width: 58.9803%; height: 27px;\">Does your business or app require any public endpoint to ping your global IP?<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 10px;\"><strong>SNMP<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 10px;\">TCP\/UDP 161\/162<\/td>\n<td style=\"width: 58.9803%; height: 10px;\">Management Service, should not be coming from public\/untrusted network<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\"><strong>BOOTP<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 27px;\">UDP 67\/68<\/td>\n<td style=\"width: 58.9803%; height: 27px;\">BOOTP from external source, common with residential or business ISPs. Not usually seen with dedicated ISPs.<\/td>\n<\/tr>\n<tr style=\"height: 54px;\">\n<td style=\"width: 5.84154%; height: 54px;\"><strong>TFTP<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 54px;\">UDP 69<\/td>\n<td style=\"width: 58.9803%; height: 54px;\">Management Service, should not be coming from public\/untrusted network<\/td>\n<\/tr>\n<tr style=\"height: 54px;\">\n<td style=\"width: 5.84154%; height: 54px;\"><strong>TELNET<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 54px;\">TCP 23<\/td>\n<td style=\"width: 58.9803%; height: 54px;\">Management Service, should not be coming from public\/untrusted network<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\"><strong>SSH\/SFTP<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 27px;\">TCP 22<\/td>\n<td style=\"width: 58.9803%; height: 27px;\">Management Service and Secure File Transfer, should not be coming from public\/untrusted network, check with business.<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\"><strong>EIGRP<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 27px;\">IP Proto 88<\/td>\n<td style=\"width: 58.9803%; height: 27px;\">More likely then not, you won&#8217;t be using OSPF on your Internet Edge, more likely BGP<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\"><strong>OSPF<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 27px;\">IP Proto 89<\/td>\n<td style=\"width: 58.9803%; height: 27px;\">More likely then not, you won&#8217;t be using OSPF on your Internet Edge, more likely BGP<\/td>\n<\/tr>\n<tr style=\"height: 54px;\">\n<td style=\"width: 5.84154%; height: 54px;\"><strong>RADIUS<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 54px;\">UDP\/TCP 1812\/1813<\/td>\n<td style=\"width: 58.9803%; height: 54px;\">AAA mechanism for user-based authentication\/access\/accounting. Should never be used on public interfaces. Use on internal OOB management network.<\/td>\n<\/tr>\n<tr style=\"height: 54px;\">\n<td style=\"width: 5.84154%; height: 54px;\"><strong>TACACS<\/strong>+<\/td>\n<td style=\"width: 10.1782%; height: 54px;\">UDP\/TCP 49<\/td>\n<td style=\"width: 58.9803%; height: 54px;\">AAA mechanism for user-based authentication\/access\/accounting. Should rarely be used on public interfaces. Use on internal OOB management network.<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\"><strong>SYSLOG<\/strong><\/td>\n<td style=\"width: 10.1782%; height: 27px;\">TCP\/UDP 514<\/td>\n<td style=\"width: 58.9803%; height: 27px;\">Forwarding and transferring syslog based messages. Should not be on public interface for DLP reasons.<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 5.84154%; height: 27px;\">etc&#8230;<\/td>\n<td style=\"width: 10.1782%; height: 27px;\"><\/td>\n<td style=\"width: 58.9803%; height: 27px;\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>You can see that there is not a &#8220;one size fits all&#8221; approach, however there are several common overlaps and many of the items on this basic Drop ACL tend to be management or routing protocols. For example from the list above, you should never see SNMP coming from a public endpoint, even if you have a external third-party monitoring your assets via SNMP for you. Another example is, I once worked for a consulting company that used TACACS based connections over the public internet to encrypt user-logins of managed devices. This was scene as acceptable to the business because TACACS is an encrypted protocol. Therefore you will need to decide with your team(s) what makes the most sense.<\/p>\n<h5>Adding a Wider Range of items to the List&#8230;<\/h5>\n<p>Just like the previous section, the Drop ACL should not be a massive list of IP hosts and ranges. I would even argue against things like Geo Blocklist being on this list as most modern Firewalls have this ability built in.<\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 420px;\">\n<tbody>\n<tr style=\"height: 32px;\">\n<td style=\"width: 99.8748%; height: 32px;\" colspan=\"3\"><span style=\"font-size: 12pt;\"><strong>Basic IP Host and Ranges<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 101px;\">\n<td style=\"width: 27.4246%; height: 90px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc1918\">RFC-1918 &#8220;Private Address Space&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 90px;\">\n<pre>10.0.0.0\/8\r\n172.16.0.0\/12\r\n192.168.0.0\/16<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 90px;\">Private Ranges, not routable on the internet. Prevent spoofing.<\/td>\n<\/tr>\n<tr style=\"height: 61px;\">\n<td style=\"width: 27.4246%; height: 61px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc3927\">RFC-3927 &#8220;Link Local Address Space&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 61px;\">\n<pre>169.254.0.0\/16<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 61px;\">Commonly used on windows machines when DHCP\/BOOTP is not used on a LAN network.<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 27.4246%; height: 27px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc5737\">RFC-5737 &#8220;Test Network Address Space&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 27px;\">\n<pre>192.0.2.0\/24\r\n198.51.100.0\/24\r\n203.0.113.0\/24<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 27px;\">These are IP address ranges used in public documentation TEST-NET-1, TEST-NET-2,TEST-NET-3<\/td>\n<\/tr>\n<tr style=\"height: 27px;\">\n<td style=\"width: 27.4246%; height: 27px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc3330\">RFC-3330 &#8220;Special-Use Reservations&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 27px;\">\n<pre>0.0.0.0\/8\r\n127.0.0.0\/8\r\n255.255.255.255\/32<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 27px;\">These are special IP address reservations that should not be internet routable, and are common with spoofing and source-less based attacks. 255.255.255.255\/32 should never be forwarded outside the subnet source.<\/td>\n<\/tr>\n<tr style=\"height: 61px;\">\n<td style=\"width: 27.4246%; height: 61px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc3068\">RFC-3068 &#8220;6to4\u00a0 Relay Anycast&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 61px;\">\n<pre class=\"newpage\">192.88.99.0\/24<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 61px;\">Reserved by IANA to help with migration from IPv6 to IPv4 via 6to4 anycast relaying.<\/td>\n<\/tr>\n<tr style=\"height: 61px;\">\n<td style=\"width: 27.4246%; height: 61px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc2544\">RFC-2544 &#8220;Internet Benchmark&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 61px;\">\n<pre class=\"newpage\">198.18.0.0\/15<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 61px;\">Block of IP address to be used for benchmark interconnected devices and documentation.<\/td>\n<\/tr>\n<tr style=\"height: 61px;\">\n<td style=\"width: 27.4246%; height: 61px;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc1112#section-4\">RFC-1112-SECTION-4 &#8220;Reserved for Future User&#8221;<\/a><\/td>\n<td style=\"width: 20.2614%; height: 61px;\">\n<pre class=\"newpage\">240.0.0.0\/4\r\n255.0.0.0\/8<\/pre>\n<\/td>\n<td style=\"width: 52.1888%; height: 61px;\">Huge block of IP addresses dedicated for future use by IANA, but never used. SMH.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>Crafting a basic Drop ACL brew&#8230;<\/h5>\n<p>Putting the above two(2) sections into IOS format, I arrived at the following ACL.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ip access-list extended DropACL\r\npermit icmp any any traceroute\r\npermit icmp any any echo-reply\r\n!\r\nremark *******Block Routing Protocols*******\r\ndeny ospf any any\r\ndeny eigrp any any\r\nremark *******Block Mgmt Services*******\r\ndeny udp any any eq bootpc\r\ndeny udp any any eq bootps\r\ndeny udp any any eq snmp\r\ndeny tcp any any eq snmp\r\ndeny udp any any eq syslog\r\ndeny tcp any any eq syslog\r\ndeny udp  any any eq snmptrap\r\ndeny tcp any any eq snmptrap\r\ndeny tcp any any eq telnet\r\ndeny udp any any eq tftp\r\ndeny tcp any any eq 22\r\ndeny tcp any any eq tacacs\r\ndeny udp any any eq tacacs\r\ndeny tcp any any range 1812 1813\r\ndeny udp any any range 1812 1813\r\nremark *******RFC1918 Spoofing*******\r\ndeny ip 10.0.0.0 0.255.255.255 any\r\ndeny ip 172.16.0.0 0.15.255.255 any\r\ndeny ip 192.168.0.0 0.0.255.255 any\r\nremark *******RFC3330 Spoofing*******\r\ndeny ip 0.0.0.0 0.255.255.255 any\r\ndeny ip 127.0.0.0 0.255.255.255 any\r\ndeny ip 192.0.2.0 0.0.0.255 any\r\ndeny ip 169.254.0.0 0.0.255.255 any\r\ndeny ip 192.88.99.0 0.0.0.255 any\r\ndeny ip 198.18.0.0 0.1.255.255 any\r\ndeny ip 240.0.0.0 15.255.255.255 any\r\ndeny ip 255.0.0.0 0.255.255.255 any\r\nremark *******Unallocated Spoofing*******\r\ndeny ip 128.0.0.0 0.0.255.255 any\r\ndeny ip 191.255.0.0 0.0.255.255 any\r\ndeny ip 192.0.0.0 0.0.0.255 any\r\ndeny ip 223.255.255.0 0.0.0.255 any\r\n!\r\nremark *******Multicast Spoofing*******\r\ndeny ip 224.0.0.0 31.255.255.255 any\r\n!\r\nremark ***********************************\r\nremark ***Allow Transit Traffic***********\r\npermit ip any any<\/pre>\n<p>Look at that, we kept it under 50 lines! Most of the duplicate lines are because many of these protocols can use either UDP or TCP as transports.<\/p>\n<h5>Ask my Dad the ISP for help&#8230;<\/h5>\n<p>The IETF derived a &#8220;best pratice&#8221; to further assist in the fight against spoofing attacks. IETF came up with Ingress Filtering in RFC 2827 and RFC-3704. These are not hard tangible items throughout the internet, but a best practice &#8220;honor&#8221; based method to reduce source address spoofing of internet traffic. In basic terms it documents that ISPs acting as upstream providers for customers should filter packets entering their(ISP) network from these customers and discard them that do not match the source addressing agreed upon and allocated to that customer. See <a href=\"https:\/\/www.senki.org\/everyone-should-be-deploying-bcp-38-wait-they-are\/\">https:\/\/www.senki.org\/everyone-should-be-deploying-bcp-38-wait-they-are\/<\/a><\/p>\n<p>This will not really protect you, but it is you doing your part to help in case an asset of yours becomes comprised.<\/p>\n<h5>Sources:<\/h5>\n<ul>\n<li><a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/solutions\/Enterprise\/Security\/Baseline_Security\/securebasebook\/appendxA.html\">https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/solutions\/Enterprise\/Security\/Baseline_Security\/securebasebook\/appendxA.html<\/a><\/li>\n<li><a href=\"https:\/\/tools.ietf.org\/html\/rfc6890\">https:\/\/tools.ietf.org\/html\/rfc6890<\/a><\/li>\n<li><a href=\"https:\/\/tools.ietf.org\/html\/rfc6441\">https:\/\/tools.ietf.org\/html\/rfc6441<\/a><\/li>\n<li><a href=\"https:\/\/media.defense.gov\/2020\/Aug\/18\/2002479461\/-1\/-1\/0\/HARDENING_NETWORK_DEVICES.PDF\">https:\/\/media.defense.gov\/2020\/Aug\/18\/2002479461\/-1\/-1\/0\/HARDENING_NETWORK_DEVICES.PDF<\/a><\/li>\n<li><a href=\"https:\/\/www.cisco.com\/c\/en\/us\/support\/docs\/ip\/access-lists\/44541-tacl.html\">https:\/\/www.cisco.com\/c\/en\/us\/support\/docs\/ip\/access-lists\/44541-tacl.html<\/a><\/li>\n<li><a href=\"https:\/\/www.senki.org\/everyone-should-be-deploying-bcp-38-wait-they-are\/\">https:\/\/www.senki.org\/everyone-should-be-deploying-bcp-38-wait-they-are\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A dedicated drop device is a network appliance, usually a router or L3 switch that sites at the very edge of your network infrastructure. Beyond the firewall, and usually acts a as either layer 2&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":4233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[112],"class_list":["post-3598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cisco","tag-security-2"],"_links":{"self":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/3598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3598"}],"version-history":[{"count":1,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/3598\/revisions"}],"predecessor-version":[{"id":4139,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/3598\/revisions\/4139"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/media\/4233"}],"wp:attachment":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}