Opinnäytetyön loppuseminaari 19.4.2011 Opinnäytetyön nimi: Palomuurien IPv6-migraatio Riku Leinonen TI07TIVE Toimeksiantaja yritys: Optimiratkaisut Oy Ohjaava opettaja: Martti Kettunen Työ liittyy hankkeeseen: SimuNet Arvioitu valmistumispäivä: 27.5.2011
Johdanto IPv4-osoitteiden nopea väheneminen maailmalla ajaa yrityksiä siirtymään IPv6 osoitteisiin. Tämä opinnäytetyö on tehty Optimiratkaisut OY:n toimeksiantona. Työ on tehty Kymenlaakson ammattikorkeakoulun SimuNet ympäristössä sekä puhtaassa laboratorioympäristössä. Tämä opinnäytetyö on suuntautunut tutkimaan palomuurien IPv6-ominaisuuksia ja asioita joita täytyy ottaa huomioon IPv6-liikenteeseen siirryttäessä, erityisesti Ciscon Asa 5510 -palomuureissa. Käytännönkokeissa on ollut tarkoituksena selvittää mitä muutoksia IPv4 -osoitteilla toimivaan palomuuriin on tehtävä että se toimisi myös IPv6- liikenteen kanssa sekä miten erilaiset tunnelit ja yhteydet toimivat IPv6-osoitteilla. Opinnäytetyön nimi Olli Opiskelija 27.4.2011 2
IPv6-migraatio palomuureissa Dual-Stack IPv6-osoitteet IPv4-osoitteiden rinnalle Helppo lisätä käytössä olevaan IPv4-palomuuriin Kummatkin protokollat toimivat erikseen Voi heikentää palomuurin suorituskykyä Natiivi IPv6-palomuuri Pelkästään IPv6-osoitteita Helpompi ja yksinkertaisempi hallita, kun suodattaa vain yhden protokollan liikennettä Opinnäytetyön nimi Olli Opiskelija 27.4.2011 3
SimuNetin IPv6-testiympäristö Opinnäytetyön nimi Olli Opiskelija 27.4.2011 4
Dual-Stack SimuNetin palomuureihin Palomuurien päivitys versioon 8.2(3) IPv6-liityntäporttien määrittäminen IPv6-reititys IPv6-liikenteen suodatus(pääsylistat) Opinnäytetyön nimi Olli Opiskelija 27.4.2011 5
Dual-Stack SimuNetin palomuureihin IPv6-osoitetyypit liityntäporteissa: Julkinen osoite ciscoasa(config-if)# ipv6 address 2a00:1dd0:100:a1fa::1/64 Stateless autoconfiguration ciscoasa(config-if)#ipv6 address autoconfig Link-local ciscoasa(config-if)# ipv6 address fe80:a1::1 link-local IPv6 enable ciscoasa(config-if)# ipv6 enable EUI-64 ciscoasa(config-if)#ipv6 address 2001:db8:: /64 eui 64 show ipv6 interface f0/0 Global unicast address(es): 2001:DB8::212:7FFF:FEEB:6B40, subnet is 2001:DB8::/64 [EUI/TEN] Opinnäytetyön nimi Olli Opiskelija 27.4.2011 6
Dual-Stack SimuNetin palomuureihin Liityntäporttien määrittäminen KOTKA-context interface Ethernet0/0.10 nameif outside security-level 0 ipv6 address 2a00:1dd0:100:00a1::1/64 ipv6 address fe80:a1::1 link-local! interface Ethernet0/0.100 nameif inside security-level 100 ipv6 address 2a00:1dd0:100:00b1::1/64 ipv6 address fe80:b1::1 link-local ciscoasa/kotka# show ipv6 interface inside inside is up, line protocol is up IPv6 is enabled, link-local address is fe80:b1::1 Global unicast address(es): 2a00:1dd0:100:b1::1, subnet is 2a00:1dd0:100:b1::/64 Opinnäytetyön nimi Olli Opiskelija 27.4.2011 7
Dual-Stack SimuNetin palomuureihin IPv6-reititys Molempiin konteksteihin oletusreitit PE-laitteiden HSRP:n tarjoamaan link-localosoitteeseen. KOTKA-context: ipv6 route outside ::/0 fe80::1 KOUVOLA-context: ipv6 route outside ::/0 fe80::2 ciscoasa/kotka# show ipv6 route IPv6 Routing Table - 7 entries Codes: C - Connected, L - Local, S - Static L 2a00:1dd0:100:a1::1/128 [0/0] via ::, outside C 2a00:1dd0:100:a1::/64 [0/0] via ::, outside L 2a00:1dd0:100:b1::1/128 [0/0] via ::, inside C 2a00:1dd0:100:b1::/64 [0/0] via ::, inside L fe80::/10 [0/0] via ::, outside via ::, inside L ff00::/8 [0/0] via ::, outside via ::, inside S ::/0 [0/0] via fe80::1, outside Opinnäytetyön nimi Olli Opiskelija 27.4.2011 8
IPv6-yhteyksien testaaminen sekä niiden pääsylistat ICMP6-viestit IPv6 WWW-palvelin IPv6 FTP-palvelin IPv6 SSH-hallintayhteys IPv6 ja ASDM Opinnäytetyön nimi Olli Opiskelija 27.4.2011 9
IPv6-yhteyksien testaaminen sekä niiden pääsylistat ICMP6-viestit Pääsylista ipv6 access-list SPOLICY_IN permit icmp6 2a00:1dd0:100::/48 2a00:1dd0:100:00b1::/64 echo ipv6 access-list SPOLICY_IN deny ip any any access-group SPOLICY_IN in interface outside ICMP inspection ICMP inspection-tarkkailu ohjaa ICMP6-viestit palomuurin läpi. ciscoasa/kotka(config)# class-map icmp_class ciscoasa/kotka (config-cmap)# match default-inspection-traffic ciscoasa/kotka (config-cmap)# exit ciscoasa/kotka (config)# policy-map icmp_policy ciscoasa/kotka (config-pmap)# class icmp_class ciscoasa/kotka (config-pmap-c)# inspect icmp ciscoasa/kotka (config-pmap-c)# exit ciscoasa/kotka (config)# service-policy icmp_policy interface outside Opinnäytetyön nimi Olli Opiskelija 27.4.2011 10
ICMP6-viestien testaus KOTKA-puolen testipalvelimelta(fping-script) IPv6-yhteyksien testaaminen sekä niiden pääsylistat Opinnäytetyön nimi Olli Opiskelija 27.4.2011 11
IPv6 WWW-palvelin Pääsylistat IPv6-yhteyksien testaaminen sekä niiden pääsylistat ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:00b1::200 eq https ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:00b1::200 eq www access-group SPOLICY_IN in interface outside Opinnäytetyön nimi Olli Opiskelija 27.4.2011 12
IPv6 FTP-palvelin Pääsylistat IPv6-yhteyksien testaaminen sekä niiden pääsylistat ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:00b1::200 eq ftp ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:00b1::200 eq ftp-data access-group SPOLICY_IN in interface outside Opinnäytetyön nimi Olli Opiskelija 27.4.2011 13
IPv6 SSH-hallintayhteys Pääsylistat IPv6-yhteyksien testaaminen sekä niiden pääsylistat ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:00a1::1 eq ssh access-group SPOLICY_IN in interface outside Konfiguraatiot enable password ***** username asakotka password ********** aaa authentication ssh console LOCAL ssh ::/0 outside ssh 2a00:1dd0:100:00b1::/64 inside domain-name CISCO.ORG crypto key generate rsa modulus 1024 Opinnäytetyön nimi Olli Opiskelija 27.4.2011 14
IPv6 ja ASDM 6.3(3) Konfiguraatiot System-context: context admin allocate-interface Management0/0! interface Management0/0 no shutdown Admin-context: interface Management0/0 nameif management ipv6 address 2a00:1dd0:100:ffff::1/64 management-only! http server enable http 2a00:1dd0:100:ffff::/64 management IPv6-yhteyksien testaaminen sekä niiden pääsylistat Pääsylistat: ipv6 access-list V6MGMT permit tcp 2a00:1dd0:100:ffff::/64 host 2a00:1dd0:100:ffff::1 eqwww ipv6 access-list V6MGMT permit tcp 2a00:1dd0:100:ffff::/64 host 2a00:1dd0:100:ffff::1 eqhttps access-group V6MGMT in interface management Opinnäytetyön nimi Olli Opiskelija 27.4.2011 15
IPv6-yhteyksien testaaminen sekä niiden pääsylistat ASDM 6.3(3) tuki lähestulkoon kaikkia IPv6-ominaisuuksia, lukuunottamatta VPN-tunneleita, koska ASAn 8.2-versio ei tue IPv6-tunneleita. Tunneleita tuetaan vain tätä versiota uudemmilla versioilla, koska IPv6-tunnelit tarvitsevat vähintään ASAn version 8.3. Opinnäytetyön nimi Olli Opiskelija 27.4.2011 16
IPv6-tunnelit Cisco ASA -palomuureissa ASAn versiot 8.3 ja uudemmat tukevat natiivina ainoastaan IPv6 LAN-to-LAN tunnelia. Laboratorioympäristössä testatut tunnelit: LAN-to-LAN IPSec VPN SSL VPN Opinnäytetyön nimi Olli Opiskelija 27.4.2011 17
SSL VPN SSL VPN tunneli muodostettiin IPv4-osoitteilla ja tunnelin läpi liikennöitiin IPv6-osoitteilla. Mikään Cisco ASAn käyttöjärjestelmäversioista ei vielä tukenut natiivia IPv6 SSL VPN tunnelia. SSL VPN tunnelin testissä käytettiin myös AnyConnect 3.0 asiakasohjelmaa. Opinnäytetyön nimi Olli Opiskelija 27.4.2011 18
SSL VPN IPv4 SSL VPN tunnelin konfiguraatioon piti tehdä seuraavat muutokset: 1. IPv6-osoitteen lisääminen inside-porttiin interface Ethernet0/1 nameif inside ipv6 address 2001:db8:1::100/64 2. IPv6-osoite- poolin luominen ipv6 local pool ipv6pool 2001:db8:1::1000/64 10 3. IPv6-poolin lisääminen tunnelointiryhmien asetuksiin tunnel-group TestiVPN general-attributes address-pool insidepool ipv6-address-pool ipv6pool tunnel-group ipsecvpn general-attributes address-pool insidepool ipv6-address-pool ipv6pool 4. IPv6 oletusreitin lisääminen sisäverkon suuntaan, käyttäen tunneled-käskyä ipv6 route inside ::/0 2001:db8:1::1111 tunneled Opinnäytetyön nimi Olli Opiskelija 27.4.2011 19
SSL VPN SSL VPN tunnelin toimivuuden testaus IPv6-liikenteellä Opinnäytetyön nimi Olli Opiskelija 27.4.2011 20
IPv6 LAN-to-LAN IPSec VPN Molemmat palomuurit päivitettiin ASAn käyttöjärjestelmäversioon 8.4(1) LAN-to-LAN tunnelin muodostukseen käytettiin vain IPv6-osoitteita. Testin ulko- ja sisäverkot olivat kaikki natiiveja IPv6- verkkoja. Tunnelissa käytettiin IKEv2-avaintenvaihtoprotokollaa Opinnäytetyön nimi Olli Opiskelija 27.4.2011 21
IPv6 LAN-to-LAN IPSec VPN Ennen kuin itse IPv6 LAN-to-LAN tunnelia käytiin konfiguroimaan oli hyvä varmistaa että perus IPv6- yhteys toimi kohdeverkkojen välillä. Esim. laitteiden reitit olivat oikein määritettyjä. Tunnelin konfigurointivaiheet 1. ISAKMP-policyn konfigurointi ja sen liittäminen outside porttiin 2. IKEv2 Proposal-asetusten konfigurointi 3. IPv6-pääsylistat tunnelin kohdeverkkojen välille 4. Tunnelointi-ryhmän määritykset 5. Crypto map -määritykset Opinnäytetyön nimi Olli Opiskelija 27.4.2011 22
IPv6 LAN-to-LAN IPSec VPN Tunnelin testaus Opinnäytetyön nimi Olli Opiskelija 27.4.2011 23
Natiivi IPv6-palomuuri SimuNetiin KYMP 2a00:1dd0:0:200::1 PE3 PE4 SIMUNET Cisco ASA 5510 e0/0 E0/1 Outside Inside 1 2 2 G3/0/2 2a00:1dd0:100:f001::/64 Lisäkytkin 2a00:1dd0:100:100::/64 KALAVERKKO VLAN 140 2a00:1dd0:100:100::1/64 L3-kytkin Lohi Hauki WWW-Palvelin Papaya 2a00:1dd0:100:101::20 Kuha Palomuuri päivitettiin uusimpaan 8.4(1)-versioon ICTLAB-ympäristö liitettiin IPv6-Internetiin SimuNetin kautta. Palomuuri lisättiin SimuNetin ja ICTLAB-ympäristön väliin suodattamaan vain IPv6-liikennettä. ICTLAB-ympäristön WWW-palvelin Papaya liitettiin myös IPv6- Internetiin. Opinnäytetyön nimi Olli Opiskelija 27.4.2011 24
Natiivi IPv6-palomuuri SimuNetiin Natiiviin IPv6-palomuuriin konfigurointi Liityntäportit interface Ethernet0/0 nameif outside security-level 0 ipv6 address 2a00:1dd0:100:f001::2/64! interface Ethernet0/1 nameif inside security-level 100 ipv6 address 2a00:1dd0:100:100::2/64 ICMP inspection class-map icmp_class match default-inspection-traffic policy-map icmp_policy class icmp_class inspect icmp service-policy icmp_policy interface outside IPv6-reititys ipv6 route inside 2a00:1dd0:100:100::/56 2a00:1dd0:100:100::1 ipv6 route outside ::/0 2a00:1dd0:100:f001::1 Pääsylistat ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:101::20 eq www ipv6 access-list SPOLICY_IN permit tcp any host 2a00:1dd0:100:101::20 eq https ipv6 access-list SPOLICY_IN permit icmp6 any any echo ipv6 access-list SPOLICY_IN permit icmp6 any any echo-reply ipv6 access-list SPOLICY_IN deny ip any any access-group SPOLICY_IN in interface outside Opinnäytetyön nimi Olli Opiskelija 27.4.2011 25
Natiivi IPv6-palomuuri SimuNetiin Natiiviin IPv6-palomuuriin ja IPv6-yhteyden testaus Yhteyttä testattiin pingaamalla ipv6.google.comia onnistuneesti asiakaskoneelta ja tämän jälkeen avattiin ICTLAB-ympäristön IPv6-kotisivut Teredo-tunnelin avulla Opinnäytetyön nimi Olli Opiskelija 27.4.2011 26
Tulosten tarkastelu ja päätelmät Natiivi IPv6 palomuuri auttaa SimuNetiä siirtymään IPv6-protokollaan ja on SimuNetin ensimmäisiä natiiveja IPv6-laitteita. ASA järjestelmäversio 8.2(3) todettiin toimivaksi IPv6-liikenteen kanssa, käyttäen Dual-Stack-ominaisuutta. Uudemmat versiot tuovat lisää IPv6-ominaisuuksia, mutta vaativat muistipäivityksen. -Muun muassa IPv6-tunnelit. Uusimmatkaan käyttöjärjestelmäversiot eivät kuitenkaan kykene vielä tarjoamaan kaikkia ominaisuuksia IPv6-osoitteita käytettäessä. Opinnäytetyön nimi Olli Opiskelija 27.4.2011 27