Articles

Configureer veelgebruikte IP ACL’s

Inleiding

Dit document bevat voorbeeldconfiguraties voor veelgebruikte IP Access Control Lists (ACL’s), die IP-pakketten filteren op basis van:

  • Bronadres
  • Doeladres
  • Soort pakket
  • Elke combinatie van deze items

Om netwerkverkeer te filteren, bepalen ACL’s of gerouteerde pakketten worden doorgestuurd of geblokkeerd op de routerinterface. De router onderzoekt elk pakket om te bepalen of het pakket moet worden doorgestuurd of geweigerd op basis van de criteria die u in de ACL opgeeft. ACL-criteria omvatten:

  • Bronadres van het verkeer
  • Destinatieadres van het verkeer
  • Hoofdlaagprotocol

Volg deze stappen om een ACL op te bouwen zoals de voorbeelden in dit document laten zien:

  1. Maak een ACL aan.
  2. Toepassen van de ACL op een interface.

De IP ACL is een sequentiële verzameling van toestemmings- en afkeurvoorwaarden die van toepassing zijn op een IP pakket. De router toetst pakketten één voor één aan de voorwaarden in de ACL.

De eerste overeenkomst bepaalt of de Cisco IOS® Software het pakket accepteert of weigert. Omdat de Cisco IOS-software stopt met het testen van de voorwaarden na de eerste overeenkomst, is de volgorde van de voorwaarden van cruciaal belang. Als geen van de voorwaarden overeenkomt, wijst de router het pakket af vanwege een impliciete “deny all”-clausule.

Dit zijn voorbeelden van IP ACL’s die in Cisco IOS Software kunnen worden geconfigureerd:

  • Standaard ACL’s
  • Uitgebreide ACL’s
  • Dynamische (lock and key) ACL’s
  • IP-benoemde ACL’s
  • Reflexieve ACL’s
  • Tijdgebaseerde ACL’s die tijdbereiken gebruiken
  • Gecommenteerde IP ACL entries
  • Context-gebaseerde ACL’s
  • Authenticatie proxy
  • Turbo ACL’s
  • Gedistribueerde tijd-gebaseerde ACL’s

Dit document bespreekt enkele veelgebruikte standaard en uitgebreide ACL’s. Raadpleeg IP-toegangslijsten configureren voor meer informatie over de verschillende typen ACL’s die in Cisco IOS Software worden ondersteund en hoe u ACL’s kunt configureren en bewerken.

De opdrachtsyntaxis van een standaard ACL is access-list access-list-number {permit|deny} {host|source source-wildcard|any}.

Standaard ACL’s vergelijken het bronadres van de IP pakketten met de adressen die in de ACL zijn geconfigureerd om verkeer te controleren.

Uitgebreide ACL’s vergelijken de bron- en bestemmingsadressen van de IP pakketten met de adressen die in de ACL zijn geconfigureerd om verkeer te controleren. U kunt uitgebreide ACL’s ook meer granulair maken en configureren om verkeer te filteren op criteria zoals:

  • Protocol
  • Portnummers
  • Differentiated services code point (DSCP) waarde
  • Precedence waarde
  • Status van het synchronize sequence number (SYN) bit

De opdrachtsyntaxisindelingen van uitgebreide ACL’s zijn:

IP

access-list access-list-number ]{deny | permit} protocol source source-wildcard destination destination-wildcard 

Internet Control Message Protocol (ICMP)

access-list access-list-number ] {deny | permit} icmp source source-wildcard destination destination-wildcard
| ]

Transport Control Protocol (TCP)

access-list access-list-number ] {deny | permit} tcp source source-wildcard ] destination destination-wildcard ]

User Datagram Protocol (UDP)

access-list access-list-number ] {deny | permit} udp source source-wildcard ] destination destination-wildcard ]

Voorschriften

Eisen

Zorg ervoor dat u aan deze eisen voldoet voordat u deze configuratie uitvoert:

  • Basiskennis van IP-adressering

