5. Hozzáférések, jelszavak¶
Az előző fejezetben láttuk, hogy a Cisco eszközei a konfigurációs parancsokat csoportokba szervezték, és azok használatát az egyes konfigurációs szinteken teszi elérhetővé. A gyakorlatban ezeket a szinteket jelszóval védik azért, hogy valóban csak az arra jogosultak módosíthassák a berendezés működési paramétereit.
5.1. Konzol hozzáférés védelme¶
Amennyiben egy hálózati eszközhöz valaki hozzáfér, nem sok akadálya van annak, hogy ahhoz egy konzolkábelt csatlakoztasson, és megváltoztassa annak konfigurációját. Ez az oka annak, hogy alapvető elvárás ezek zárt helységekben vagy legalább szekrényekben tárolása. Éles üzemben már az első szintű hozzáférést is jelszóhoz kell kötni, elsőként ezt fogjuk elvégezni.
Ehhez először privilegizált (enable), majd konfigurációs módba lépünk (configure terminal). Ezt követően kiválasztjuk a beállítani kívánt vonalat, esetünkben ez a 0-s sorszámú konzol (line console 0). Amennyiben a berendezés több konzol portot tartalmaz, az eljárást mindegyikre meg kell ismételni. A kiválasztott jelszót a password <jelszó> paranccsal kell beállítani. A login parancs nélkül a jelszó kérése nem történne meg, ezért azt nem szabad kihagyni. Végül az exit parancsokkal kilépünk az egyes konfigurációs szintekből.
A példákban kihasználtam, hogy a parancsokat nem kell végig begépelni, elég csak addig írtam le őket, amíg egyértelművé nem vált a parancs.
Switch> ena
Switch# conf term
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#banner motd #Vedett rendszer, tilos a jogosulatlan hozzaferes!#
Switch(config)# line console 0
Switch(config-line)# password conpass
Switch(config-line)# login
Switch(config-line)# exit
Switch(config)# exit
Switch# exit
Ezt követően a konzolkábel használata során jelszót kér a rendszer:
Vedett rendszer, tilos a jogosulatlan hozzaferes!
User Access Verification
Password: <conpass>
Switch>
Megjegyzés
A jelszó megadásakor semmilyen visszajelzés nem történik.
Egyes országokban egy jogi eljárás során egy támadó védekezhet azzal, hogy a rendszer nem hívta fel a figyelmét a jogosulatlan hozzáférés következményeire, ezért tanácsos a banner motd (Message Of The Day) használatával minden belépési pontnál az erre figyelmeztető szöveget megjeleníteni. A szöveg több soros is lehet, ezért annak kezdetét és végét egy, a szövegben nem használt karakterrel, példánkban a #-tel kell jelölni.
A későbbiekben a jelszó kérését úgy lehet letiltani, hogy a fenti folyamatban a no login parancsot alkalmazod. Ez általános szabály az IOS beállításakor, a no előtag az ellenkezőjébe fordítja az utána megadott parancs hatását.
5.2. A privilegizált mód védelme¶
A konzol vonal védelmét követően a privilegizált módba lépéshez szükséges jelszót is be kell állítani. Ez sokkal egyszerűbb, a megfelelő módban tulajdonképp egy sor (a jelszavunk most „enpass” lesz):
Switch> ena
Switch# conf term
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# enable password enpass
Switch(config)# end
A berendezés ezután már csak jelszó megadását követően teszi lehetővé a privilegizált módba lépést:
Switch>ena
Password: <enpass>
5.3. A jelszavak titkosítása¶
Az eddigi beállításainknak meg kell jelenniük az aktív konfigurációban, nézzük már meg ezt a show running-config paranccsal! Az alábbi részlet tartalmazza a jelszó beállításokat:
no service password-encryption
hostname Switch
enable password enpass
!
line con 0
password conpass
login
Hát, szomorúan látjuk, hogy a rendszer a jelszavakat olvasható formában tárolja (óh, azok a békebeli 80-as évek!), ez a mai rendszerek esetében teljesen elfogadhatatlan. Szerencsére ez csak kompatibilitási okokból van így, van lehetőségünk a jelszavak helyett hash-ek tárolására is.
A privilegizált szint jelszavának titkosítása egyszerű: az enable password enpass
parancs helyett a enable secret enpass parancsot fogjuk használni így:
Switch> ena
Switch# conf term
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# enable secret enpass1
Switch(config)# end
Ezt követően ez a jelszó már nem olvasható a show running-config kimenetében:
enable secret 5 $1$mERr$yNrBPV8M7v1CvfgBAIZmH0
Ez a parancs csak erre az egy jelszóra van hatással, a konzol jelszó továbbra is titkosítatlan maradt. A jelszavak általános titkosítását a Cisco egy háttérfolyamattal oldotta meg, melynek password-encryption
a neve. Ezt a service paranccsal kell indítani így:
Switch(config)# service password-encryption
A service minden jelszót titkosítani fog, és a továbbiakban a konfigurációs fájlokból azok már nem olvashatók ki. Az alábbi példában már a konzoljelszó is „értelmetlen”:
line con 0
password 7 0822434019181604
login
5.4. Távoli hozzáférések¶
A konzolkábel állandó alkalmazása nagyon kényelmetlen megoldás lenne, ezért azt csak a kezdeti beállításokhoz, illetve probléma esetén szoktuk használni. Ha csak ez állna rendelkezésre, mindig el kellene menni a berendezéshez, állva, fél kezünkben egy laptopot tartva kellene dolgozni, ez a legtöbb esetben nem csak kényelmetlen, de fölöslegesen időigényes is lenne. Ezért a Cisco eszközeit úgy építették fel, hogy a hálózaton keresztül is elérhetők és felügyelhetők, szükség esetén konfigurálhatók legyenek. Ahhoz, hogy ezt demonstráljuk, ki kell alakítanunk egy egyszerű hálózatot, IP címet kell adnunk a hálózati eszköznek, be kell állítanunk egy munkaállomást, és végül kapcsolódnunk kell a berendezéshez, ami ebben a példában szintén egy switch lesz. A kis hálózatunk így néz ki majd a Packet Tracerben:

