Für diejenigen unter Ihnen, die mit Zugriffskontrolllisten vertraut sind, ist wahrscheinlich bekannt, dass es viele verschiedene Arten von Zugriffskontrolllisten gibt. Es gibt Zugangskontrolllisten für IP Version 4, für IP Version 6, für IPX, für DECnet, für AppleTalk und so weiter und so fort. Für welche Bereiche sind Sie zuständig? Im Moment sind wir für IP Version 4 zuständig, und das ist auch unser Schwerpunkt, IP Version 4. Und wir können die Zugriffskontrolllisten der IP-Version 4 in zwei verschiedene Typen unterteilen: Standard und erweitert. Worin besteht der Unterschied?

  • Standard ACL
    • Prüft die ACL-Quelladresse
    • Erlaubt oder verweigert die gesamte Protokollreihe
  • Erweiterte ACL
    • Prüft Quell- und Zieladresse
    • Generell erlaubt oder verweigert bestimmte Protokolle und Anwendungen
      • Quell- und Ziel-TCP- und UDP-Ports
      • Protokolltyp (IP, ICMP, UDP, TCP oder Protokollnummer)

Nun, es geht darum, nach welchen Parametern gesucht wird, und ich möchte, dass Sie den Standard lesen: Wonach sucht dieser Standard hier? Was wird geprüft? Ich möchte, dass Sie das lesen. Und ich werde Ihnen zeigen, wie Sie sich das merken können. Sie sehen also, dass die Norm nicht nach dem Zielort sucht, was praktisch gesehen nicht sehr nützlich ist. Das Fehlen der Möglichkeit, nach einem Ziel zu suchen, ist ziemlich einschränkend, denn normalerweise will man nachsehen, woher es kommt und wohin es geht. Aber eine Standardzugriffsliste hat etwas mit der Quelladresse gemeinsam, nicht wahr?

Erweiterte Zugriffskontrolllisten (Extended Access Control Lists, Extended ACLs) hingegen sind weitaus leistungsfähiger, sie können Quelle und Ziel berücksichtigen, sie können Protokolle der Transportschicht wie TCP und User Data Protocol (UDP) berücksichtigen. Sie können Protokolle der Anwendungsschicht über TCP und UDP betrachten, wie HTTP, FTP, Trivial File Transport Protocol, oder TFTP, DNS, Secure Sockets Layer und Secure Shell. Das hört sich nach einer Menge an. Wie können wir uns also merken, dass erweiterte Zugriffslisten für so viel mehr geeignet sind als Standard-Zugriffskontrolllisten? Nun, als wir uns auf unsere Standard-Zugangskontrolllisten bezogen, wiesen wir darauf hin, dass sie nur die Quelladresse prüfen. Der Standard beginnt mit S, die Quelle beginnt auch mit S.

Ich erinnere mich also an den Standard, nur die Quelle, S und S, während wir bei der erweiterten Liste alles andere haben. Das E hilft uns also, uns alles zu merken. Nun gibt es bestimmte Dinge, die wir nicht abgleichen können. Wir können nicht mit Sequenznummern, Bestätigungsnummern, vielen der Flags in TCP zum Beispiel übereinstimmen, wir können mit einem von ihnen übereinstimmen und ein Bit senden. Aber es ist viel umfassender und so sind wir näher an allem dran. Denken Sie daran, dass wir bei der Eingabe zwei Arten von Syntax haben, die alte und die neue Syntax.

Die alte Syntax ist nummeriert, die neue Syntax ist benannt, und die nummerierte Syntax ist etwas knifflig. Numerische Namen begegnen uns nicht so oft. In der nummerierten Standardzugriffsliste haben wir einen Wert von 1 bis 99. Es gibt einen erweiterten Bereich, den wir nicht mehr verwenden, weil es keinen Grund gibt, ihn zu benutzen. Die Zahlen 1300 bis 1999 verwenden wir nicht, okay, lassen Sie die Finger davon. Aber eins bis 99 ist der Standard, 100 bis 199 ist der erweiterte Bereich, und die Art und Weise, wie Sie sich diese Bereiche merken, ist, dass sie immer mit 99 enden, jeder einzelne Bereich endet mit 99 irgendwas. Und wenn wir auf einen dreistelligen Wert erweitern, wenn wir von zwei Ziffern auf drei Ziffern springen, dann erweitern wir und deshalb bekommen wir den erweiterten IP-Zugangslistenbereich.