Raadpleeg IP-adressering en subnetting voor nieuwe gebruikers voor aanvullende informatie.

Gebruikte componenten

Dit document is niet beperkt tot specifieke software- en hardwareversies.

De informatie in dit document is gemaakt op basis van de apparaten in een specifieke labomgeving. Alle apparaten die in dit document zijn gebruikt, zijn gestart met een gewiste (standaard) configuratie. Als uw netwerk live is, zorg er dan voor dat u de mogelijke impact van elk commando begrijpt.

Configureer

Deze configuratievoorbeelden gebruiken de meest voorkomende IP ACLs.

Geef een geselecteerde host toegang tot het netwerk

Deze figuur toont een geselecteerde host die toestemming krijgt om toegang te krijgen tot het netwerk. Al het verkeer dat afkomstig is van Host B en bestemd is voor NetA, wordt toegestaan, en al het andere verkeer dat afkomstig is van NetB en bestemd is voor NetA, wordt geweigerd.

De uitvoer in de R1-tabel laat zien hoe het netwerk toegang verleent aan de host. Uit deze uitvoer blijkt dat:

  • De configuratie staat alleen de host met het IP-adres 192.168.10.1 toe via de Ethernet 0-interface op R1.

  • Deze host heeft toegang tot de IP-diensten van NetA.

  • Geen enkele andere host in NetB heeft toegang tot NetA.

  • Er is geen “deny”-statement geconfigureerd in de ACL.

Aan het einde van elke ACL staat standaard een impliciete “deny all”-clausule. Alles wat niet expliciet is toegestaan, wordt geweigerd.

R1

hostname R1!interface ethernet0 ip access-group 1 in!access-list 1 permit host 192.168.10.1

Note: De ACL filtert IP-pakketten van NetB naar NetA, behalve pakketten die afkomstig zijn van NetB. Pakketten afkomstig van Host B naar NetA zijn nog steeds toegestaan.

Note: De ACL access-list 1 permit 192.168.10.1 0.0.0 is een andere manier om dezelfde regel te configureren.

Een bepaalde host de toegang tot het netwerk ontzeggen

Deze figuur laat zien dat verkeer afkomstig van host B met als bestemming NetA wordt geweigerd, terwijl al het andere verkeer van NetB voor toegang tot NetA wordt toegestaan.

Deze configuratie weigert alle pakketten van host 192.168.10.1/32 via Ethernet 0 op R1 en staat al het andere toe. U moet het commando access list 1 permit any gebruiken om al het andere expliciet toe te staan omdat er een impliciete deny all clausule is bij elke ACL.

R1

hostname R1!interface ethernet0 ip access-group 1 in!access-list 1 deny host 192.168.10.1access-list 1 permit any

Note: De volgorde van regels is kritisch voor de werking van een ACL. Als de volgorde van de regels omgedraaid is zoals dit commando laat zien, dan komt de eerste regel overeen met elk bronadres van het pakket. Daarom blokkeert de ACL host 192.168.10.1/32 niet voor toegang tot NetA.

access-list 1 permit anyaccess-list 1 deny host 192.168.10.1

Toegang verlenen tot een bereik van aaneengesloten IP Adressen

Deze figuur laat zien dat alle hosts in NetB met het netwerk adres 192.168.10.0/24 toegang kunnen krijgen tot netwerk 192.168.200.0/24 in NetA.

Deze configuratie geeft IP-pakketten met een IP-header die een bronadres in het netwerk 192.168.10.0/24 en een bestemmingsadres in het netwerk 192.168.200.0/24 heeft, toegang tot NetA. Er is de impliciete deny all clausule aan het einde van de ACL die alle ander verkeer door Ethernet 0 inkomend op R1 weigert.

R1

hostname R1!interface ethernet0 ip access-group 101 in!access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.0.255

