Kaj pogrešam v IPv6 NDP?

Neighbour discovery protocol (NDP) je bil definiran že leta nazaj in kakor je uporaben in implementiran v vseh IPv6 skladih vseh proizvajalcev, tako je po drugi strani tudi manj varen, kot bi si mislil bežen poznavalec IPv6 protokola. Temelji na ICMPv6 sporočilih in upravlja večino network servisov, a kot tak ne vsebuje nikakršne zaščite pred morebitno zlorabo in preverjanja resnične identitete NDP paketov. Zato so spesnili RFC3971, ki definira SEcure Neighbor Discovery (SEND)…

Kakšne so varnostne težave, ki pestijo NDP lahko preberete v SEND RFC-ju, bolje kot je tam zapisano bi teško sam opisal, a bolj kot to me moti nekaj drugega; SEND je bil kot RFC standard sprejet že marca 2005 in še vedno nimamo nobene delujoče implementacije tega. Saj ni treba veliko, le kriptografijo in še ene par mehanizmov je treba implementirati kot dodatek v NDP in popravke IPv6 sklada poslati uporabnikom v prvih popravkih operacijskega sistema.

Iskal sem po internetu, kje bi našel kaj uporabnega, a nisem nič našel. Če kdo najde karkoli, se priporočam.

Druga zadeva ki jo pa precej pogrešam je implementacija uporabe RDNS opcije, katero IPv6 stack na uporabnikovem računalniku prejme lahko znotraj router advertisement paketa (RA). S tem pridobimo to, da nam že stateless autoconfiguration (SLAAC) dodeli poleg IPv6 prefixa, znotraj katerega si avtomatsko zgeneriramo IPv6 naslov in privzetega prehoda tudi Recursive DNS (RDNS), kar pomeni da imamo lahko delujočo IPv6 povezavo v internet in hkrati definiran tudi rekurzivni DNS server, ki nam prevaja imena v IP naslove – skratka vse, kar povprečen končni uporabnik potrebuje.

Ta opcija je bila definirana v RFC5006 že septembra leta 2007 in podpira jo kar nekaj usmerjevalnikov in naprav ter aplikacij (recimo radvd na Linuxu), ki služijo za povezovanje v internet in se preko NDP oznanjajo kot komunikacijski prehod; celo Mikrotik to podira in v RA paketih pošilja RDNS opcijo, če mu tako naročimo.

Težava je spet v IPv6 skladih pri končnih uporabnikih – nisem še našel operacijskega sistema, ki bi znal iz RA paketa razvozlati poleg prefixa in gatewaya tudi RDNS in si ga nastaviti kot resolver. Če kdo ve za kakšnega, naj mi prosim sporoči, do sedaj ga res nisem našel.

Sproža se mi vprašanje; tako enostavni dodatki, pa se jih nihče ne loti? Zarota? 🙂

Jan Žorž

Vaš IP naslov (ali ste na IPv6 ?):
3.135.200.211

Comments

  1. zobo
    March 5th, 2010 | 14:49

    Kot gledam se je na linuxih že oktobra 2007 pogovarjalo okoli tega. Problem je, da se RA dogaja v kernelu, manipulacija resolv.conf pa je vedno userland zadeva. V 2.6.24 so pogruntali tole:
    http://kernelnewbies.org/Linux_2_6_24#head-be6c6cfbd35aa6d0c301909dead1a9c8ed6a8846

    Ne najdem pa nobene implementacije userspace strani… Seveda stvar ne bo uporabna dokler je ne podpirajo *ahem* desktop OSi.

  2. March 5th, 2010 | 14:52

    exactly…

  3. zobo
    March 5th, 2010 | 16:22

    Lahko bi zaskriptiral nekej.. a ti to kej pomaga? 😀

  4. March 6th, 2010 | 19:03

    A bos poizkusil?

  5. March 8th, 2010 | 11:22

    http://sourceforge.net/projects/easy-send/

    Evo, poskus implementacije SEND-a.

  6. zobo
    March 8th, 2010 | 15:16

    Ciljal sem na RNDS. Če le najdem pol ure časa, in pa dovolj netlink dokumentacije 🙂

Leave a reply

website