Ratunku IPv6!

Czyli o tym jak wysłać IPv6 na wakacje. Zalety IPv6. Wiele się mówi o zaletach IPv6. Wymienia się, między innymi, takie rzeczy jak: zwiększenie przestrzeni adresowej, uproszczenie nagłówka, możliwość fragmentacji […]

Czyli o tym jak wysłać IPv6 na wakacje.

Zalety IPv6.

Wiele się mówi o zaletach IPv6. Wymienia się, między innymi, takie rzeczy jak:

  • zwiększenie przestrzeni adresowej,
  • uproszczenie nagłówka,
  • możliwość fragmentacji jedynie przez stacje nadawczą, co upraszcza pracę routerów (w IPv4 mógł też router)
  • przeniesienie wielu funkcji rozgłoszeń do grup multicastowych.

Mówiąc o IPv6 należy zaznaczyć, że jest on jedynie kilkanaście lat młodszy od IPv4. Dziwną sytuacją jest wiec brak zaawansowanych zabezpieczeń, przed atakami i podszywaniem, dla sieci dostępowej. Owszem, każdy incydent można wykryć, ale wiadomo, lepiej zapobiegać, niż leczyć. Niemożliwość ataku jest przeważnie lepsza od możliwości wykrycia incydentu.

O zabezpieczaniu sieci dostępowej napisano obszernie w cyklu artykułów traktujących o konfiguracji przełączników proCurve.
Dlaczego nie lubimy IPv6 w sieci dostępowej?

Tak, jak napisano wyżej. Robiąc krok do przodu, przechodząc na IPng (IP Next Generation – tak przyjęło się mówić o IPv6), robi się krok wstecz. Pytanie, jak ustrzec się przez statycznym adresem IP na porcie. Nie znam implementacji dynamic-MAC-lockdown dla IPv6. Oczywiście wszystko można oskryptować, ale po co w takim przypadku przełączniki za tysiące złotych?

Kolejnym problemem jest mechanizm automatycznej konfiguracji IPv6. Otóż, adres przyznany za pomocą DHCPv6 nie ma priorytetu nad adresem uzyskanym w procesie automatycznej konfiguracji sieci. Implikuje to problemy związane z identyfikacją hosta w sieci.
Oliwy do ognia dodają tunele takie jak TEREDO. Proszę sobie wyobrazić. Traci się możliwość kontroli nad tym co wychodzi z naszej sieci. Po wycięciu urządzenia na routerze, host znajduje sobie inną drogę na świat.
Windowsy wręcz uwielbią rozgłaszać się jako router IPv6.

MLD (Multicast Listener Discovery) jest pięknym wynalazkiem, ale tylko i wyłącznie dla przełączników wspierających ten mechanizm, podobnie jak to było z IGMP. Jeżeli przełącznik nie rozpoznaje tego ruchu jako mulicast, to traktuje go jak rozgłoszenie i mamy pięknego koncentratora. A co się dzieje w przypadku, gdy przełącznik obsługuje MLD? Przełącznik się zapycha, bo MLD obciąża przełącznik.

Wspomniano już o IPv6 RA (IPv6 Router Advertisement), czyli o rozgłaszaniu w sieci, że jest się routerem IPv6. Stwarza to potencjalne problemy związane z możliwością ataku Man-in-the-middle oraz zalaniu sieci takimi rozgłoszeniami. W przypadku ostatniego wszystkie Windowsy, z włączonym IPng na interfejsach, zrobią „kaput”. Dzieje się to tak dlatego, że te mają nieskończoną tablice routerów IPv6. Szerzej o tym problemie tutaj.
Istnieją zabezpieczenia prze tym atakiem, lecz i one często mają nieskończoną tablicę. Najlepszym znanym mi zabezpieczeniem jest ograniczenie liczby adresów mac na porcie, lecz nie zawsze jest to możliwe.

Wycinamy.

W związku z powyższym proponujemy wycięcie IPng w sieci dostępowej. Aby to zrobić potrzebne są urządzenia obsługujące zarówno AClki IPv4 jak i IPv6.
Po analizie tego dokumentu proponuje się następujące reguły dla ACL IPv4:

ip access-list extended "Block-IPv6-Tunnels"
     10 deny ipv6-in-ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255
     10 remark "DENY 6in4, 6over4, 6rd, 6to4, ISATAP"
     20 deny udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 3544
     20 remark "DENY TEREDO"
     30 deny udp 0.0.0.0 255.255.255.255 eq 3544 0.0.0.0 255.255.255.255
     30 remark "DENY TEREDO RELAYS"
     40 deny udp 0.0.0.0 255.255.255.255 eq 3653 0.0.0.0 255.255.255.255
     40 remark "DENY TB WITH TSP"
     50 deny udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 3653
     50 remark "DENY TB WITH TSP"
     60 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255
   exit 

Dla ACL IPv6:

ipv6 access-list "Block-IPv6"
     10 remark "DENY NATIVE IPv6"
     10 deny ipv6 ::/0 ::/0
   exit 

Po wprowadzeniu powyższych, zauważa się spadek poziomu jałowego ruchu w sieci.

W tym momencie ruch IPv6 zamarł. To co niekontrolowane zostało zabronione. Można w spokoju usiąść i zacząć pisać/wdrażać skrypty pozwalające na kontrolowanie IPv6.
Ale o tym już w innych artykólach… o ile Lama pozwoli.