KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / Tietoverkkotekniikka Riku Oinonen Simunetin Palomuurit Projektiopinnot A270027
SISÄLLYS TIIVISTELMÄ ABSTRACT 1 JOHDANTO 3 2 L2VPN 3 2.1 VPLS 3 2.2 SVI-BASED EOMPLS 3 2.3 PORT-BASED EOMPLS 3 3 PALOMUURIT 4 3.1 Topologia 4 3.2 Failover 6 4 PALVELINKLUSTERI 7 LÄHTEET 8 LIITTEET Liite 1. ASA system konfiguraatio Liite 2. kotka.cfg Liite 3. kouvola.cfg
3 1 JOHDANTO Simunettiin asennettiin kaksi ASA 5510 palomuuria palvelinfarmin edustalle. Palomuuria tarvitaan turvaamaan palvelimia mahdollisilta hyökkäyksiltä suodattamalla tarpeeton liikenne pois. Palomuurilaitteet on kahdennettu, jotta yhden palomuurin vikaantuminen ei pysäyttäisi serverifarmin liikennettä. 2 L2VPN-PALVELUT 2.1 VPLS-palvelu VPLS on palvelu jonka avulla voidaan liittää useita eri puolella MPLS-verkkoa sijaitsevia Ethernet-lähiverkkoja L2-tasolla toisiinsa. Laitteisiin luodaan VPLS-instanssi, jonka alle lisätään kaikki saman instanssin omaavat naapurilaitteet. VPLS luo monesta moneen periaatteella laitteiden välille Pseudo-Wire yhteydet, yhdistäen laitteet samaan pilveen. Pakettien kytkentä pilven sisällä tapahtuu perustuen kohde MACosoitteisiin, aivan kuten tavallisessa L2-kytkimessä. 2.2 SVI-BASED EOMPLS -palvelu SVI-based EoMPLS -tekniikan avulla voidaan luoda point-to-point -tyyppinen tunneli laitteiden bridge-domain -alueiden välille, jolloin laitteet osaavat kytkeä paketteja MAC-osoitteiden perusteella keskenään. Se toimii siis samankaltaisesti kuin VPLS, mutta naapurilaitteita ei voi olla enempää kuin yksi. 2.3 PORT-BASED EOMPLS -tekniikka Port-based EoMPLS palvelu muodostaa L2 point-to-point tyyppisen tunnelin kahden naapurilaitteen fyysisten- tai aliliityntäporttien välille. Laitteet eivät kytke paketteja millään tavoin, vaan Ethernet-liikenne kulkee suoraan tunnelin läpi kohdeporttiin.
4 3 PALOMUURIT 3.1 Topologia ASA ASA C2800 CE C2800 CE (H-VPLS) (H-VPLS) Lo0 172.3.0.2 / 32 Lo0 172.30.0.2 / 32 Int g3/1/0 Int g3/1/0 C7604 PE3 PE4 C7604 DSLAM Int g3/0/1 192.168.13.3 Int g3/0/0 192.168.23.3 Int g3/0/0 192.168.14.4 Int g3/0/1 192.168.24.4 iscsi Fib. Fib. Cu Cu Server Int g2/1 192.168.13.1 Int g2/3 192.168.14.1 Int g2/3 192.168.23.2 Int g2/1 192.168.24.2 Server P1 Fib. P2 Lo0 172.31.0.1 / 32 C6500 Int g2/2 192.168.12.1 Int g2/2 192.168.12.2 C6500 Lo0 172.30.0.1 / 32 EISP Site1 Site2 EISP Kuva 1. Palomuurien fyysinen kytkentä Palomuurit on kytketty yksikätisinä PE-laitteisiin. Sekä inside- että outside-puolen liikenne kuljetaan tätä yhtä linkkiä pitkin eri :eissa ja päätetään palomuurin päässä aliliityntäportteihin. PE-laitteen päässä portti on EVC-portti, mutta se on konfiguroitu toimimaan dot1q-trunkin tavoin. Portissa on jokaista :ia kohti oma service-instance, jolla liikenne napataan ja sitten liitetään haluttuun bridge-domainiin. Dot1Q trunk - portti automaattisesti poistaa -tagin porttiin saapuvalta paketilta ja ohjaa sen tagin osoittamaan bridge-domainiin. Portista lähtevälle paketille tagi taas lisätään. Jotta EVC-portin saa käyttäytymään dot1q trunk - portin tavoin, on siihen määritettävä tämä manuaalisesti.
5 ASA 5510 CONTEXT1 10 100 CONTEXT2 20 200 CONTEXT1 10 100 CONTEXT2 20 200 inside inside outside outside inside inside outside outside 100 10 PE3 PE4 100 10 200 20 200 20 VPLS SVI-based EoMPLS simunet-srv1 Kuva 2. Palomuurien looginen kytkentä simunet-srv2 Kuvan 2 :it edustavat jokainen omaa bridge-domainia, eli jokainen on oma levitysviestialueensa, jonka kautta siihen liitetyt laitteet pääsevät liikennöimään keskenään L2-tasolla. Palomuurin käytössä on neljä :ia: 10, 20, 100 ja 200. :ien 10 ja 20 kautta palomuurien outside-portit liikennöivät verkkoon. :ien 100 ja 200 kautta palvelinfarmin palvelimet tarttuvat kiinni palomuurin inside puolelle. :eille 10 ja 20 on luotu molempiin PE-laitteisiin VPLS-instanssit Palomuuri1 ja Palomuuri2. Instanssien sisälle on lisätty naapuri PE-laite ja bridge-domainit linkitetty instanssien kautta keskenään. :ien 100 ja 200 bridge-domainit on yhdistetty linkittämällä bridge-domainit suoraan keskenään SVI-Based EoMPLS:än avulla. Tällä tavalla on saatu aikaan sama toiminnallisuus kuin VPLS:än avulla.
6 Taulukko 1. Palomuurien IPv4-osoitteet CONTEXT Portti IPv4 GW (IPv4) kotka.cfg outside 172.30.1.0/29 172.30.1.5 kotka.cfg inside 172.30.2.0/24 - kouvola.cfg outside 172.31.1.0/29 172.31.1.5 kouvola.cfg inside 172.31.2.0/24 - Taulukko 2. Palomuurien IPv6-osoitteet CONTEXT Portti IPv6 IPv6 link-local GW (IPv6) kotka.cfg outside 2a00:1dd0:100:a5a1::1/64 fe80::2a0:c9ff:fe00:102 fe80::5:73ff:fea0:6e kotka.cfg inside 2a00:1dd0:100:a1fa::1/64 fe80::2a0:c9ff:fe00:102 - kouvola.cfg outside 2a00:1dd0:100:a5a2::1/64 fe80::2a0:c9ff:fe00:201 fe80::5:73ff:fea0:78 kouvola.cfg inside 2a00:1dd0:100:be7a::1/64 fe80::2a0:c9ff:fe00:201-3.2 Failover Palomuureissa on kaksi contextia. Contexti edustaa yhtä virtuaalista palomuuria ja näistä kumpikin kuuluu omaan failover-ryhmäänsä. Failover-ryhmä on aktiivinen vain yhdessä laitteessa kerrallaan ja vikaantuessaan se vaihtaa automaattisesti standbytilaan, jolloin toinen laite omaksuu kyseisen failover-ryhmän contextien sisältämät IPja MAC-osoitteet. Normaalitilanteessa siis molemmissa laitteissa on yksi failoverryhmä aktiivisena ja yksi standby-tilassa. Simunetin palomuureihin on konfiguroitu myös stateful-failover. Sen avulla laitteet lähettävät kokoajan tilatietoja toisilleen, joten vian sattuessa aktiiviset yhteydet pysyvät ylhäällä. Stateful-linkin kautta siirtyvät esimerkiksi ARP-taulu, osoitemuunnostaulu sekä aktiivisten TCP- ja UDP-yhteyksien tiedot. Palomuurien tarvitsee päästä kommunikoimaan keskenään failover-yhteyden kautta. Failover-yhteyttä ei ollut mahdollista konfiguroida contextien aliliityntä porttien rinnalle samaan porttiin, vaan sille piti varata laitteesta oma fyysinen portti. Failoverliikenne kuljetetaan palomuurilta toiselle EoMPLS-tunnelissa joka on konfiguroitu PE-laitteiden porttien G1/8 välille.
7. 4 PALVELINKLUSTERI Simunetin klusteriin uutta virtuaalipalvelinta luodessa, voidaan palvelimen verkkokortiksi valita joko Client 100 tai Client 200. Palomuurit eivät osaa itse tehdä kuormanjakoa, vaan se on tehtävä lisäämällä osa palvelimista :iin 100 ja osa :iin 200. Palvelimilta lähtevään liikenteeseen lisätään tagi valinnan mukaan ja se ohjautuu sen perusteella kyseisen :in liikennettä käsittelevään palomuuri contextiin. Palomuurit eivät osaa itse tehdä kuormanjakoa, vaan se on tehtävä lisäämällä osa palvelimista :iin 100 ja osa :iin 200. Simunetin vasemmanpuoleisen eli parittomilla luvuilla numeroidut laitteet omaavan räkin palomuuri pyörittää aktiivisena contextia :ille 100 ja tällä puolella myös sijaitsee simunetsrv1, vastaavasti toisessa räkissä sijaitsevat simunet-srv2 ja 200 contextin aktiivinen puoli. Simunetin räkeillä voidaan ajatella olevan jonkin verran maantieteellistä välimatkaa, joten jotta liikenne ensitilassa kulkisi lyhyintä ja järkevintä reittiä tulisi simunet-srv1 host-laitteessa pyörivät palvelimet liittää ensisijaisesti :iin 100 ja vastaavasti simunet-srv2 host-laitteessa pyörivät palvelimet :iin 200.
8 LÄHTEET Cisco ASA 5500 Series Configuration Guide using the CLI. Saatavissa: http://www.cisco.com/en/us/docs/security/asa/asa82/configuration/guide/asa82cfg.pd [viitattu 16.12.2010]. Configuring Bridge Domain Interfaces. Saatavissa: http://www.cisco.com/en/us/docs/routers/asr1000/configuration/guide/chassis/bdi.ht ml [viitattu 16.12.2010] Moreno, V. & Reddy, K. 2006. Network Virtualization. Cisco Press. Tassos. 2009. EVC: Flexible Service Mapping. Saatavissa: http://ccie-in-3- months.blogspot.com/2009/09/evc-flexible-service-mapping.html [viitattu 16.12.2010
9 Liite 1. ASA system konfiguraatio ASA Version 8.2(3) <system> hostname ciscoasa enable password 8Ry2YjIyt7RRXU24 encrypted no mac-address auto interface Ethernet0/0 interface Ethernet0/0.3 no vlan interface Ethernet0/0.10 vlan 10 interface Ethernet0/0.20 vlan 20 interface Ethernet0/0.100 vlan 100 interface Ethernet0/0.200 vlan 200 interface Ethernet0/1 description LAN/STATE Failover Interface interface Ethernet0/2 interface Ethernet0/3 shutdown interface Management0/0 shutdown class default limit-resource All 0 limit-resource ASDM 5 limit-resource SSH 5 limit-resource Telnet 5 boot system disk0:/asa823-k8.bin ftp mode passive pager lines 24 failover failover lan unit primary failover lan interface failint Ethernet0/1 failover link failint Ethernet0/1 failover interface ip failint 172.30.1.10255.255.255.248 standby 172.30.1.11
10 failover group 1 preempt 600 failover group 2 secondary preempt 600 asdm image disk0:/asdm-634-53.bin no asdm history enable arp timeout 14400 console timeout 0 admin-context admin context admin allocate-interface Ethernet0/2 allocate-interface Management0/0 config-url disk0:/admin.cfg context KOTKA allocate-interface Ethernet0/0.10 allocate-interface Ethernet0/0.100 config-url disk0:/kotka.cfg join-failover-group 1 context KOUVOLA allocate-interface Ethernet0/0.20 allocate-interface Ethernet0/0.200 config-url disk0:/kouvola.cfg join-failover-group 2 prompt hostname context call-home profile CiscoTAC-1 no active destination address http https://tools.cisco.com/its/service/oddce/services/ddceservice destination address email callhome@cisco.com destination transport-method http subscribe-to-alert-group diagnostic subscribe-to-alert-group environment subscribe-to-alert-group inventory periodic monthly subscribe-to-alert-group configuration periodic monthly subscribe-to-alert-group telemetry periodic daily Cryptochecksum:d276df10229d0e883ae7252decf27375 : end
11 Liite 2. kotka.cfg ASA Version 8.2(3) hostname KOTKA enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted names interface Ethernet0/0.10 nameif outside security-level 0 ip address 172.30.1.1 255.255.255.248 standby 172.30.1.2 ipv6 address 2a00:1dd0:100:a5a1::1/64 ipv6 enable interface Ethernet0/0.100 nameif inside security-level 100 ip address 172.30.2.1 255.255.255.0 standby 172.30.2.2 ipv6 address 2a00:1dd0:100:a1fa::1/64 ipv6 enable pager lines 24 mtu outside 1500 mtu inside 1500 ipv6 route outside ::/0 fe80::5:73ff:fea0:6e ipv6 access-list DNS permit udp any host 2a00:1dd0:100:a1fa::100 eq domain ipv6 access-list DNS permit tcp any host 2a00:1dd0:100:a1fa::100 eq domain icmp unreachable rate-limit 1 burst-size 1 no asdm history enable arp timeout 14400 route outside 0.0.0.0 0.0.0.0 172.30.1.5 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute timeout tcp-proxy-reassembly 0:01:00 no snmp-server location no snmp-server contact telnet timeout 5 ssh timeout 5 no threat-detection statistics tcp-intercept class-map inspection_default match default-inspection-traffic policy-map type inspect dns preset_dns_map parameters message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp service-policy global_policy global Cryptochecksum:46a9f34fb18c7ed36efbd0f3b2447afd : end
12 Liite 3. kouvola.cfg ASA Version 8.2(3) <context> hostname KOUVOLA enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted names interface Ethernet0/0.20 nameif outside security-level 0 ip address 172.31.1.1 255.255.255.248 standby 172.31.1.2 ipv6 address 2a00:1dd0:100:a5a2::1/64 ipv6 enable interface Ethernet0/0.200 nameif inside security-level 100 ip address 172.31.2.1 255.255.255.0 standby 172.31.2.2 ipv6 address 2a00:1dd0:100:be7a::1/64 ipv6 enable pager lines 24 mtu outside 1500 mtu inside 1500 ipv6 route outside ::/0 fe80::5:73ff:fea0:78 icmp unreachable rate-limit 1 burst-size 1 no asdm history enable arp timeout 14400 route outside 0.0.0.0 0.0.0.0 172.31.1.5 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute timeout tcp-proxy-reassembly 0:01:00 no snmp-server location no snmp-server contact telnet timeout 5 ssh timeout 5 no threat-detection statistics tcp-intercept class-map inspection_default match default-inspection-traffic policy-map type inspect dns preset_dns_map parameters message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp service-policy global_policy global Cryptochecksum:cd9629e2b54b19ad6179803fa907ee0a : end