Note: In het commando access-list 101 permit ip 192.168.10.0.0.255 192.168.200.0.0.255, de “0.0.0.255” is het inverse masker van netwerk 192.168.10.0 met masker 255.255.255.0. ACLs gebruiken het inverse masker om te weten hoeveel bits in het netwerkadres overeen moeten komen. In de tabel staat de ACL alle hosts toe met bronadressen in het 192.168.10.0/24 netwerk en bestemmingsadressen in het 192.168.200.0/24 netwerk.

Raadpleeg het gedeelte Maskers in Configureren van IP Toegangslijsten voor meer informatie over het masker van een netwerkadres en hoe je het inverse masker kunt berekenen dat nodig is voor ACLs.

Telnet verkeer uitschakelen (TCP, Poort 23)

Om aan hogere veiligheidseisen te voldoen, moet u misschien Telnet toegang tot uw privé netwerk uitschakelen vanaf het openbare netwerk. Deze figuur laat zien hoe Telnet-verkeer van NetB (openbaar) naar NetA (privé) wordt geweigerd, waardoor NetA een Telnet-sessie met NetB kan starten en opzetten, terwijl al het andere IP-verkeer wordt toegestaan.

Telnet maakt gebruik van TCP, poort 23. Deze configuratie laat zien dat al het TCP-verkeer dat bestemd is voor NetA voor poort 23 wordt geblokkeerd, en al het andere IP-verkeer wordt toegestaan.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 deny tcp any any eq 23access-list 102 permit ip any any

All only Internal Networks to Initiate a TCP Session

Deze figuur laat zien dat TCP-verkeer dat afkomstig is van NetA en bestemd is voor NetB wordt toegestaan, terwijl TCP-verkeer dat afkomstig is van NetB en bestemd is voor NetA wordt geweigerd.

Het doel van de ACL in dit voorbeeld is:

  • Hosts in NetA toestaan een TCP-sessie met hosts in NetB te starten en tot stand te brengen.

  • Hosts in NetB niet toestaan een TCP-sessie met als bestemming hosts in NetA te starten en tot stand te brengen.

Deze configuratie staat toe dat een datagram door interface Ethernet 0 inbound op R1 gaat wanneer het datagram:

  • Acknowledged (ACK) of reset (RST) bits zijn gezet (die een gevestigde TCP-sessie aangeven)

  • Een bestemmingspoortwaarde groter dan 1023

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 permit tcp any any gt 1023 established

Omdat de meeste van de bekende poorten voor IP-diensten waarden lager dan 1023 gebruiken, wordt elk datagram met een bestemmingspoort kleiner dan 1023 of een ACK/RST bit dat niet is gezet, geweigerd door ACL 102. Wanneer een host van NetB derhalve een TCP-verbinding initieert door het eerste TCP-pakket te verzenden (zonder dat het synchronize/start packet (SYN/RST)-bit is gezet) voor een poortnummer lager dan 1023, wordt dit geweigerd en mislukt de TCP-sessie. De TCP-sessies die worden gestart vanaf NetA en die bestemd zijn voor NetB worden toegestaan, omdat ze een ACK/RST bit hebben voor het terugsturen van pakketten en poortwaarden gebruiken die groter zijn dan 1023.

Refer naar RFC 1700 voor een complete lijst van poorten.

FTP-verkeer weigeren (TCP, poort 21)

Deze figuur laat zien dat FTP-verkeer (TCP, poort 21) en FTP-dataverkeer (poort 20 ) afkomstig van NetB en bestemd voor NetA wordt geweigerd, terwijl al het andere IP-verkeer wordt toegestaan.

FTP maakt gebruik van poort 21 en poort 20. TCP-verkeer dat is bestemd voor poort 21 en poort 20 wordt geweigerd en al het andere verkeer wordt expliciet toegestaan.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 deny tcp any any eq ftpaccess-list 102 deny tcp any any eq ftp-dataaccess-list 102 permit ip any any

FTP-verkeer toestaan (Actief FTP)

FTP kan in twee verschillende modi werken, namelijk actief en passief. Zie FTP Bediening om te begrijpen hoe actieve en passieve FTP werkt.