IPv4 ACL Typ Nummernbereich / Kennung
Nummernbereich Standard 1-99, 1300-1999
Nummernbereich erweitert 100-199, 2000-2699
Benannt (Standard und Erweitert) Name

Aber das ist die Syntax, für die wir, ehrlich gesagt, mehr verantwortlich sind, aber wir haben sie nun schon seit fast einem Jahrzehnt, die benannten Zugriffskontrolllisten. In der Tat, es ist mehr als ein Jahrzehnt, während wir sprechen. Was ist der Vorteil einer benannten Zugangskontrollliste? Nun, eine benannte Zugriffskontrollliste ermöglicht es uns zunächst einmal, einen beschreibenden Namen zu verwenden. Anstatt die Zugriffskontrollliste 79 zu nennen, können wir also einen beschreibenden Namen angeben, und dieser Name kann uns helfen zu verstehen, was die Zugriffskontrollliste erreichen soll. Aber der eigentliche Vorteil von benannten Zugriffskontrolllisten ist die Möglichkeit, sie zu bearbeiten, Einträge innerhalb der ACL hinzuzufügen und zu löschen.

Wenn Sie bei nummerierten Zugriffskontrolllisten einen Eintrag hinzufügen wollen, wird dieser, wenn Sie die Befehlszeilenschnittstelle aufrufen und einen Eintrag hinzufügen wollen, vor einem bereits vorhandenen Eintrag geprüft. Sie können also nicht einfach hingehen und einen Eintrag hinzufügen, das ist mit der Syntax für die Erstellung nicht möglich. Sie sind also in Ihren Bearbeitungsmöglichkeiten eingeschränkt, was müssen Sie also tun? Alles löschen und neu erstellen. Da kommt Notepad gerade recht. In Ordnung, aber mit der benannten Zugriffskontrollliste haben wir die Möglichkeit, in die benannte Zugriffskontrolllistensyntax zu gehen, Einträge in der Zugriffskontrollliste hinzuzufügen, zu verschieben, zu löschen, zu ändern, wie wir es für richtig halten.

So viel mächtiger, die benannte Zugriffskontrolllistensyntax. Aber verstehen Sie uns hier nicht falsch. Die nummerierte Zugriffskontrolllisten-Identifikation wie 1, 2, 3, 4 oder 100 oder 150, das ist immer noch der Name der Zugriffskontrollliste. Und Sie werden später sehen, dass Sie die Syntax für benannte Zugriffskontrolllisten verwenden können, um eine nummerierte Zugriffskontrollliste zu bearbeiten. Das ist ziemlich cool, und wir werden Ihnen die Möglichkeit geben, Ihre nummerierte Zugriffskontrollliste zu bearbeiten und Ihre Fehler zu korrigieren, ohne dass Sie das ganze Ding wegblasen und entfernen müssen. Es ist also eine wirklich großartige Syntax, die Sie lernen werden und die Sie lieben werden, und wir werden sie alle sehen, die ganze Syntax, während wir gemeinsam durch diesen Kurs gehen.

Standard nummerierte ACLs

Standard Zugriffsliste, wonach suchen sie? Ich frage Sie: Wonach suchen sie? Sie suchen nach dem Quellparameter, und den können wir hier sehen. Sie kümmern sich also nicht um den Layer-2-Frame-Header, sie schauen sich den Paket-Header an, sie schauen sich das Quellfeld im Paket-Header an und suchen ausschließlich auf der Grundlage dieses Parameters. Sie werden also nicht tiefer in die Transportschicht eindringen. Und keiner von ihnen dringt in die Daten ein, okay. Sie müssten einige fortgeschrittene Firewall-Funktionen verwenden, um auf der Grundlage von Daten zu filtern.

