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.