Pääsylistat - papaya.ictlab.kyamk.fi serveri (alias www, cisco)

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 IPv6liikenteen 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
Opinnäytetyön nimi | Olli Opiskelija
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
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
IPv6-yhteyksien testaaminen sekä niiden
pääsylistat
•ICMP6-viestien testaus KOTKA-puolen
testipalvelimelta(FPING-script)
Opinnäytetyön nimi | Olli Opiskelija
27.4.2011
11
IPv6-yhteyksien testaaminen sekä niiden
pääsylistat
•IPv6 WWW-palvelin
•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-yhteyksien testaaminen sekä niiden
pääsylistat
•IPv6 FTP-palvelin
•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-yhteyksien testaaminen sekä niiden
pääsylistat
•IPv6 SSH-hallintayhteys
•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-yhteyksien testaaminen sekä niiden
pääsylistat
•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
Pääsylistat:
ipv6 access-list V6MGMT permit tcp 2a00:1dd0:100:ffff::/64 host 2a00:1dd0:100:ffff::1 eq www
ipv6 access-list V6MGMT permit tcp 2a00:1dd0:100:ffff::/64 host 2a00:1dd0:100:ffff::1 eq https
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 IPv6verkkoja.
• 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 IPv6yhteys 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
Hauki
KYMP
KALAVERKKO
2a00:1dd0:100:101::20
PE3
PE4
G3
/0
/2
2a00:1dd0:0:200::1
e0/0
Outside
1
SIMUNET
2
Cisco
ASA
5510
VLAN 140
2a00:1dd0:100:100::1/64
E0/1
Inside
Lisäkytkin
WWW-Palvelin
Papaya
L3-kytkin
Lohi
Kuha
2
2a00:1dd0:100:f001::/64 2a00:1dd0:100:100::/64
•
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 IPv6Internetiin.
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
Opinnäytetyön nimi | Olli Opiskelija
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
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