Hier ist, worauf wir gewartet haben, die Syntax, und sie ist nicht übermäßig kompliziert, merken Sie sich das. Es ist nicht übermäßig kompliziert. Zuallererst konfigurieren wir nummerierte Zugriffskontrolllisten im globalen Konfigurationsmodus. Wir geben access-list ein und geben dann die Nummer der Zugriffsliste an. Das sind also Standard-IPv4-Zugangskontrolllisten, was sind die Nummernbereiche? 1 bis 99 und 1300 bis 1999. Wenn wir eine beliebige Zahl aus diesen möglichen Werten angeben, weiß unser Router automatisch, dass wir eine Standard-IPv4-Zugangskontrollliste erstellen, und gibt Ihnen die korrekte Syntax vor.

Sie können keine Parameter eingeben, die für die Standard-IP-Version-4-Zugangskontrollliste nicht zulässig sind. Wenn Sie also eine falsche Zahl eingeben, z.B. 101, und versuchen, eine Standard-IP-Version-4-Zugangskontrollliste zu erstellen, erhalten Sie die Syntax für eine erweiterte Zugangskontrollliste, richtig? Seien Sie also vorsichtig mit Ihrer Nummerierung, wählen Sie die richtigen Nummern und geben Sie dann an, was mit diesem Verkehr geschehen soll. Willst du ihn zulassen? Willst du ihn verweigern? Sie können auch eine Bemerkung einfügen, was ist eine Bemerkung? Das ist nur eine Beschreibung. So kannst du diese Zugriffskontrollliste beschreiben, so dass du, wenn du die Zugriffskontrollliste später überprüfst, weißt, wofür sie ist.

R1(config)#
R1(config)#access-list 1 ?
deny Geben Sie Pakete an, die abgelehnt werden sollen
permit Geben Sie Pakete an, die weitergeleitet werden sollen
remark Kommentar zum Zugriffslisteneintrag
R1(config)#access-list 1 permit ?
Hostname oder A.B.C.D Zu übereinstimmende Adresse
any Beliebiger Quellhost
host Eine einzelne Hostadresse
R1(config)#access-list 1 permit 172.16.0.0 ?
/nn oder A.B.C.D Wildcard-Bits
log Protokolliert Übereinstimmungen mit diesem Eintrag
<cr>
R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255 ?
log Protokolliert Übereinstimmungen mit diesem Eintrag
<cr>
R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255
R1(config)#

Dann haben wir unsere Quelle, was ist die Quelle? Erinnern Sie sich, als wir uns vorhin mit Adressen und Wildcard-Masken-Kombinationen beschäftigt haben… Nun, die Quelle ist die Quelladresse, der Ausgangspunkt, den wir für diesen Bereichsvergleich verwenden wollen. In unserem Beispiel haben wir also 172.16.0.0 als Adresse, die Quelle und dann die Maske. Was ist die Maske? Seien Sie hier vorsichtig, es ist nicht, ich wiederhole, es ist nicht die Subnetzmaske. Es ist die Platzhaltermaske. Hier geben wir die Platzhaltermaske ein. In unserem Beispiel 0.0.255.255, was ist also der Bereich der Adressen, den die soeben erstellte Zugriffskontrollliste überprüfen wird? 172.16.0.0 bis 172.16.255.255.

Sie sehen also, wie wichtig die Wildcard-Maske ist, und wenn Sie verstehen, was sie bewirkt, können Sie sie leichter erstellen und lesen. Hier steht, dass es eine Standard-Wildcard-Maske gibt. Nehmen Sie das mit Vorsicht zur Kenntnis, denn Ihr Betriebssystem akzeptiert im Allgemeinen die Syntax nicht mehr, wenn Sie einen Eintrag in Ihre Zugriffskontrollliste eingeben, der keine Wildcard-Maske enthält. Okay, das ist also ein altes Verhalten und nicht repräsentativ für irgendetwas, was in letzter Zeit passiert ist. Wenn wir einen Eintrag eingeben, wie wir ihn im globalen Konfigurationsmodus mit access-list sehen, ist das nur ein Eintrag. Denken Sie daran, wenn wir einen weiteren Eintrag hinzufügen wollen, haben wir immer noch die Zugriffsliste 1, und dann bauen wir die nächste Permission- oder Deny-Sequenz auf: wieder Zugriffsliste 1, wieder Zugriffsliste 1, wenn wir eine immer größere Zugriffskontrollliste aufbauen wollen. Was ist die Mindestgröße einer Zugriffskontrollliste?

