A hozzáférési lista kezelése
Alapprobléma
Minden hálózatnak és ezzel együtt minden rendszergazdának örök problémája a megfelelő hozzáférés biztosítása, ugyanakkor a hálózati eszközök jogosulatlan elérésének tiltása.
A hálózatban vannak bizonyos védekezési és szabályozás lehetőségek (pl. a jelszavak) amelyek korlátozott védelmet tudnak biztosítani, de nem rendelkeznek a forgalomszűréshez szükséges rugalmassággal és szabályozhatósági lehetőségekkel.
Ennek érdekében fejlesztették ki a hozzáférés-vezérlési listákat (Access Control List – ACL), amelyek a forgalom engedélyezéséhez és letiltásához adnak eszközöket a rendszergazdák kezébe.
A hozzáférési lista (ACL)
Az ACL tulajdonképpen engedélyező és tiltó utasítások szekvenciális sorozata, amelyeket címekre, portokra, szolgáltatásokra vagy felsőbb rétegbeli protokollokra alkalmazhatunk.
Ezek a listák határozzák meg a forgalomirányító számára, hogy mely csomagokat fogadja el és melyeket utasítsa vissza. Ezzel az ACL, lehetővé teszi a forgalom felügyeletét, s a meghatározott csomagok ellenőrzését is.
Az ACL segítségével megoldható a csomagok prioritásának meghatározása, vagyis annak eldöntése, milyen sorrendben dolgozzuk fel őket, amely a hálózati forgalom korlátozását teszi lehetővé, de ezzel együtt csökkenti a torlódások lehetőségét is.
A hozzáférési listák működése és használata elég sok különlegességet rejteget, itt (most) csak az egyszerűbb dolgokkal foglalkozunk.
A hozzáférési lista jellemzői
- az ACL-eket mindig globális konfigurációs üzemmódban hozhatjuk létre
- az ACL-nek van egy azonosítószáma, amely az ACL típusát határozza meg
- 1-99 között a normál (standard) ACL utasítások használhatóak
- 100-199 között a kiterjesztett utasítások használhatóak
- léteznek nevesített ACL-ek is, de jelenleg a számunkra nem érdekesek
- az ACL-ben az utasítások sorrendje nagyon fontos, mert a végrehajtás szekvenciális
- elemzi az első utasítást és végrehajtja
- aztán elemzi a második utasítást és végrehajtja + amelyik eszközre az első utasítás már vonatkozott, arra nincs hatással
- majd elemzi a harmadik utasítást és végrehajtja amelyik eszközre az első két utasítás vonatkozott, arra már nincs hatással
- …
Normál ACL a gyakorlatban
- lépés az ACL létrehozása, konfigurálása
- lépés az ACL alkalmazása az interfészre(egy vagy több interfészhez rendelik hozzá és képesek szűrni a bejövő vagy kimenő forgalmat
A normál ACL létrehozása és alkalmazása egyszerű, hiszen kizárólag a forráscím alapján tud szűrni. Célszerű a célhoz közeli helyen elhelyzni, hogy minél hatékonyabban működjön, de ez nagyon feladatfüggő. Minden ACL végén van egy implicit (rejtett) utasítás, amely a DENY ANY (minden tilt) parancsot rejti, vagyis amiről addig nem ejtettünk szót, az minden tiltva lesz.
Normál hozzáférési lista konfigurálása
A létrehozás során használhatunk helyettesítő maszkot és használhatjuk a host és any paramétereket, akár vegyesen is – a host egy adott gépet jelent, az any bármely és bármennyi gépet jelenthet. Mivel helyettesítő maszkot használunk a 0.0.0.0 helyett használhatjuk a host szót, s 255.255.255.255 helyett az any szót.
R(config)#ACCESS-LIST [ACL_száma] [DENY/PERMIT] [forráscím] [helyettesítő_maszk][LOG]
vagy
R(config)#ACCESS-LIST [ACL_száma] [DENY/PERMIT] [HOST/ANY][forráscím] [LOG]
Az utasítássorok száma több is lehet, a beírás sorrendje (általában) meghatározza a végrehajtás sorrendjét is.
Ha megjegyzést is szeretnénk az ACL-hez fűzmi, akkor ezt a következő utasítássorral tehetjük meg.
R(config)#ACCESS-LIST [a lista száma] REMARK [SZÖVEG]
Az ACL törlésére is van lehetőség
R(config)# NO ACCESS-LIST [a lista száma]
ACL interfészhez rendelése
R(config-if)#IP ACCESS-GROUP [ACL_száma] [IN/OUT]
Ezt már az interfész-konfigurációs menüben kell elvégeznünk és fontos a irány meghatározása, mert egyes eszközök esetében a kimenő irány az alapértelmezett.
Az interfészhez rendelés megszüntetése a következő paranccsal lehetséges
R(config-if)#NO IP ACCESS-GROUP INTERFACE
Az ACL működését több paranccsal is ellenőrizhetjük
SHOW IP INTERFACE
vagy
SHOW ACCESS-LISTS [ACL_SZÁMA]
vagy
SHOW RUNNING-CONFIG
vagy
PING
Néhány konkrét példa
Egy adott állomás (192.168.15.99) tiltása
R(config)#ACCESS-LIST 9 DENY 192.168.15.99 0.0.0.0
vagy
R(config)#ACCESS-LIST 9 DENY HOST 192.168.15.99
Az összes állomás engedélyezése
R1(config)#ACCESS-LIST 9 PERMIT 0.0.0.0 255.255.255.255
R1(config)#ACCESS-LIST 9 PERMIT ANY
Egy adott hálózat minden állomását engedélyezzük, minden mást tiltunk
ACCESS-LIST 1 PERMIT 192.168.1.0 0.0.0.255
Ha tetszett a poszt – oszd meg!