Wanneer FTP in actieve modus werkt, gebruikt de FTP server poort 21 voor controle en poort 20 voor data. De FTP-server (192.168.1.100) bevindt zich in NetA. Uit deze afbeelding blijkt dat FTP-verkeer (TCP, poort 21) en FTP-gegevensverkeer (poort 20 ) afkomstig van NetB dat is bestemd voor de FTP-server (192.168.1.100) wordt toegestaan, terwijl al het andere IP-verkeer wordt geweigerd.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 permit tcp any host 192.168.1.100 eq ftpaccess-list 102 permit tcp any host 192.168.1.100 eq ftp-data established!interface ethernet1 ip access-group 110 in!access-list 110 permit host 192.168.1.100 eq ftp any establishedaccess-list 110 permit host 192.168.1.100 eq ftp-data any

FTP-verkeer toestaan (passieve FTP)

FTP kan in twee verschillende modi werken, namelijk actief en passief. Zie FTP Bediening om te begrijpen hoe actieve en passieve FTP werkt.

Wanneer FTP in passieve modus werkt, gebruikt de FTP server poort 21 voor controle en de dynamische poorten groter of gelijk aan 1024 voor data. De FTP-server (192.168.1.100) bevindt zich in NetA. Uit deze afbeelding blijkt dat FTP-verkeer (TCP, poort 21) en FTP-gegevensverkeer (poorten groter dan of gelijk aan 1024) dat afkomstig is van NetB en bestemd is voor de FTP-server (192.168.1.100) wordt toegestaan, terwijl al het andere IP-verkeer wordt geweigerd.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 permit tcp any host 192.168.1.100 eq ftpaccess-list 102 permit tcp any host 192.168.1.100 gt 1023!interface ethernet1 ip access-group 110 in!access-list 110 permit host 192.168.1.100 eq ftp any establishedaccess-list 110 permit host 192.168.1.100 gt 1023 any established

Pings toestaan (ICMP)

Deze figuur laat zien dat ICMP afkomstig van NetA, bestemd voor NetB, wordt toegestaan, terwijl pings afkomstig van NetB, bestemd voor NetA, worden geweigerd.

Deze configuratie staat alleen toe dat echo-reply (ping-antwoord) pakketten binnenkomen op interface Ethernet 0 van NetB naar NetA. De configuratie blokkeert echter alle echo-request ICMP-pakketten wanneer pings afkomstig zijn van NetB en bestemd zijn voor NetA. Daarom kunnen hosts in NetA hosts in NetB pingen, maar hosts in NetB kunnen hosts in NetA niet pingen.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 permit icmp any any echo-reply

Toelaat HTTP, Telnet, Mail, POP3, FTP

Deze figuur laat zien dat alleen HTTP, Telnet, Simple Mail Transfer Protocol (SMTP), POP3, en FTP verkeer wordt toegestaan, en de rest van het verkeer dat afkomstig is van NetB en bestemd is voor NetA, wordt geweigerd.

Deze configuratie staat TCP-verkeer toe met bestemmingspoortwaarden die overeenkomen met WWW (poort 80), Telnet (poort 23), SMTP (poort 25), POP3 (poort 110), FTP (poort 21), of FTP-gegevens (poort 20). Merk op dat een impliciete deny all clausule aan het eind van een ACL al het andere verkeer weigert, dat niet overeenkomt met de permissie clausules.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 permit tcp any any eq wwwaccess-list 102 permit tcp any any eq telnetaccess-list 102 permit tcp any any eq smtpaccess-list 102 permit tcp any any eq pop3access-list 102 permit tcp any any eq 21access-list 102 permit tcp any any eq 20

Toelaat DNS

Deze figuur laat zien dat alleen Domain Name System (DNS) verkeer is toegestaan, en dat de rest van het verkeer afkomstig van NetB bestemd voor NetA wordt geweigerd.

Deze configuratie staat TCP-verkeer met bestemmingspoortwaarde 53 toe. De impliciete deny all clausule aan het einde van een ACL staat al het andere verkeer toe dat niet overeenkomt met de permissie clausules.

