Petite explication du DNS:

- deux op�rations de base:
     resolving:   nom -> adresse IP
     unresolving: adresse IP -> nom

  (un nom est d�fini pr�cis�ment dans la norme, un RFC)

- syst�me hi�rarchis�/d�l�gu�, resolving et unresolving s�par�s.

  Exemples: - le resolving de tout domaine sous ch est g�r� par un certain
              nombre de serveurs DNS (NS)
            - alphanet.ch et ses sous-domaines par un autre ensemble
            - subdomaine.alphanet.ch, idem et r�cursivement
            - 128.178.x.x est g�r� par un DNS (unresolve)
            - 128.178.2.x par un autre, d�l�gu�.

En clair, si vous poss�dez une adresse IP chez un fournisseur (fixe ou
dynamique), il est POSSIBLE de faire qu'un nom compl�tement non reli� se
r�solve sur cette adresse pour autant que vous ayez autorit� dans ce
domaine (exemple: switzerland.ch.eu.org -> un serveur �
l'UNIGE. Mais si vous ne poss�dez pas switzerland.ch.eu.org, ou au moins 
ch.eu.org dans ce cas, aucun moyen de le faire r�soudre chez vous).

Similairement, pour que le unresolve fonctionne, le possesseur de la zone
num�rique donn�e (p.ex. Classe C, Classe B, Classe A, etc, cf la/les
base(s) de donn�es WHOIS accessible(s) par la commande UNIX whois) doit
modifier sa zone. IL PEUT Y METTRE N'IMPORTE QUOI (p.ex. microsoft.com).
Ce qui explique que parfois unresolv(resolve(name)) != name, en
particulier dans les cas suivants:

   - l'ISP a oubli� la configuration reverse (exemple: tr�s souvent chez
     MCnet, Urbanet en dynamique)

   - resolve `pirate': vous faites en sorte qu'un domaine textuel vous
     appartenant (p.ex. ma-belle-compagnie.com, ou mabellecompagnie.com
     si vous voulez faire pro :() se r�solve sur une adresse IP qui
     n'est pas sous votre comp�tence. Exemple: vulcan.alphanet.ch
     (dans mon domaine) se r�soud sur 194.38.85.209 qui est sur Urbanet
     et donc se r�soud en sitebco-home-5-17.urbanet.ch. Le whois montrera
     aussi Urbanet d'ailleurs

   - machine qui a plusieurs adresses (p.ex. hosting virtual de type
     HTTP/1.1).  Contre-exemple: www.alphanet.ch est un hosting virtuel de
     type HTTP/1.0 (unresolve est aussi www.alphanet.ch).

   - la configuration unresolve est volontairement fantaisiste pour
     pi�ger les statistiques ou les big brothers en puissance.

(il y en a peut-�tre d'autres).

Morale de l'histoire:
   - ne jamais utiliser unresolve comme authentification: utiliser
     l'adresse IP ou v�rifier unresolve(resolve(name)) == name;
     la plupart des outils UNIX modernes bas�s sur authentification
     par adresse le font; de toute fa�on il ne faudrait plus mettre
     en oeuvre de telles authentifications car il y a d'autres
     attaques, moins triviales (en TCP) que le unresolve, cependant.
     En UDP toute authentification par adresse est tr�s dangereuse
     dans tous les cas.
   - utiliser le unresolve avec parcimonie dans les statistiques,
     et rappeler � ses clients que les statistiques sont forc�ment
     fausses:
        - caches/proxies (sauf si les pages sont toutes dynamiques et
          que le proxy n'est pas configur� en mode
          cache-tout-de-toute-fa�on)
        - scripts automatiques et moteurs de recherche
        - cf plus haut



--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.

Répondre à