Académique Documents
Professionnel Documents
Culture Documents
Minden irányított hálózati protokollhoz (pl. IP és IPX) készíthetők ACL-ek, amelyekkel a csomagok a
forgalomirányítón való áthaladás közben szűrhetők. Az ACL-ek konfigurálhatók a forgalomirányítón
1
egy hálózat vagy alhálózat hozzáférésének vezérlésére. Például a Washington Iskolakörzetben az
ACL-ek a hallgatói forgalomnak az adminisztratív hálózatról való kizárására használhatók.
Az ACL-ek úgy szűrik a hálózati forgalmat, hogy vagy továbbítják, vagy visszatartják az irányított
csomagokat a forgalomirányító interfészein. A forgalomirányító minden csomagot megvizsgál annak
meghatározásához, hogy azt az ACL-ben meghatározott feltétel szerint továbbítani vagy törölni kell.
Az ACL-feltételekben szerepelhet a csomag forráscíme, célcíme, a felsőbb szintű protokoll vagy más
információ.
Az ACL-eket protokollok szerint kell definiálni. Vagyis ha szabályozni akarjuk egy adott interfész
forgalmát, az interfészen engedélyezett összes protokollhoz definiálni kell ACL-t. (Megjegyezzük, hogy
bizonyos protokollok szűrőként hivatkoznak az ACL-ekre.) Ha például a forgalomirányító interfésze IP,
AppleTalk és IPX protokollokra van konfigurálva, akkor legalább három ACL-t kell megadni. Az ACL-
ek alkalmasak a hálózat vezérlésére, mivel segítségükkel rugalmasabban szűrhetők a
forgalomirányítók interfészein áthaladó csomagok.
2
Az ACL-ben az utasítások sorrendje meghatározó. Amikor a forgalomirányító eldönti, hogy
továbbítson vagy töröljön egy csomagot, a Cisco Internetwork Operating System (IOS) szoftver
összeveti a csomagot minden feltételes utasítással, abban a sorrendben, ahogy az utasításokat
létrehozták.
Ha olyan feltételt adunk meg, amely minden forgalmat engedélyez, akkor az IOS semmilyen későbbi
utasítást nem ellenőriz. Ha további utasításokra van szükség egy szabványos vagy kiterjesztett ACL-
ben, akkor törölni kell, majd újra létre kell hozni az ACL-t az új feltételes utasításokkal. Ezért célszerű
a forgalomirányító konfigurációját szövegszerkesztővel megváltoztatni, majd TFTP-vel elküldeni a
forgalomirányítónak.
Minden szűrni kívánt protokoll számára létrehozhatunk egy ACL-t a forgalomirányító minden egyes
interfészén. Bizonyos protokollok esetén külön ACL-t készítünk a bejövő és a kimenő forgalom
számára.
Miután egy ACL utasítás ellenőrzött egy csomagot és egyezést talált, letiltható vagy engedélyezhető,
hogy a csomag használja a hozzáférési csoport egyik interfészét. A Cisco IOS ACL-jei ellenőrzik a
csomagot és a felsőbb rétegbeli fejrészeket.
3
Az ACL egy utasításcsoport, amely meghatározza, hogy a csomagok:
A kommunikációs folyamat ugyanaz, akár használunk ACL-eket, akár nem. Amint egy csomag belép
egy interfészen, a forgalomirányító megnézi, hogy a csomagot forgalomirányító vagy híd
üzemmódban kell-e feldolgoznia. Ezután ellenőrzi, hogy a bejövő interfésznek van-e ACL-je. Ha van,
a csomagot ellenőrzi a lista tartalma alapján. Ha a csomag engedélyezhető, akkor az irányítótábla
bejegyzései alapján meghatározza a célinterfészt.
Ezután ellenőrzi, hogy a kimenő interfésznek van-e ACL-je. Ha nincs, a csomag azonnal továbbítható
a célinterfészre; ha például az E0-t használja, és ahhoz nincs ACL, akkor a csomag közvetlenül az E0
interfészt használja.
Az ACL utasítások szekvenciálisan, egymás után kerülnek végrehajtásra. Ha a csomag egy feltételnek
megfelel, a forgalomirányító a csomagot engedélyezi vagy letiltja, és a további ACL utasításokat
figyelmen kívül hagyja. Ha egyetlen ACL utasításnak sem felel meg, egy implicit "mindent letilt"
utasítás hajtódik végre. Ez azt jelenti, hogy bár nem látjuk a "mindent letilt" utasítást az ACL utolsó
sorában, de mégis oda értendő.
4
A forgalomirányító megtagadja egy csomag célba juttatását, ha az első ellenőrzésnél egyezést talál.
Ekkor elveti és a (bit) szemetesbe dobja, és figyelmen kívül hagyja az ACL-ben levő további
ellenőrzéseket. Ha a csomag nem egyezik az első ellenőrzési feltétellel, akkor az ACL következő
utasítására ugrik.
Az ACL-ek lehetővé teszik annak ellenőrzését, hogy mely ügyfelek léphetnek be a hálózatba. Egy
ACL fájl feltételei képesek:
5
Az ACL-ek létrehozásának ebben a részben átvett legfontosabb feladatai a következők:
Bár minden protokollnak vannak speciális feladatai és szabályai, amelyek a forgalom szűréséhez
elengedhetetlenek, a legtöbb protokoll esetében általában két alapvető műveletre van szükség. Az
elso lépés az ACL létrehozása, a második pedig az ACL alkalmazása az interfészre.
Az ACL-eket egy vagy több interfészhez rendelik hozzá, és a konfigurációtól függően képesek kiszűrni
a bejövő és kimenő forgalmat. A kimenő ACL-ek általában hatékonyabbak, mint a bejövők, és ezért
előnyben részesítik őket. Bejövő ACL esetén a forgalomirányítónak össze kell vetnie minden
csomagot az ACL feltétellel, mielőtt a csomagot egy kimenő interfészre kapcsolná.
Az ACL-ek konfigurálásakor azonosítani kell az ACL-eket azáltal, hogy egyedi számot rendelünk
hozzájuk. Ha egy számot használunk az ACL azonosításához, a számnak a protokollra érvényes
megadott tartományba kell esnie.
6
A táblázatban levő protokollokhoz szám alapján is hozzárendelhető a megfelelő ACL. A táblázat
felsorolja azoknak az ACL-azonosítóknak a tartományát is, amelyek az egyes protokollokhoz
használhatók.
Miután létrehozunk egy számozott ACL-t, hozzá kell rendelni egy interfészhez, hogy használni
lehessen. Ha meg akarunk változtatni egy számozott utasításokból álló ACL-t, törölni kell minden
utasítást a no access-list listaszám paranccsal.
A helyettesítő maszk egy 32 bites egység, melyet négy bájtra osztunk, tehát minden bájt 8 bitet
tartalmaz. A helyettesítő maszkbitben a 0 azt jelenti, hogy a megfelelő bitértéket ellenőrizni kell, az 1-
es pedig azt, hogy nem kell ellenőrizni.
7
maszk-bit megfeleltetési folyamatának neve. (A helyettesítő maszkot dzsóker [joker] maszknak is
nevezhetnénk, hiszen hasonló a szerepe, mint a kártyában a tetszőleges lapot helyettesíteni tudó
dzsóker lapnak.)
Mint már megtanultuk, a helyettesítő maszkban szereplő nullás és egyes bitek alapján az ACL vagy
ellenőrzi, vagy figyelmen kívül hagyja a megfelelő biteket az IP címben. Az ábrán a helyettesítő
maszkolás folyamata látható.
Tegyük fel, hogy ellenőrizni akarjuk, hogy egy IP-cím engedélyezhető vagy letiltandó alhálózatban
van-e! Legyen az IP-cím B osztályú (vagyis az elso két bájt a hálózatazonosító), 8 bites alhálózattal (a
harmadik bájt az alhálózatot jelöli)! IP helyettesítő maszkbiteket akarunk használni a 172.30.16.0--
172.30.31.0 alhálózati tartományokból származó állomások csomagjainak engedélyezésére. Az ábra
példát mutat arra, hogyan használhatók ehhez a helyettesítő maszkok.
Eloször a helyettesítő maszk ellenőrzi az elso két bájtot (172.30) a 0-s bitek felhasználásával. Mivel
nem érdekesek az egyes állomáscímek (az állomásazonosító nem .00-ra végzodik), a helyettesítő
maszk az 1-esek révén figyelmen kívül hagyja az utolsó bájtot.
8
A bináris helyettesítő maszkbitek decimális jelölésmódjával nehézkes dolgozni. A helyettesítő
maszkolás leggyakoribb elofordulásaira rövidítések használhatók. E rövidítésekkel egyszerubben
megadhatók a címellenőrzési feltételek. Tegyük fel például, hogy minden címet engedélyezni akarunk
egy ACL-ben! A tetszoleges IP-cím jelölésére be kellene írni a 0.0.0.0 címet, és hogy az ACL
figyelmen kívül hagyjon (vagyis ellenőrzés nélkül engedélyezzen) minden értéket, a megfelelő
helyettesítő maszkbiteknek csupa egyesbol kellene állniuk (vagyis a maszk 255.255.255.255 lenne).
Mindezt megadhatjuk az any parancs használatával a Cisco IOS ACL szoftver számára. A 0.0.0.0
255.255.255.255 begépelése helyett használhatjuk az any kulcsszót önmagában.
Ehelyett például:
használható ez:
Egy másik gyakori eset, amikor a Cisco IOS megengedi rövidítés használatát az ACL helyettesítő
maszkban az, amikor a teljes IP-állomáscím minden bitjét egyeztetni kell. Tegyük fel például, hogy egy
bizonyos címet le kell tiltani egy ACL-ellenőrzésben! Az IP-címet teljes címként adnánk meg (pl.
172.30.16.29); ezután annak jelzésére, hogy az ACL ellenőrizze minden bitjét, a megfelelő
helyettesítő maszkbitek csupa nullából állnának (vagyis 0.0.0.0). Mindezt megadhatjuk a host
rövidítés használatával a Cisco IOS ACL szoftver számára. A példában a 172.30.16.29 0.0.0.0 helyett
használhatjuk a host kulcsszót a cím elott.
Ehelyett például:
használható ez:
9
Normál ACL-t akkor használunk, ha egy hálózatból minden forgalmat ki akarunk zárni, egy adott
hálózatból származó minden forgalmat engedélyezni akarunk, vagy egy teljes protokollkészletet le
akarunk tiltani. A normál ACL-ek ellenőrzik az irányítandó csomagok forráscímét. Az ellenőrzés során
a hálózat-, alhálózat- és állomáscím alapján vagy letiltják, vagy engedélyezik a kimenetet egy teljes
protokollkészlet számára. Például ellenőrzik az E0-s interfészre érkező csomagok forráscímét és
protokollját. Ha engedélyezhetők, a csomagokat továbbítják az ACL-hez rendelt S0 interfészen
keresztül. Ellenkező esetben törlik őket.
10
Mint tudjuk, az access-list globális konfigurációs parancs normál verziójával definiálhatunk
számozott normál ACL-t. Ez a parancs a globális konfigurációs parancsmódban használható.
A parancs teljes szintaxisa a következo:
Ennek a parancsnak a no alakja használható egy normál ACL eltávolítására. Ennek szintaxisa:
A show access-lists EXEC parancsot az összes ACL lista tartalmának kiíratására alkalmazzuk.
A show access-lists EXEC parancsot használjuk az ACL nevével vagy sorszámával kiegészítve
akkor is, ha egy konkrét ACL tartalmát listázzuk ki. A normál ACL-re vonatkozó következő példa
engedélyezi a hozzáférést a három megadott hálózat állomásai számára:
11
access-list 1 permit 192.5.34.0 0.0.0.255
access-list 1 permit 128.88.0.0 0.0.255.255
access-list 1 permit 36.0.0.0 0.255.255.255
!(Megjegyzés: minden más hozzáférés implicit módon le van tiltva.)
Az ip access-group parancs hozzárendel egy meglévő ACL-t egy interfészhez. Ne feledjük, hogy
portonként, protokollonként és irányonként csak egy ACL adható meg! A parancs formátuma:
12
Mik a kiterjesztett ACL-ek?
Tegyük fel, hogy az E0 interfészhez hozzárendelünk egy kiterjesztett ACL-t, vagyis az ACL
létrehozásakor precíz, logikai utasításokat fogalmazhatunk meg. Mielőtt egy csomag eljuthatna az
interfészre, az interfészhez kapcsolódó ACL leellenőrzi.
A kiterjesztett ACL alapján a csomag engedélyezhető vagy visszautasítható. A bejövő listák esetében
ez azt jelenti, hogy az engedélyezett csomagokat továbbra is feldolgozzák. A kimenő listák esetében
viszont azt, hogy az engedélyezett csomagokat közvetlenül az E0 interfészre küldik. A visszautasított
csomagokat eldobják. A forgalomirányító ACL-je tűzfalas védelmet biztosít az E0 interfész
használatának megakadályozására. A csomagok eldobásakor bizonyos protokollok visszaküldenek
egy csomagot a küldőnek azzal, hogy a cél nem érhető el.
Egy ACL-ben több utasítás is megadható. Az azonos ACL-hez tartozó utasításoknak ugyanarra az
azonosító névre vagy számra kell hivatkozniuk. A feltételek száma tetszőleges lehet, korlátot csak a
rendelkezésre álló memória szab. Persze minél több az utasítás, annál nehezebb az ACL megértése
és kezelése. A zűrzavart megelőzhetjük az ACL-ek dokumentálásával.
A normál ACL (1-99-ig számozva) nem biztos, hogy olyan fokú forgalomszűrést biztosít, mint amire
szükségünk van. A normál ACL-ek a forráscím és maszk alapján szűrik a forgalmat. Emellett a normál
ACL-ek engedélyezik, vagy letiltják a teljes TCP protokollkészletet. Előfordulhat, hogy a forgalmat és a
hozzáférést ennél pontosabban kívánjuk szabályozni.
13
Az alaposabb forgalomszűréshez kiterjesztett ACL-eket alkalmazhatunk. A kiterjesztett ACL
utasítások ellenőrzik a forrás és a cél címét. Ezenkívül egy kiterjesztett ACL utasítás végén további
pontosítást tesz lehetővé az TCP vagy UDP protokoll portszámát megadó opcionális mező. Ezek
lehetnek a TCP/IP jól ismert portszámai. A legismertebb portszámok az alábbi ábrán láthatók. A
kiterjesztett ACL-ek logikai műveleteket is végre tudnak hajtani bizonyos protokollokon. A kiterjesztett
ACL-ek a 100-199 tartományt használják.
Az ip access-group parancs egy meglévő kiterjesztett ACL-t rendel egy interfészhez. Ne feledjük,
hogy interfészenként, irányonként és protokollonként csak egy ACL adható meg! A
parancs formátuma:
14
Router(config)# access-list hozzáférési lista száma {in | out}
A kiterjesztett ACL-eket használó cél- és forráscímeket, illetve protokollokat egy szám azonosítja 100-
tól 199-ig. A felso szintű TCP- és UDP-portszámokat a kiterjesztett ACL-ek más ellenőrzéseivel együtt
azonosítani kell egy 100--199 tartománybeli számmal. A táblázat néhány fenntartott UDP- és TCP-
portszámot sorol fel.
15
Az ábra egy olyan kiterjesztett ACL-re mutat példát, amely letiltja az FTP forgalmat.
interface ethernet 0
ip access-group 101 out
16
Szabály: "Helyezzük a kiterjesztett ACL-t olyan közel a tiltott forgalom
forrásához, amennyire csak lehetséges!"
Azt már tudjuk, hogy az ACL-ek a forgalmat ellenőrzik a csomagok szűrésével és a célnál levő
nemkívánatos forgalom eltávolításával. Az ACL utasítás elhelyezésétől függően a szükségtelen
forgalom lecsökkenthető. A távoli pontban letiltott forgalomnak felesleges lefoglalnia hálózati
erőforrásokat a célhoz vezető útján.
Tegyük fel, hogy egy vállalat le kívánja tiltani az A jelű forgalomirányító felől a D jelű forgalomirányító
E1 portjára csatlakozó kapcsolt Ethernet LAN felé menő telnet vagy FTP forgalmat! A többi forgalmat
ugyanakkor engedélyezni kell. Ez a feladat sokféleképpen megoldható. A javasolt megközelítés
szerint kiterjesztett ACL-eket kell használni. Ezek a forrás- és a célcímeket is ellenőrzik. Helyezzük el
a kiterjesztett ACL-t az A jelű forgalomirányítón; ekkor a csomagok nem haladnak át az A jelű
forgalomirányító Ethernet, valamint a B és C jelű forgalomirányítók soros interfészén, és nem lépnek
be a D jelű forgalomirányítóba. A más forrással és céllal rendelkező címek továbbra is
engedélyezhetők.
A szabály úgy hangzik, hogy a kiterjesztett ACL-t olyan közel kell helyezni a tiltott forgalom forrásához,
amennyire csak lehetséges. A normál ACL-ek nem ellenőrzik a célcímeket, ezért olyan közel kell
ezeket elhelyezni a célhoz, amennyire csak lehet. Tehát az A jelű forgalomirányító forgalmának
letiltásához a D jelű forgalomirányító E0 interfészén egy normál vagy kiterjesztett ACL-t kell elhelyezni.
ACL-eket kell használni a tűzfal-forgalomirányítókon, melyek gyakran a belső és a külső hálózat (pl.
az Internet) között helyezkednek el. A tűzfal-forgalomirányítók elszigetelik a belső hálózat struktúráját.
ACL-eket használhatunk továbbá a hálózat egyes részei között elhelyezett forgalomirányítókon is a
belső hálózat részei között haladó forgalom kontrollálására.
Ha ki akarjuk használni az ACL-ek által nyújtott biztonsági előnyöket, akkor legalább a hálózat határán
elhelyezkedő határ-forgalomirányítókra be kell konfigurálni az ACL-eket. Ez alapszintű védelmet nyújt
egy magánjellegű hálózatrész számára a külső hálózat vagy a hálózat kevésbé ellenőrzött részei felől
érkező veszélyekkel szemben. Ezeken a határ-forgalomirányítókon az ACL-eket a forgalomirányító
17
interfészein konfigurált összes protokollhoz meg lehet adni. Az ACL-eket a bejövő, a kimenő vagy
mindkét irányú forgalom szűrésére használhatjuk.
Tűzfal architektúra
A tűzfal-architektúra olyan struktúra, amely köztünk és a környező világ között védelmet biztosít a
behatolókkal szemben. A legtöbb esetben a behatolók az Internet által összekötött sok ezer távoli
hálózatból érkeznek. Egy hálózati tűzfal általában több különálló gépből áll.
A show ip interface parancs információkat jelenít meg az IP interfészről, és jelzi, hogy meg
vannak-e adva ACL-ek. A show access-lists parancs megjeleníti az összes ACL tartalmát. Egy
ACL nevének vagy számának opcionális megadásával megnézhetjük az adott listát.
18