Bonsoir,
si je fais un "host 222.254.1.100", j'obtiens ceci :
100.1.254.222.in-addr.arpa domain name pointer localhost.
J'ai d'abord pensé à un problème de mon serveur DNS, mais apparemment cela remonte de plus haut : http://www.ip-adress.com/reverse_ip/222.254.1.100
This IP address resolves to localhost[Whois] [Trace]
Le whois indique lui que ces IP viennent du Vietnam :
$ whois 222.254.2.162
% [whois.apnic.net]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
% Information related to '222.254.0.0 - 222.254.63.255'
inetnum: 222.254.0.0 - 222.254.63.255
netname: HNPT-NET
country: vn
descr: Ha Noi Post and Telecom Company
admin-c: VD25-AP
tech-c: LQ306-AP
status: ALLOCATED NON-PORTABLE
changed: hm-changed@vnnic.net.vn 20070511
mnt-by: MAINT-VN-VNPT
source: APNIC
Cette "bourde" m'a fait sourire, mais est-ce vraiment une erreur de configuration du serveur DNS ?
La question que je me pose, c'est que si un service réseau, par exemple un serveur Apache, protège des contenus sensibles par un "Allow All from localhost" (plutôt que par un "Allow All from 127.0.0.1"), est-ce que ces adresses IP pourraient y accéder ?
Auquel cas, ce genre de configuration de serveur DNS n'est plus une bourde, mais une incitation à des actions louches, non ? (accès à distance sur un contenu qui est supposé être réservé à usage local)
J'imagine que qu'avec les configuration suivantes:
# cat /etc/nsswitch.conf
hosts: files dns
# cat /etc/hosts
127.0.0.1 localhost
les serveurs (Apache, …) sont supposés donner la priorité aux résolutions de noms locales, non ? Et ainsi éviter ce type "d'attaque" ?
# Pas sûr mais
Posté par Anonyme . Évalué à 2.
Mais à moins de forcer la résolution via DNS, par défaut la libc utilise le fichier hosts en premier lieu, si je ne m'abuse ?
À tester en tout cas, ça devrait être intéressant.
[^] # Re: Pas sûr mais
Posté par kna . Évalué à 4.
C'est dangereux si le service fait simplement une recherche du reverse de l'IP pour vérifier qu'il correspond au hostname autorisé, et ne faisait pas de résolution du nom pour voir s'il correspond à l'IP.
Pour Apache, d'après la doc, il fait les deux :
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#allow
Ce qui permet de définir des autorisations pour tout un domaine, en se protégeant d'un simple reverse qui correspondrait.
Mais je me demande si d'autres services ne seraient pas vulnérables ainsi, ou si ce n'est pas qu'un élément d'une attaque plus complexe.
[^] # Re: Pas sûr mais
Posté par Batchyx . Évalué à 4.
Il me semble que rsyslog pourrai être affecté, puisqu'il ne se fie qu'au résolutions DNS inverses.
Utiliser TCP en localhost est pas courant, mais ça se fait lorsqu'on veut passer du syslog dans un forwarder TCP qui fait passer ça dans un tunnel sécurisé…
# Je pense pas
Posté par Thibault (site web personnel) . Évalué à 3.
À mon avis, ça ne posera pas de problème (du moins directement), d'après la doc d'Apache en tout cas (cf. la doc sur la directive Allow)
Ça veut dire que pour un
Apache va faire un lookup sur l'ip qui arrive (qui va donner localhost dans ton cas) et va ensuite faire un lookup sur localhost (ils précisent DNS, mais je ne sais pas si c'est via la libc) qui devrait donner 127.0.0.1 d'après hosts. Vu que 127.0.0.1 ne matche pas l'ip source, il ne devrait pas autoriser l'accès.
Par contre il reste un problème je pense si le hosts est tout pourri (mais bon là faut chercher les coups :P) ou si le DNS en face est tout pourri et qu'il répond que localhost est l'ip entrante et que nsswitch donne la priorité au DNS…
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.