Switch konfigurálása hálózaton keresztül¶
Elsőként megváltoztatjuk a switch hostnevét sw-1
-re, ez a későbbiekben segíteni fog bennünket abban, hogy mindig pontosan tudjuk, melyik eszközön dolgozunk. Az alapértelmezett beállítás mellett minden switch és router felülete ugyanúgy néz ki, és könnyen össze lehet téveszteni őket. A hostnév minden sorban megjelenik, így mindig egyértelmű lesz, melyik eszközzel is dolgozunk éppen. Ehhez először konfigurációs módba lépünk, majd a hostname sw-1 paranccsal állítjuk be az új nevet.
A hálózati elérés biztosításához az vlan 1
interfészének IP címet adunk. Ezért először az int vlan 1 paranccsal megadjuk, hogy ezt az interfészt akarjuk módosítani, majd az ip address 192.168.1.1 255.255.255.0 paranccsal elvégezzük a beállítást. A no shutdown (az alapértelmezett shutdown állapot tagadásával) bekapcsolja az interfészt, így az a hálózatról elérhető lesz. Ezután kilépünk az eszköz konfigurálásából.
Switch> ena
Switch# conf term
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# hostname sw-1
sw-1(config)# int vlan 1
sw-1(config-if)# ip address 192.168.1.1 255.255.255.0
sw-1(config-if)# no shutdown
%LINK-5-CHANGED: Interface Vlan1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
sw-1(config-if)# exit
sw-1(config)# exit
%SYS-5-CONFIG_I: Configured from console by console
A munkaállomás sem lesz képes hálózati paraméterek nélkül kommunikálni, ezért beállítjuk az IP címét 192.168.1.10
-re, az alhálózati maszkját pedig szintén 255.255.255.0
-ra:

IP cím beállítása a Packet Tracer munkaállomásán.¶
Ezzel kiépítettük a hálózati kapcsolatot a két berendezés között, teszteljük annak működőképességét! Ezt két módon lehet megtenni:
Az eszköztár egy borítékot ábrázoló
Add a simple PDU (P)
gombjának megnyomása után az egérkurzor egy borítékká változik. Kattints először a munkaállomásra, majd a switchre! A képernyő jobb alsó részében levő téglalapban a Last Status oszlopban a Successful feliratnak kell megjelenni. (Főleg a későbbiekben előfordulhat, hogy a kapcsolat nem épül fel azonnal, ezért kétszer-háromszor is meg kell ismételni.)Egy másik, valószínűleg jobban ismert lehetőség a ping parancs alkalmazása, ehhez a PC desktopján a Command Promptot kell kiválasztani. A ping 192.168.1.1 parancsnak az alábbi kimenetet kell adnia:
C:\>ping 192.168.1.1
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
Reply from 192.168.1.1: bytes=32 time=8ms TTL=255
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255**
Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 8ms, Average = 2ms
A kimenetben a Reply From sorok jelzik, hogy a kapcsolat él, hálózati hiba, vagy nem létező cím esetén az alábbi típusú hiba jelenik meg (192.168.1.2 című gép nem létezik a hálózatban, így az nem is lesz pingelhető):
C:\>ping 192.168.1.2
Pinging 192.168.1.2 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.1.2:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
5.5. Telnet kapcsolat beállítása¶
Attól, hogy egy switch vagy router rendelkezik IP címmel, még nem konfigurálható távoli hozzáféréssel, ezt előbb engedélyezni kell. Először az alap beállításokat (host név megadása, IP cím beállítása) végezzük el, csak ez után következhet a távoli kapcsolat, a telnet engedélyezése. Ez meglehetősen egyszerű, 11-12 sorban látható módon a 16 lehetséges csatorna mindegyikén megköveteljük a telnetpass
jelszó megadását.
1Switch>ena
2Switch# conf term
3Enter configuration commands, one per line. End with CNTL/Z.
4Switch(config)# hostname S1
5S1(config)# int vlan 1
6S1(config-if)# ip address 192.168.1.2 255.255.255.0
7S1(config-if)# no sh
8%LINK-5-CHANGED: Interface Vlan1, changed state to up
9%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
10S1(config-if)# exit
11S1(config)# line vty 0 15
12S1(config-line)# password telnetpass
13S1(config)# end
14%SYS-5-CONFIG_I: Configured from console by console
Veszély
A telnet beállításával egy régi, ma már elavult protokollon alapuló hozzáférési eljárást engedélyeztünk. Mivel a telnet nem használ titkosítást, ezért alkalmazása csak védett hálózatban ajánlott, egy támadó a forgalom lehallgatásával könnyen megismerheti a kapcsolat létrehozásakor begépelt jelszavakat.
Teszteljük a távoli kapcsolat létrehozását a munkaállomásról! Állítsuk be az IP címét pl. 192.168.1.10
-re, majd kezdeményezzünk egy telnet kapcsolatot a switch felé:

Telnet kapcsolat felépítése a Packet Tracerben¶
A switch fogadja a távoli kapcsolatot, és a jelszó begépelése után megjelenik a prompt, lehetőséget biztosítva ezzel a berendezés távoli kezelésére.
Trying 192.168.1.2 ...Open
User Access Verification
Password: telnetpass
S1>
Érdemes tudni, hogy a távoli bejelentkezés esetén a privilégizált hozzáférési szintre csak akkor lehet továbblépni, ha azt jelszóval védtük. Ennek hiányában csak egy No password set üzenetet fogunk kapni.
1S1>ena
2% No password set.
3S1>
A telnet kapcsolat nagyon kényelmessé teszi a hálózati eszközök távoli menedzsmentjét, a konfigurációnk azonban ezt bármelyik munkaáálomásról lehetővé teszi. Biztonsági okokból ezt korlátozni kell úgy, hogy megadjuk, hogy mely gépekről kezdeményezhető ilyen típusú kapcsolat. Ezzel a hozzáférést csak ezekre a számítógépekre korlátozzuk.
A switch beállítását két lépésben végezzük el, először felveszünk egy TELNET-ACCESS
nevű hozzáférési listát, amihez hozzáadjuk a 192.168.1.10
IP című gépet (és csak azt). Következő lépésben pedig a 16 rendelkezésre álló telnet csatorna mindegyikét (vty 0 15
közt számozva) hozzárendeljük ehhez a hozzáférési listához.
S1> ena
S1# conf term
Enter configuration commands, one per line. End with CNTL/Z.
S1(config)# ip access-list standard TELNET-ACCESS
S1(config-std-nacl)# permit 192.168.1.10
S1(config-std-nacl)# exit
S1(config)# line vty 0 15
S1(config-line)# password telnetpass
S1(config-line)# access-class TELNET-ACCESS in
S1(config-line)# exit
S1(config)# exit
S1#
%SYS-5-CONFIG_I: Configured from console by console
Megjegyzés
A telnet parancs a munkaállomás parancssorából is használható.
Amennyiben a Windows rendszerekben szükség van a telnet-re, az ugyan rendelkezésre áll, de külön kell azt telepíteni.
5.6. SSH kapcsolat beállítása¶
Az SSH-t az operációs rendszerek c. tárgy során már megismertük, ezzel léptünk be egy távoli Unix operációs rendszerű számítógépbe. Az SSH modern, titkosított kommunikációt nyújt, így biztonságos módon csak ezzel érdemes távoli berendezésekbe belépni. A beállítása viszont bonyolultabb, mivel ehhez már felhasználót kell felvenni a rendszerbe, generálni kell a kapcsolat felépítéséhez szükséges kulcspárt, és a biztonságos megvalósításhoz számos más paramétert is meg kell határozni. Az alábbi példában az egyszerűség kedvéért csak egy minimális konfigurációt állítunk be:
1 sw-1> enable
2 sw-1# conf term
3 Enter configuration commands, one per line. End with CNTL/Z.
4 sw-1(config)# username admin
5 sw-1(config)# ip domain-name uni-eszterhazy.hu
6 sw-1(config)# crypto key generate rsa
7 The name for the keys will be: sw-1.uni-eszterhazy.hu
8 Choose the size of the key modulus in the range of 360 to 4096 for your
9 General Purpose Keys. Choosing a key modulus greater than 512 may take
10 a few minutes.
11 How many bits in the modulus [512]:
12 % Generating 512 bit RSA keys, keys will be non-exportable...[OK]
13 sw-1(config)# ip ssh version 2
14 *Mar 1 0:0:22.872: RSA key size needs to be at least 768 bits for ssh version 2
15 *Mar 1 0:0:22.872: %SSH-5-ENABLED: SSH 1.5 has been enabled
16 Please create RSA keys (of at least 768 bits size) to enable SSH v2.
17 sw-1(config)# line vty 0 15
18 sw-1(config-line)# password sshpass
19 sw-1(config-line)# privilege level 15
20 sw-1(config-line)# transport input ssh
21 sw-1(config-line)# login
22 sw-1(config-line)# end
A kapcsolat felépítése a Packet tracerben az munkaállomás Desktop programjaiban található SSH programmal történik:

SSH kapcsolat kiépítése¶
A jelszó megadás után (mely példánkban a sshpass
volt) sikeresen beléphetünk az eszköz konfigurációs felületére. Mivel a beállítások során a line vty 0 15 után kiadtunk a privilege level 15 parancsot is, ezért automatikusan a privilegizált módba lépünk be:
Password: sshpass
sw-1#
5.7. Feladatok¶
A Packet Tracerben telepíts egy 2960-24TT switchet, egy munkaállomást, és kösd össze őket egy konzolkábellel! Végezd el a jelszó beállításokat! Ellenőrizd, hogy a switch valóban kér-e jelszót a belépéshez, a privilegizált szinthez, a telnet és az ssh kapcsolatokhoz! (Letöltés.)

Kapcsold ki a jelszó kérését a konzolkábellel történő konfiguráláshoz!