#acl All:read <> = NetScreen IPv6 működés teszt = A teszt során azt vizsgáltuk, hogy a tűzfal berendezés IPv6 működése megfelel-e az IPv4 esetben alkalmazott működésnek, természetesen a két protokoll közötti eltérések (címzés, autokonfiguráció) figyelembevételével. Vizsgálandó protokollként az Internet hálózatokban leggyakrabban előforduló felhasználó protokollokat – http, ftp, telnet, ssh, ICMP ping – alkalmaztuk. A tesztek során biztonsági zónákat konfiguráltunk: A Juniper Netscreen berendezések a fizikai illetve logikai (VLAN) interfészeket a konfigurálás során biztonsági zónákhoz rendeljük hozzá. Az egyes biztonsági zónák közötti forgalom vezérlésére pedig a policy elemek szolgálnak. Az alapértelmezett '''biztonsági zónák''' a jól ismert untrust és trust és DMZ biztonsági zónákat foglalják magukba, azonban további biztonsági zónák felvételével a konfiguráció rugalmasan bővíthető. Minden egyes zónához egy vagy több interface rendelhető és zónánként külön-külön szabályozható a támadások elleni védelem módja és a menedzselhetőség. A biztonsági zónák beállíthatóak Layer 3 illetve Layer 2 alapú működésre, az első esetben a tűzfal az IP címek szempontjából router funkciót valósít meg, míg a második esetben Ethernet kapcsolóként viselkedik. A '''policy''' feladata az egyes biztonsági zónák között áthaladó forgalom szabályzása. Az alapértelmezett beállítás a forgalom tiltása minden lehetséges irányban. A policy létrehozásával a „zónaközi” forgalom vezérlése történik, megadva az engedélyezett forgalom típusát, a forrás és célcím tartományt, a felhasználói protokoll típusát, az engedélyezett időintervallumot. A legkevésbé korlátozó beállításokat alkalmazva, két zóna közötti tetszőleges típusú forgalmat engedélyezzük, az időbeni intervallum korlátozása nélkül. Ennél szűkebb policy beállítás esetén például az engedélyezett forgalom csak az adott biztonsági zóna egyetlen megadott host számítógépe és a másik biztonsági zóna egyetlen megadott host számítógépe között, kizárólag a beállított protokollon és az engedélyezett időpontban illetve időintervallumban lehetséges. == IPv6 tűzfal funkciók == Ebben a tesztfázisban olyan policy elemeket hoztunk létre, mely a megadott forgalomtípusnak megfelelő típusú alkalmazás (http, ftp, telnet, ssh, illetve tetszőleges alkalmazás) forgalmát engedi át. Forrás illetve célcím szerinti szűrést a policy elemek szándékosan nem tartalmaztak. Igy ugyanazok a policy elemek alkalmazhatóak mind IPv4 mind IPv6 forgalom esetén, mindössze a forrás és a cél címtartományt megadó policy beállítás (Any-IPv4 illetve Any-IPv6) került módosításra. A teszthálózat felépítését ezen az ábrán mutatjuk be: {{attachment:teszt_halo.png}} A kliensek a „Trust” biztonsági zónában, míg a szerverek az „Untrust” biztonsági zónában helyezkednek el. {{attachment:teszt_halo_netscreen_config.png}} A teszt első részében a minden protokollt átengedő policy (source=Any-IPv6, destination= Any-IPv6, service=ANY) került konfigurálásra, a Trust -> Untrust irányban, az „Enable” oszlop mutatja az engedélyezett policy-t. {{attachment:teszt_halo_netscreen_config_enable.png}} A tűzfal teljes konfigurációját a mellékelt file mutatja be: [[attachment:netscreen_config_ipv6_firewall.txt]] A teszt során az ICMP ping, telnet, ftp, ssh, http protokollok működését ellenőríztük, mindegyik protokoll esetén a kommunikáció sikeres volt. A mellékelt sniffer file mutatja az egyes protokollok esetén a forgalmat. [[attachment:ipv6_test.cap]] A tesztek további részében kikapcsoltuk a mindegyik protokollt átengedő service=ANY policy-t, és egyenként csak az adott protokollt engedélyező policy-t aktivizáltuk, majd ellenőríztük, hogy az adott protokoll sikeresen felépül, míg minden más protokoll blokkolásra kerül. * csak telnet policy esetén a forgalom ellenőrzése: {{attachment:ipv6_telnet.png}} * csak ftp policy esetén a forgalom ellenőrzése {{attachment:ipv6_ftp.png}} * csak ssh policy esetén a forgalom ellenőrzése {{attachment:ipv6_ssh.png}} * csak http protokoll esetén a forgalom ellenőrzése {{attachment:ipv6_http.png}} == Címfordítás IPv6 -> IPv4 irányban == Ha két végberendezés (munkaállomás, szerver stb) közül az egyik IPv6, míg a másik IPv4 protokollt futtat, a közöttük elhelyezkedő tűzfal képes az IP címek megfelelő átfordításával a két eszköz közötti együttműködésről gondoskodni. Amikor az adatcsomag áthalad a tűzfalon az IPv4/IPv6 határvonalon, a tűzfal mind a forrás, mind a célcímek esetén elvégzi a címek átfordítását a két protokoll között. A teszt során az IPv6 munkaállomás által az IPv4 szerverre kezdeményezett kapcsolat során szükséges címfordításhoz hoztuk létre a megfelelő policy-t. Az ábrán bemutatott módon a helyi IPv6 címek a tűzfalon átfordításra kerülnek a távoli IPv4 hálózat címeire. Amikor a helyi IPv6 host küldi az adott szolgáltatást felépítő adatfolyamot, a tűzfal a MIP (mapped IP) beállításban megadott szabály szerint konvertálja a célcímet (destination address) a távoli hálózat IPv4 címre. Az IPv6 forráscím átfordítása IPv4 forráscímre pedig a DIP (dynamic IP) beállításban megadott szabály szint történik. {{attachment:ipv6_ipv4_network.png}} A tesztek során alkalmazott tűzfal beállítások az alábbiak: * MIP (mapped IP) beállítás a célcímek IPv6-ról IP4-re történő átfordításához: {{attachment:ipv6_ipv4_mip.png}} * DIP (dynamic IP) a forráscímek IPv6-ról IP4-re történő átfordításához {{attachment:ipv6_ipv4_dip.png}} * statikus útvonal megadása, mely a távoli (IPv4) routerre mutat. Esetünkben default route-t (0.0.0.0/0) alkalmaztunk. {{attachment:ipv6_ipv4_static.png}} * Policy létrehozás a Trust -> Untrust irányban, az előzőekben alkalmazott beállításokkal {{attachment:ipv6_ipv4_policy_config.png}} {{attachment:ipv6_ipv4_policy_config2.png}} A teljes tűzfal konfiguráció szöveges formában a mellékelt file szerinti parancsokat tartalmazza: [[attachment:ipv6_ipv4_config.txt]] A tesztek során alkalmazott protokollok számára a NAT-PT működés szerinti címzést alkalmaztuk, az IPv6 cél cím magában foglalja a kívánt IPv4 címet. * telnet protokoll teszt ({{{telnet 2001:738:10:1::192.168.101.10}}} ) {{attachment:ipv6_ipv4_telnet.png}} * ftp teszt ({{{ftp 2001:738:10:1::192.168.101.10 }}}) {{attachment:ipv6_ipv4_ftp.png}} * ssh teszt ({{{ssh 2001:738:10:1::192.168.101.10}}} ) {{attachment:ipv6_ipv4_ssh.png}} * http teszt ({{{http://[2001:738:10:1::192.168.101.10]/testpage3.html }}}) {{attachment:ipv6_ipv4_http.png}} Az adatforgalmat mind az IPv6, mind az IPv4 oldalon sniffer file-ba mentettük, melyeket mellékelünk. A sniffer file-ok jól mutatják az IP címek átfordítását. * [[attachment:ipv6_ipv4_ipv6side.cap]] * [[attachment:ipv6_ipv4_ipv4side.cap]] == Címfordítás IPv4 -> IPv6 irányban == Ha két végberendezés (munkaállomás, szerver stb) közül az egyik IPv4, míg a másik IPv6 protokollt futtat, a közöttük elhelyezkedő tűzfal képes az IP címek megfelelő átfordításával a két eszköz közötti együttműködésről gondoskodni. Amikor az adatcsomag áthalad a tűzfalon az IPv4/IPv6 határvonalon, a tűzfal mind a forrás, mind a célcímek esetén elvégzi a címek átfordítását a két protokoll között. A teszt során az IPv4 munkaállomás által az IPv6 szerverre kezdeményezett kapcsolat során szükséges címfordításhoz hoztuk létre a megfelelő policy-t. Az ábrán bemutatott módon a helyi IPv4 címek a tűzfalon átfordításra kerülnek a távoli IPv6 hálózat címeire. Amikor a helyi IPv4 host küldi az adott szolgáltatást felépítő adatfolyamot, a tűzfal a MIP (mapped IP) beállításban megadott szabály szerint konvertálja a célcímet (destination address) a távoli hálózat IPv6 címre. Az IPv4 forráscím átfordítása IPv6 forráscímmé pedig a DIP (dynamic IP) beállításban megadott szabály szint történik. {{attachment:ipv4_ipv6_network.png}} A tesztek során alkalmazott tűzfal beállítások az alábbiak: * MIP mapped IP beállítás a célcímek IPv4-ről IPv6-ra történő átfordításához: {{attachment:ipv4_ipv6_mip.png}} * DIP (dynamic IP) a forráscímek IPv4-ről IPv6-ra történő átfordításához {{attachment:ipv4_ipv6_dip.png}} * statikus útvonal megadása, mely a távoli (IPv6) routerre mutat. Esetünkben default route-t (::/0) alkalmaztunk. {{attachment:ipv4_ipv6_static.png}} Policy létrehozás a Trust -> Untrust irányban, az előzőekben alkalmazott beállításokkal {{attachment:ipv4_ipv6_policy.png}} {{attachment:ipv4_ipv6_policy2.png}} A teljes tűzfal konfiguráció szöveges formában a mellékelt file szerinti parancsokat tartalmazza: [[attachment:ipv4_ipv6_config.txt]] A tesztek során alkalmazott protokollok a telnet, ftp, ssh, http. * telnet protokoll teszt {{attachment:ipv4_ipv6_telnet.png}} * ftp protokoll teszt {{attachment:ipv4_ipv6_ftp.png}} * ssh protokoll teszt {{attachment:ipv4_ipv6_ssh.png}} * http protokoll teszt {{attachment:ipv4_ipv6_http.png}} Az adatforgalmat mind az IPv4, mind az IPv6 oldalon sniffer file-ba mentettük, melyeket mellékelünk. A sniffer file-ok jól mutatják az IP címek átfordítását. * [[attachment:ipv4_ipv6_ipv6side.cap]] * [[attachment:ipv4_ipv6_ipv4side.cap]] == Értékelés == A tűzfal IPv6 tesztek a laborban egyértelműen pozitív eredménnyel zárultak: a végberendezések (kliens Windows XP SP2, szerver Sun Solaris 9) képesek voltak egymással kommunikálni, mind a natív IPv6 esetén, mind a tűzfal által megvalósított IPv6 -> IPv4 illetve IPv4 -> IPv6 cím átfordítás esetén.