Eine Mindestgröße wäre eine Erlaubnisanweisung. Ja, ich schätze, es kann nicht nur eine Deny-Anweisung geben, das wäre nutzlos, es sei denn, man protokolliert, aber das würde nichts durchlassen. Und das Maximum ist, was immer Sie sich ausdenken können und wofür Sie die Ausdauer haben. Sobald Sie Ihre Zugriffskontrollliste im globalen Konfigurationsmodus perfektioniert haben, wie wir hier sehen, können Sie sie validieren. Aber der Befehl show access lists zeigt alle Zugriffslisten an, IPv4, IPv6, Mac-Adressen-Zugriffsliste, IPX, AppleTalk, aber normalerweise haben wir nur IPv4 und vielleicht heutzutage auch IPv6.

R1#show access-lists
Standard IP access list 1
10 permit 172.16.0.0, wildcard bits 0.0.255.255

Und wir sehen den einen Eintrag. Jetzt warte mal, warte mal, wir haben permit 172.16 mit dieser Wildcard-Maske eingegeben, was ist die 10 dort? Was ist das für eine 10, die gerade in unserer Zugriffsliste zum Leben erwacht ist? Die 10 ist eine automatische Sequenznummer, die der Zugriffsliste hinzugefügt wird. Sie ist standardmäßig 10. Wenn wir einen weiteren Eintrag erstellen würden… wir geben also access-list 1 permit 192.168.1.0 0.0.0.255 ein, würde er automatisch mit einer Sequenznummer versehen werden. Und sie wäre 20, die nächste in der Liste und die nächste wäre 30 und 40 und 50, so behalten wir sie im Auge, die Sequenznummer, die Reihenfolge, in der wir sie erstellt haben.

Und das ist wichtig, erinnerst du dich, wie wir sagten, wenn wir die Zugriffskontrollliste bearbeiten wollen, wollen wir vielleicht hier und da einen Eintrag hinzufügen, aber das können wir nur mit der benannten Syntax tun, wir sind nicht in der Lage, das hier mit dieser Standardnummerierungssyntax zu tun, aber diese Sequenznummern werden der definierende Faktor dafür sein, wo unser Eintrag hingehört. Wenn wir etwas hinzufügen oder verschieben oder löschen oder ändern, und das werden wir später sehen, werden wir erst später sehen, wenn wir in die benannte Zugriffskontrolllistensyntax einsteigen, wie diese Sequenznummern zu unserem Vorteil verwendet und manipuliert werden können.

Entfernen einer Zugriffsliste ist sehr einfach, denken Sie an den mächtigen no-Befehl, geben Sie no access-list ein und dann die Nummer der Zugriffsliste, die Sie entfernen möchten. Seien Sie vorsichtig. Sagen wir, Sie haben no access-list 1 permit 172.16.0.0 0.0.255.255 eingegeben. Sie möchten also einen Standardzugriffslisteneintrag entfernen, den Sie zuvor erstellt haben. Sie geben no ein und spezifizieren den gesamten Befehl, den Sie zuvor eingegeben haben, wird dann nur dieser eine Eintrag entfernt? Ich wiederhole: Wird damit nur dieser eine Eintrag entfernt? Auf den ersten Blick, ja, auf den ersten Blick, aber wenn Sie das ausprobieren und es testen? Nein, das wird nicht passieren. Es wird nicht nur dieser eine Eintrag entfernt, was wird es tun? Es wird das ganze Ding loswerden, einige von Ihnen haben also schon damit zu tun gehabt. Es ist ein wirklich bizarres Verhalten im IOS.

R1#config t
Geben Sie Konfigurationsbefehle ein, einen pro Zeile. Beenden Sie mit CNTL/Z.
R1(config)#no access-list 1
R1(config)#end
R1#sh access-lists
R1#

Normalerweise, wenn wir einen bestimmten Befehl eingeben und ihn als no einfügen, wird nur dieser eine Befehl entfernt. Hier müssen wir sehr vorsichtig mit der Syntax sein, egal was, Sie sagen no access list, geben Sie eine Nummer ein. Es ist mir egal, was danach passiert, es wird die gesamte Zugriffsliste zerstören und so mancher schlechte Tag wurde durch dieses Verhalten verursacht.

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg