{"id":1488,"date":"2009-04-07T07:31:45","date_gmt":"2009-04-07T06:31:45","guid":{"rendered":"http:\/\/security-planet.de\/?p=1488"},"modified":"2009-04-07T07:31:45","modified_gmt":"2009-04-07T06:31:45","slug":"cisco-access-control-listen","status":"publish","type":"post","link":"https:\/\/cyber-fi.net\/index.php\/2009\/04\/07\/cisco-access-control-listen\/","title":{"rendered":"Cisco Access-Control-Listen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.iwen.de\/wp-content\/uploads\/2008\/12\/router.png\" alt=\"router\" title=\"router\" width=\"70\" height=\"49\" class=\"alignleft size-full wp-image-643\" \/>Immer wieder stelle ich fest, dass manche Admins eine der wichtigsten Erweiterungen der Cisco Access-Listen verpasst haben:<br \/>\n<\/p>\n<p><strong>Access-Listen lassen sich komfortabel editieren<\/strong><br \/>\nSeit einiger Zeit (nein, an das genaue Release erinnere ich mich nicht mehr) haben die ACEs  (Access-List-Entries) Sequenznummern, die man beim <code>show access-lists<\/code> sehen kann:<\/p>\n<pre><code>c1841#sh access-lists    \nExtended IP access list 100\n    10 permit icmp any any (5 matches)\nExtended IP access list TEST\n    10 permit icmp any any (5 matches)\n    20 permit udp any any\n    30 permit esp any any\n<\/code><\/pre>\n<p>Diese Sequenznummern k\u00f6nnen verwendet werden, um neue ACEs einzuf\u00fcgen. Dazu muss eine bisher nicht verwendete Nummer genommen werden:<\/p>\n<pre><code>c1841(config)#ip access-list ext TEST\nc1841(config-ext-nacl)#15 permit tcp any any \nc1841(config-ext-nacl)#\nc1841(config-ext-nacl)#do sh ip access-list TEST\nExtended IP access list TEST\n    10 permit icmp any any (5 matches)\n    15 permit tcp any any\n    20 permit udp any any\n    30 permit esp any any\nc1841(config-ext-nacl)#\n<\/code><\/pre>\n<p>ACEs k\u00f6nnen nat\u00fcrlich auch gel\u00f6scht werden:<\/p>\n<pre><code>c1841(config-ext-nacl)#no 10\nc1841(config-ext-nacl)#do sh ip access-list TEST\nExtended IP access list TEST\n    15 permit tcp any any\n    20 permit udp any any\n    30 permit esp any any\nc1841(config-ext-nacl)#\n<\/code><\/pre>\n<p>Wenn in einer ACL keine freien Sequenznummern mehr zur Verf\u00fcgung stehen, k\u00f6nnen diese neu gebildet werden. Bei einem Reload werden diese mit einem Startwert von 10 und einer Schrittweite von 10 gebildet.<\/p>\n<pre><code>c1841(config)#ip access-list resequence TEST 50 20 \nc1841(config)#\nc1841(config)#do sh ip access-list TEST           \nExtended IP access list TEST\n    50 permit tcp any any\n    70 permit udp any any\n    90 permit esp any any\nc1841(config)#\n<\/code><\/pre>\n<p>Wer noch an seinen nummerierten ACLs h\u00e4ngt, kann die Editier-Funktionen nat\u00fcrlich auch benutzen. Daf\u00fcr muss die Nummer einfach wie ein Name in den named ACLs verwendet werden:<\/p>\n<pre><code>c1841(config)#ip access-list extended 100\nc1841(config-ext-nacl)#20 deny ip any any log\nc1841(config-ext-nacl)#\nc1841(config-ext-nacl)#do sh ip access-list 100\nExtended IP access list 100\n    10 permit icmp any any (5 matches)\n    20 deny ip any any log\nc1841(config-ext-nacl)#\n<\/code><\/pre>\n<p>Weitere Funktionen, die bei den ACLs in der Vergangenheit hinzugekommen sind:<\/p>\n<p><strong>Direktes Anzeigen der ACL zu einem Interface<\/strong><\/p>\n<pre><code>c1841#sh ip access-list interface loo11\nExtended IP access list TEST in\n    10 permit icmp any any (5 matches)\nc1841#\nc1841#sh ip access-list interface loo12\nExtended IP access list TEST in\n    10 permit icmp any any (10 matches)\nc1841#\nc1841#sh ip access-list interface loo13\nExtended IP access list TEST in\n    10 permit icmp any any (15 matches)\nExtended IP access list TEST2 out\n    10 permit tcp any any\n<\/code><\/pre>\n<p>Obwohl dieselbe ACL auf drei verschiedenen Interfaces gebunden wurde, werden getrennte Statistiken gef\u00fchrt.<\/p>\n<p><strong>Mehrere Ports pro ACE<\/strong><\/p>\n<pre><code>c1841(config)#ip access-list ext IPSEC\nc1841(config-ext-nacl)#permit esp any any\nc1841(config-ext-nacl)#permit udp any any eq isakmp non500-isakmp \nc1841(config-ext-nacl)#\nc1841(config-ext-nacl)#do sh access-list IPSEC\nExtended IP access list IPSEC\n    10 permit esp any any\n    20 permit udp any any eq isakmp non500-isakmp\nc1841(config-ext-nacl)#\n<\/code><\/pre>\n<p>Nat\u00fcrlich verliert man bei dieser Konfiguration die getrennten Counter f\u00fcr die unterschiedlichen Ports (hier 500 und 4500).<\/p>\n<p><strong>ACLs k\u00f6nnen auf  weitere Felder wie z.B. den TTL-, den DSCP-Wert oder TCP-Flags filtern<\/strong><\/p>\n<pre><code>c1841(config)#ip access-list extended TEST3\nc1841(config-ext-nacl)#permit icmp any any ttl gt 128\nc1841(config-ext-nacl)#permit udp any any dscp ef \n<\/code><\/pre>\n<pre><code>c1841(config)#ip access-list extended TEST4\nc1841(config-ext-nacl)#permit tcp any any match-all +syn +ack +fin -urg \n<\/code><\/pre>\n<p>Im zweiten Beispiel wird TCP-Traffic erlaubt, der sowohl das SYN, ACK und FIN-Bit tr\u00e4gt, aber nicht das URG-Bit.<\/p>\n<p><strong>Gruppieren von Network- oder Service-Objekten<\/strong><br \/>\nWer sich traut, das IOS 12.4(20)T einzusetzen, hat sogar die M\u00f6glichkeit, Object-Groups zu verwenden, wie es die PIX bzw. ASA schon lange vorgemacht hat:<\/p>\n<pre><code>c1841(config)#object-group network RFC1918\nc1841(config-network-group)#10.0.0.0 0.255.255.255\nc1841(config-network-group)#172.16.0.0 0.15.255.255\nc1841(config-network-group)#range 192.168.0.0 192.168.255.255\nc1841(config-network-group)#exit\nc1841(config)#\nc1841(config)#ip access-list extended TEST5\nc1841(config-ext-nacl)#permit icmp any object-group RFC1918 \n<\/code><\/pre>\n<p><strong>Setzen von Cookies f\u00fcr das Logging<\/strong><br \/>\nAb 12.4(22)T kann an das Keyword <code>log<\/code> oder <code>log-input<\/code> ein &#8220;Cookie&#8221; angeh\u00e4ngt werden, das als Tag zum Syslog-Server mitgesendet wird:<\/p>\n<pre><code>c1841(config)#ip access-list ext TEST6\nc1841(config-ext-nacl)#deny icmp host 10.1.1.1 host 10.2.2.2 log BewareOfTheseHosts\nc1841(config-ext-nacl)#\nc1841(config-ext-nacl)#do sh ip access-lists TEST6\nExtended IP access list TEST6\n    10 deny icmp host 10.1.1.1 host 10.2.2.2 log (10 matches) (tag = BewareOfTheseHosts)\nc1841(config-ext-nacl)#\n<\/code><\/pre>\n<p>Auf dem Syslog-Server kommt dieses Tag mit der Log-Meldung an und kann z.B. gefiltert werden:<\/p>\n<pre><code>%SEC-6-IPACCESSLOGDP: list TEST6 denied icmp 10.1.1.1 -&gt; 10.2.2.2 (0\/0), 10 packets  [BewareOfTheseHosts]\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Immer wieder stelle ich fest, dass manche Admins eine der wichtigsten Erweiterungen der Cisco Access-Listen verpasst haben: Access-Listen lassen sich komfortabel editieren Seit einiger Zeit (nein, an das genaue Release erinnere ich mich nicht mehr) haben die ACEs (Access-List-Entries) Sequenznummern, die man beim show access-lists sehen kann: c1841#sh access-lists Extended IP access list 100 10 <\/p>\n<div class=\"read-more-text\"><a href=\"https:\/\/cyber-fi.net\/index.php\/2009\/04\/07\/cisco-access-control-listen\/\" class=\"read-more\">continue reading<\/a><\/div>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[5],"tags":[44,45,46,146,358],"class_list":["post-1488","post","type-post","status-publish","format-standard","hentry","category-cisco","tag-access-control-lists","tag-ace","tag-acl","tag-cisco-ios","tag-konfiguration"],"_links":{"self":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/1488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/comments?post=1488"}],"version-history":[{"count":0,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/1488\/revisions"}],"wp:attachment":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/media?parent=1488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/categories?post=1488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/tags?post=1488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}