next up previous contents
Nächste Seite: 11 Anbindung an den Aufwärts: Inhalt Vorherige Seite: 9 Transport Relay Translator   Inhalt

Unterabschnitte

10 Access Control Lists

Cisco IOS bietet sowohl für IPv4 als auch für IPv6 sogenannte Access Control Lists (ACL) an, welche eine einfache Filtermöglichkeit für eingehende und ausgehende Pakete bieten. Es existieren folgende Arten von IPv6-Access-Lists:

Standard ACL:
Permit/Deny auf ein- oder ausgehenden Interfaces anhand der Quell- bzw. Zieladresse (oder anhand von Präfix-Listen)

Extended ACL:
Zusätzliche Unterstützung für Filterung nach IP-Options-Header und nach höheren Layern. Weitere Features: Logging, zeitabhängige Listen.

Einen Überblick über die Möglichkeiten und Konfiguration von ACLs gibt die Cisco-Präsentation Cisco IOS IPv6 Access Control Lists (10).

Anhand einiger einfacher Beispiele sollen in diesem Kapitel die verschiedenen Zugriffsbeschränkungen demonstriert werden.

1 Aufbau des Netzwerks

Abbildung 10.1: Access Control Lists: Aufbau des Netzwerks
Image images/network-acl.png

2 Konfiguration des Cisco 2611XM

1 Vorbereitung

Die beiden Fast-Ethernet-Schnittstellen werden wie folgt vorbereitet:

R5(config)#interface f0/0
R5(config-if)#ipv6 enable
R5(config-if)#ipv6 address FEC2::/64 eui-64
R5(config-if)#ipv6 nd prefix FEC2::/64
R5(config-if)#ipv6 nd ra-interval 10

R5(config)#interface f0/1
R5(config-if)#ipv6 enable
R5(config-if)#ipv6 address FEC1::/64 eui-64
R5(config-if)#ipv6 nd prefix FEC1::/64
R5(config-if)#ipv6 nd ra-interval 10

2 Access-List definieren

Um die den Zugriff nur aus dem Subnetz A zu erlauben, wird die Access-List list0 im globalen Konfigurationsmodus kreiert und mit dem Interface f0/0 verbunden. Das bedeutet nun, dass nur noch Traffic vom Subnetz FEC2::/64 zugelassen wird.

R5(config)#ipv6 access-list list0
R5(config-ipv6-acl)#permit ipv6 FEC2::/64 any log
R5(config-ipv6-acl)#exit
R5(config)#int f0/0
R5(config-if)#ipv6 traffic-filter list0 in

Mit der zweiten Access-List (list1) wird der Port 80 (http) an Wochentagen während der Arbeitszeit gesperrt. Diese ACL wird am zweiten Interface f0/1 aktiviert.

R5(config)#ipv6 access-list list1
R5(config-ipv6-acl)#deny tcp any any eq 80 time-range vormittag log
R5(config-ipv6-acl)#deny tcp any any eq 80 time-range nachmittag log
R5(config-ipv6-acl)#permit tcp any any eq 80 log
R5(config-ipv6-acl)#exit
R5(config)#int f0/1
R5(config-if)#ipv6 traffic-filter list1 out

Die time-range wurde in der list1 mit vormittag und nachmittag angegeben. Diese beiden Zeiten müssen jetzt noch definiert werden.

R5(config)#time-range vormittag
R5(config-time-range)#periodic weekdays 07:00 to 12:00
R5(config-time-range)#exit
R5(config)#time-range nachmittag
R5(config-time-range)#periodic weekdays 13:00 to 17:30
R5(config-time-range)#exit

Die vollständige Konfiguration ist in Anhang C.2.7 aufgeführt.

3 Analyse

Die Option log hinter den Regeln veranlasst den Router, alle Pakete aufzuzeichnen, die die Regel erfüllen. Damit die Regeln getestet werden können, kann mit dem Befehl terminal monitor dieses Log direkt auf die Konsole ausgegeben werden. Die Ausgabe sieht dann etwa wie folgt aus:

Oct 10 10:34:16.406: %IPV6-6-ACCESSLOGP: list list1/10 denied 
   tcp FEC2::201:2FF:FE87:17A5(33960) -> FEC1::201:2FF:FE87:179C(80), 1 packet

Um die Wirksamkeit der ACLs zu überprüfen, können diese mit dem show-Befehl angezeigt werden. Schön zu sehen sind die Anzahl der Matches und ob ein Filter überhaupt aktiv ist. Bei der list1 dürfen zum Beispiel die beiden ersten Filter nicht gleichzeitig aktiv sein, weil sich die time-ranges nicht überschneiden.

R5#show access-lists
IPv6 access list list0
    permit ipv6 FEC2::/64 any log (\textbf{29 matches}) sequence 10
IPv6 access list list1
    deny tcp any any eq www log time-range vormittag (\textbf{active}) sequence 10
    deny tcp any any eq www log time-range nachmittag (\textbf{inactive}) sequence 20
    permit tcp any any eq www log (\textbf{22 matches}) sequence 30

Wenn mit der Option time-range gearbeitet wird, muss überprüft werden, ob die Zeit und das Datum überhaupt richtig gesetzt ist. Insbesondere bei kleineren Cisco-Routern ist die Uhr nicht batteriegepuffert und muss daher nach jedem Einschalten neu gestellt werden.

R5#clock set 10:34:00 10 oct 2003

Pakete, welche durch die Access-Lists abgefangen werden, werden dem Sender mit einem ICMPv6 Unreachable signalisiert (Zeile 2). Der ICMP-Code lautet 1, dieser steht für Administratively prohibited (Zeile 3). Die ICMPv6 Typen und Codes sind im RFC 2463 (3) definiert.

Internet Control Message Protocol v6
    \textbf{Type: 1 (Unreachable)}
    \textbf{Code: 1 (Administratively prohibited)}
    Checksum: 0x554b (correct)
    Internet Protocol Version 6
        Version: 6
        Traffic class: 0x00
        Flowlabel: 0x00000
        Payload length: 40
        Next header: TCP (0x06)
        Hop limit: 63
        Source address: fec2::201:2ff:fe87:17a5 (fec2::201:2ff:fe87:17a5)
        Destination address: fec1::201:2ff:fe87:179c (fec1::201:2ff:fe87:179c)
    Transmission Control Protocol, Src Port: 34095, Dst Port: 22, Seq: 156188826, Ack: 0, Len: 0
        Source port: 34095 (34095)
        Destination port: ssh (22)
        Sequence number: 156188826
        Header length: 40 bytes
        Flags: 0x0002 (SYN)
            0... .... = Congestion Window Reduced (CWR): Not set
            .0.. .... = ECN-Echo: Not set
            ..0. .... = Urgent: Not set
            ...0 .... = Acknowledgment: Not set
            .... 0... = Push: Not set
            .... .0.. = Reset: Not set
            .... ..1. = Syn: Set
            .... ...0 = Fin: Not set
        Window size: 5760
        Checksum: 0xd73c (correct)
        Options: (20 bytes)
            Maximum segment size: 1440 bytes
            SACK permitted
            Time stamp: tsval 9918147, tsecr 0
            NOP
            Window scale: 0 bytes


next up previous contents
Nächste Seite: 11 Anbindung an den Aufwärts: Inhalt Vorherige Seite: 9 Transport Relay Translator   Inhalt
Beat Graf / Daniel Werner