R1

hostname R1!interface ethernet0 ip access-group 102 in!access-list 102 permit udp any any eq domain access-list 102 permit udp any eq domain anyaccess-list 102 permit tcp any any eq domain access-list 102 permit tcp any eq domain any

Routing Updates toestaan

Wanneer je een in-bound ACL toepast op een interface, zorg er dan voor dat routing updates niet worden uitgefilterd. Gebruik de relevante ACL uit deze lijst om routing protocol pakketten toe te staan:

Voer dit commando in om Routing Information Protocol (RIP) toe te staan:

access-list 102 permit udp any any eq rip

Voer dit commando in om Interior Gateway Routing Protocol (IGRP) toe te staan:

access-list 102 permit igrp any any

Voer dit commando in om Enhanced IGRP (EIGRP) toe te staan:

access-list 102 permit eigrp any any

Voer dit commando in om Open Shortest Path First (OSPF) toe te staan:

access-list 102 permit ospf any any

Voer dit commando in om Border Gateway Protocol (BGP) toe te staan:

access-list 102 permit tcp any any eq 179 access-list 102 permit tcp any eq 179 any

Debug verkeer op basis van ACL

Het gebruik van debug-opdrachten vereist de toewijzing van systeembronnen zoals geheugen en verwerkingskracht en kan in extreme situaties een zwaarbelast systeem doen vastlopen. Gebruik debug commando’s met zorg. Gebruik een ACL om selectief het verkeer te definiëren dat onderzocht moet worden om de impact van dedebug opdracht te verminderen. Een dergelijke configuratie filtert geen pakketten.

Deze configuratie schakelt het debug ip packet commando alleen in voor pakketten tussen de hosts 10.1.1.1 en 172.16.1.1.

R1(config)#access-list 199 permit tcp host 10.1.1.1 host 172.16.1.1R1(config)#access-list 199 permit tcp host 172.16.1.1 host 10.1.1.1R1(config)#end
R1#debug ip packet 199 detailIP packet debugging is on (detailed) for access list 199

Refereer naar Belangrijke informatie over debug commando’s voor aanvullende informatie over de impact van debug commando’s.

Refereer naar de paragraaf Debug-commando’s gebruiken in Inzicht in de Ping- en Traceroute-commando’s voor aanvullende informatie over het gebruik van ACL’s met debug-commando’s.

MAC-adresfiltering

U kunt frames filteren met een bepaald MAC-layer station bron- of bestemmingsadres. Een willekeurig aantal adressen kan in het systeem worden geconfigureerd zonder dat dit ten koste gaat van de prestaties. Om op MAC-layer adres te filteren, gebruikt u dit commando in de globale configuratiemodus:

Router#config terminal bridge irb bridge 1 protocol ieee bridge 1 route ip

Appliceer het bridge protocol aan een interface die u nodig hebt om verkeer te filteren, samen met de gemaakte toegangslijst:

Router#config terminal
int fa0/0 no ip address bridge-group 1 {input-address-list 700 | output-address-list 700} exit

Maak een Bridged Virtual Interface en pas het IP-adres toe dat aan de Ethernet-interface is toegewezen:

Router#config terminal
int bvi1 ip address exit ! ! access-list 700 deny <mac address> 0000.0000.0000 access-list 700 permit 0000.0000.0000 ffff.ffff.ffff

Met deze configuratie staat de router alleen de MAC-adressen toe die op de access-list 700 zijn geconfigureerd. Met de toegangslijst kunt u het MAC-adres dat geen toegang mag hebben, weigeren en de rest toestaan.

Aanwijzing: maak elke regel van de toegangslijst voor elk MAC-adres.

Verifieer

Er is momenteel geen verificatieprocedure beschikbaar voor deze configuratie.

Troubleshoot

Er is momenteel geen specifieke informatie voor troubleshooting beschikbaar voor deze configuratie.

Laat een antwoord achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *