[Ninux-Calabria] DNS distribuito e sicuro

Stefano De Carlo stefanauss a gmail.com
Ven 9 Gen 2015 18:12:36 CET


Il 30/12/2014 21:58, Giuseppe De Marco ha scritto:
> https://github.com/mwarning/KadNode
>
> Ragazzi occupa poco, già disponibile su openmWRT, autorevolezza p2p
> basata su chiave asincrona, buon debug - a naso pare la buona scelta.
>
> Testiamolo e stabilizziamolo, potrebbe essere la soluzione definitiva
> e non centralizzata in assoluto.
> Di certo non stà nell'841 se in questo c'è anche il tunnel ma ognuno
> può eseguirlo sul proprio pc quando lo accende e iniziare ad
> annunciarsi e scovarci con il DHT...insomma, funziona come il torrent
> ma risolve nomi.

Me lo sono guardato un po' con calma. È un tool carino, non lo conoscevo.

Il fatto è che non è un DNS distribuito e non è sicuro, di conseguenza non rappresenta l'architettura di cui Ninux ha bisogno come punto d'arrivo.

Quello che KadNode distribuisce è il database delle associazioni nome => risoluzione. Che è certamente una ottima cosa.
Ma KadNone *esplicitamente* non fa/vuole fare nulla per distribuire il processo di verifica dell'identità e della legittimità della entry DNS.
Quella rimane PtP. Cioè: è il singolo nodo che deve aggiungere e verificare una a una le entità delle quali si fida. È evidente che una cosa del genere non può scalare.
Questa verifica PtP è il tipico meccanismo del Dynamic DNS, ed infatti l'autore dice esplicitamente che KadNode è una soluzione decentalizzata a questo genere di problematica.
In sostanza, chiunque può annunciare identificatori duplicati (che non risolvono finché non verifichi manualmente) e l'identificatore è valido fintanto che resti online. È un niet per un'architettura DNS, ma accettabile per una DynDNS.
L'uso del dht poi rende i tempi di lookup impossibili da portare giù nell'ordine di grandezza del tipico DNS.

Credo che attualmente la migliore prospettiva di architettura completamente decentralizzata e retro-compatibile con i tool DNS classici siano quelle blockchain-based come NameCoin e dotp2p.
Va analizzata bene perché i risvolti sono tanti.

Certamente distribuire e decentralizzare il DNS rispetto al SPOF attualmente in NinuCS è da fare.
Possiamo farlo per gradi:
- altri DNS anycast in giro per la rete
- meccanismo di rimozione da HNA quando si perde la possibilità di fare forwarding
- zone-delegation ai dnsmasq di NinucsWrt
- estensioni sicure come DNSSEC o DNSCrypt.
- quanto sopra ci da il tempo di analizzare pregi e difetti delle soluzioni distribuite partendo da una base operativa.

Vi passo un paio di link che ho accumulato nel tempo (KadNode ultima aggiunta).

NameCoin <http://namecoin.info/>- Open source decentralized key/value registration and transfer system
DotP2P <http://dotp2p.io>- Open Source decentralized blockchain domain name system
KadNode <https://github.com/mwarning/KadNode>- DynDNSusing DHT
DNSCrypt <http://dnscrypt.org/>
gitzone <https://github.com/dyne/gitzone>- Administering DNSzones using git
nsupdate.info <https://github.com/nsupdate-info/nsupdate.info>- FOSS DynDNS
OLSRD namservice plugin
Decentralized DNS Overview <https://wiki.projectmeshnet.org/DNS>@ meshwiki


> come dominio usiamo .nnx ?

No, in Calabria usiamo
* .cs
* .cal
* .calabria
* .ninux

Non usiamo .nnx perché, in previsione di un collegamento con altre isole, ci sarebbe un conflitto tra root server.
A Cosenza, per adesso, solo .cs.

Stefanauss.

-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        signature.asc
Tipo:        application/pgp-signature
Dimensione:  819 bytes
Descrizione: OpenPGP digital signature
URL:         <http://ml.ninux.org/pipermail/calabria/attachments/20150109/e1d47295/attachment-0001.sig>


Maggiori informazioni sulla lista Calabria