[LUG.ro] La misteriosa consulta desde 127.0.0.2
Sebastián D. Criado
lugro@lugro.org.ar
Wed, 17 Jan 2007 15:50:32 -0300
--nextPart14451459.SAYXv805CM
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
En uno de los servidores que administro, me encontr=C3=A9 con con m=C3=BAlt=
iples=20
consultas al DNS (BIND) desde 127.0.0.2:53 y las mismas eran rechazadas por=
=20
el bind dado que est=C3=A1 configurado mediante ACL's para aceptar solo pet=
iciones=20
de la red interna y de 127.0.0.1 (localhost).
Luego de un an=C3=A1lisis exhaustivo, pude determinar el problema y solucio=
narlo,=20
aunque me quedaron algunas dudas respecto a por que se efect=C3=BAan las=20
consultas desde esa IP.
El problema comenz=C3=B3 a reportarse cuando el BIND infrmaba el rechazo de=
la=20
consulta a trav=C3=A9s del syslog, reportando en forma reiterativa el sigui=
ente=20
mensaje:
named[17111]: refused query on non-query socket from [127.0.0.2].53
Esto me indicaba, como dice el mensaje, que se estaba haciendo un query al =
DNS=20
desde la direcci=C3=B3n 127.0.0.2:53
Sabiendo que estaba bien que sea rechazado el pedido, me dispuse a ver que =
era=20
lo que estaba originando el mismo.
Lo que me encontr=C3=A9 me llevo al problema directamente.
La IP 127.0.0.2 es utilizada por los sistemas de RBL para informar que la i=
p=20
que se le ha consultado (ej: 200.69.206.108) est=C3=A1 dentro de su base de=
datos=20
como una ip bloqueada.
La forma de comprobarlo es hacer una consulta por medio de dig sobre una ip=
en=20
la forma inversa. Para eso tome un servidor de RBL que se que funciona como=
=20
el empresa Impsat de Chile.
http://abuse.impsat.cl/
Al hacerle una consulta a sus DNS sobre la IP 200.69.206.108 obtendremos el=
=20
siguiente resultado:
$ dig a @dns.impsat.cl 108.206.69.200.abuse.impsat.cl
;; ANSWER SECTION:
108.206.69.200.abuse.impsat.cl. 3600 IN A 127.0.0.2
Como se puede ver, nos responde la ip del problema.
=C2=BFPero que tiene que ver esto con el problema de los mensajes del bind?
Para poder chequear desde el Sendmail si una ip esta dentro de una RBL lo q=
ue=20
se puede utilizar en DNSBL http://en.wikipedia.org/wiki/DNSBL. Este sistema=
=20
va hacer una serie de pasos para comprobar si el mail que est=C3=A1 entrand=
o se=20
encuentra en la RBL que se le ha consultado consultar.
En este caso, estaba usando la RBL relay.ordb.org configurada en el Sendmai=
l.
Dado que relay.ordb.org cerro a fin de este a=C3=B1o, no se pod=C3=ADa hace=
r la=20
consulta, las consultas que DNSBL le enviaba no se pod=C3=ADan responder.
Una vez removida la linea del sendmail.mc y generado el cf correspondiente,=
el=20
mensaje dejo de aparecer. Problema resuelto. Pero aun me quedaba una duda,=
=20
dado que el que efectuaba el pedido a 127.0.0.2 era el mismo bind.
As=C3=AD, sabiendo que relays.ordb.org no funcionaba, me dispuse a hacer la=
=20
consulta por medio del dig usando ese servidor, y por medio de tcpdump mire=
=20
que pasada en la interfase =E2=80=9Clo=E2=80=9D.
$ dig @relays.ordb.org 108.206.69.200.relays.ordb.org
El resultado de tcpdump de los pedidos fue el siguiente:
15:36:34.475690 127.0.0.1.45816 > 127.0.0.1.53: 2733+ A? relays.ordb.org.=
=20
(33) (DF)
En est=C3=A1 linea se puede ver la consulta al DNS sobre el dominio consult=
ado para=20
as=C3=AD poder determinar su IP.
15:36:40.003493 127.0.0.2.53 > 127.0.0.2.53: 65036 A? relays.ordb.org. (33=
)=20
(DF)
15:36:42.003496 127.0.0.2.53 > 127.0.0.2.53: 56582 [1au] A? relays.ordb.or=
g.=20
OPT UDPsize=3D4096 (44) (DF)
Inmediatamente despu=C3=A9s se ve una consulta desde 127.0.0.2 a si mismo.
15:36:42.003592 127.0.0.1.53 > 127.0.0.1.45812: 32447 ServFail 0/0/0 (33)=
=20
(DF)
La respuesta que le llega es un ServFail al no poder determinar la ip del=20
mismo.
15:36:42.003624 127.0.0.1 > 127.0.0.1: icmp: 127.0.0.1 udp port 45812=20
unreachable [tos 0xc0]
15:36:48.503386 127.0.0.1.45816 > 127.0.0.1.53: 2733+ A? relays.ordb.org.=
=20
(33) (DF)
15:36:56.003425 127.0.0.1.53 > 127.0.0.1.45814: 60805 ServFail 0/0/0 (33)=
=20
(DF)
15:36:56.003480 127.0.0.1 > 127.0.0.1: icmp: 127.0.0.1 udp port 45814=20
unreachable [tos 0xc0]
15:37:02.003500 127.0.0.2.53 > 127.0.0.2.53: 56582 A? relays.ordb.org. (33=
)=20
(DF)
15:37:02.534023 127.0.0.1.45818 > 127.0.0.1.53: 2734+ A? relays.ordb.org.=
=20
(33) (DF)
15:37:10.003491 127.0.0.2.53 > 127.0.0.2.53: 56582 A? relays.ordb.org. (33=
)=20
(DF)
15:37:10.003589 127.0.0.2.53 > 127.0.0.2.53: 34326 [1au] A? relays.ordb.or=
g.=20
OPT UDPsize=3D4096 (44) (DF)
15:37:16.563394 127.0.0.1.45818 > 127.0.0.1.53: 2734+ A? relays.ordb.org.=
=20
(33) (DF)
15:37:26.003490 127.0.0.1.53 > 127.0.0.1.45816: 2733 ServFail 0/0/0 (33) (=
DF)
15:37:26.003537 127.0.0.1 > 127.0.0.1: icmp: 127.0.0.1 udp port 45816=20
unreachable [tos 0xc0]
15:37:30.003488 127.0.0.2.53 > 127.0.0.2.53: 34326 A? relays.ordb.org. (33=
)=20
(DF)
15:37:38.003423 127.0.0.2.53 > 127.0.0.2.53: 34326 A? relays.ordb.org. (33=
)=20
(DF)
Las dem=C3=A1s lineas, muestran id=C3=A9ntico resultado en los reintentos.
Intente reproducir el problema con otros dominios los cuales no existen y n=
o=20
pude obtener estos resultados.
La hip=C3=B3tesis sobre esto es:
Dado que para poder ser un RBL se tendr=C3=A1 que hacer una implementaci=C3=
=B3n que=20
antes una consulta de DNS responda con 127.0.0.2 para informar que la ip=20
figura en la base de datos, pero dado que el servicio de rbl de=20
relays.ordb.org no est=C3=A1 funcionando, el DNS de este servidor est=C3=A1=
=20
respondiendo a todas las consultas con un 127.0.0.2 y el dns de mi servidor=
=20
trata de atenderlo como un pedido de loopback.
Esta hip=C3=B3tesis tiene el problema que no puedo comprobarlo ya que no te=
ngo=20
acceso a la configuraci=C3=B3n actual de relays.ordb.org, pero si enteiendo=
que=20
usan un sistema tipo rbldn http://www.ladro.com/docs/dns/rblsmtpd.html para=
=20
brindar el servicio.
=C2=BFAlguna idea sobre esto? =C2=BFA alguno le a pasado? =C2=BFPor que hac=
e mi DNS consultas=20
desde 127.0.0.2 cuando no tendr=C3=ADa que hacerlas?
=2D-=20
Sebasti=C3=A1n D. Criado - scriado{en}ciudad.com.ar
L.U.G.R.o - http://www.lugro.org.ar
GNU/Linux Registered User # 146768
=2D------------------------------------------------------------------
"Si el Universo fuera un programa estar=C3=ADa hecho en C, y correr=C3=ADa =
sobre
un sistema UNIX"
An=C3=B3nimo.
=09
--nextPart14451459.SAYXv805CM
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQBFrnAK8hmHQ8ZCg0IRAnqSAJ9u1A2d399ukK1KZUCn+MNVtJq3BACeKNqD
woEUd0m0GLdjqinY/UxZU2Q=
=7MoJ
-----END PGP SIGNATURE-----
--nextPart14451459.SAYXv805CM--