Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

La différence entre la gamme de ports locaux et le port d'expédition UDP utilisant dig sur le convertisseur de noms de noms Debian

Quand je me tourne vers ma gamme locale de ports dans Debian 7, Je vois ma gamme de ports temporaires:

cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000

Mon

/etc/sysctl.conf

Vider.

Cela signifie généralement que toutes les demandes de ce convertisseur de noms de noms doivent utiliser des ports de cette gamme. Cependant, en utilisant

tcpdump

, Quand je regarde la demande et la réponse DNS, Créé avec de l'aide

dig

, Je vois que la demande peut utiliser le port d'expédition vers 1500.

Par exemple, dans ce qui suit

tcpdump

Exemple (

tcpdump udp and port 53 and host server.domain

), La demande est venue du port 15591. Il est beaucoup plus bas que la limite de port de serveurs minimum pour les ports éphémères, que nous avons vus auparavant: 32768. En d'autres termes, utilisez

dig

, Enquête DNS Aller au-delà de la gamme de ports locaux.

11:57:33.704090 IP baremetal.15591 > M.ROOT-SERVERS.NET.domain: 41939% [1au] A? r.arin.net. (39)
11:57:33.704400 IP baremetal.41573 > M.ROOT-SERVERS.NET.domain: 40945% [1au] A? t.arin.net. (39)
11:57:33.704541 IP baremetal.22658 > M.ROOT-SERVERS.NET.domain: 44090% [1au] AAAA? t.arin.net. (39)
11:57:33.705295 IP baremetal.13277 > M.ROOT-SERVERS.NET.domain: 42356% [1au] A? v.arin.net. (39)
11:57:33.705499 IP baremetal.48755 > M.ROOT-SERVERS.NET.domain: 32253% [1au] A? w.arin.net. (39)
11:57:33.705639 IP baremetal.55309 > M.ROOT-SERVERS.NET.domain: 64660% [1au] AAAA? w.arin.net. (39)
11:57:33.705812 IP baremetal.56652 > M.ROOT-SERVERS.NET.domain: 43023% [1au] A? y.arin.net. (39)
11:57:33.706012 IP baremetal.26383 > M.ROOT-SERVERS.NET.domain: 42377% [1au] AAAA? y.arin.net. (39)
11:57:33.706172 IP baremetal.12895 > M.ROOT-SERVERS.NET.domain: 13206% [1au] AAAA? z.arin.net. (39)

Je me demande ce qui pourrait changer la gamme de ports éphémères sur mon Debian 7 et 8. La seule chose qui, peut-être, vaut la peine de mentionner. J'ai utilisé sur l'un d'eux

ifenslave

Et on utilise

ifenslave

Connecter deux ports Ethernet.

Résolveur - C'est le serveur lui-même et

#cat /etc/resolv.conf
nameserver ::1

Mais il fait la même chose avec

nameserver 127.0.0.1

car ipv4 et ipv6 partagé

/proc/sys/net/ipv4/ip_local_port_range

(
http://www.tldp.org/HOWTO/Linu ... .html
) Et j'ai aussi essayé.

Pour éviter toute confusion avec IPv6, J'ai décidé d'utiliser seulement Ipv4. Je n'ai ajouté que

nameserver 127.0.0.1

à

/etc/resolv.conf

.

Résultats ci-dessous C.

nameserver 127.0.0.1

dans

/etc/resolv.conf

seul.

Puis j'ai émis

rndc flush

Clear Kesh DNS du convertisseur I.

dig google.com

J'ai ouvert la deuxième fenêtre du terminal et a marqué

tcpdump udp and port 53

:

De nombreux archives, mais j'ai remarqué que peu importe la demande (A, PTR ...) Et l'hôte, les demandes DNS peuvent être expédiées du port ci-dessous. 32768

>strace -f dig www.google.com 2>&1 | egrep 'sendmsg|recvmsg|connect|bind'
open("/usr/lib/libbind9.so.80", O_RDONLY) = 3
[pid 10651] bind(20, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
[pid 10651] recvmsg(20, 0x7f5dd95cab60, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 10651] sendmsg(20, {msg_name(16)={sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, msg_iov(1)=[{"\251\261\1\0\0\1\0\0\0\0\0\0\3www\6google\3com\0\0\1\0\1", 32}], msg_controllen=0, msg_flags=0}, 0 <unfinished ...="">
[pid 10651] &lt;... sendmsg resumed&gt; ) = 32
[pid 10651] recvmsg(20, {msg_name(16)={sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, msg_iov(1)=[{"\251\261\201\200\0\1\0\1\0\4\0\4\3www\6google\3com\0\0\1\0\1"..., 65535}], msg_controllen=32, {cmsg_len=32, cmsg_level=SOL_SOCKET, cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 184

Ce problème est lié à mon pare-feu. Puisque les ports temporaires peuvent être émis à partir de (Ma propre hypothèse) de 1024 avant que 65000, Cela signifie que je ne peux pas bloquer le trafic entrant provenant des ports ci-dessus 1024, Comme dans les vieux jours. Si je le fais, je vais ralentir ou bloquer la permission DNS.

Mise à jour: merci, je comprends que si je veux utiliser le serveur en tant que convertisseur DNS, Cela signifie que je dois prendre en compte cette gamme de ports UDP 1024: 65535 C'est une gamme de ports temporaires.
</unfinished>
Invité:

Giselle

Confirmation de:

Je ne pense pas avec le tien

ip_local_port_range

ou que cela ne s'applique généralement pas à ce type de script, je pense plutôt qu'il est directement lié à la complication des fausses réponses DNS.

Nous voyons dans votre

strace

La conclusion que vous avez

dig

Envoi de datagramme sur

127.0.0.1

(Il y a une sorte de convertisseur de serveurs), mais

tcpdump

la sortie semble être liée au trafic de ce serveur de la reconnaissance et non

dig

Lui-même.

Vieux normal DNS (sans pour autant DNSSEC) seulement compté sur
https://tools.ietf.org/html/rfc1035#section-4.1.1
et les données B.

question

section pour correspondre à la réponse reçue par UDP, Avec une demande qui a été expédiée plus tôt.

En raison du fait que datagrammes UDP Facile à faux, et seulement avec 16 Les bits de hasard qui doivent deviner si vous avez un nom spécifique comme objectif, il permet de deviner l'identifiant de transaction correct (moyen 32k hypothèses) Avant de recevoir une vraie réponse .

Par conséquent, tous les serveurs de résolution moderne
http://www.kb.cert.org/vuls/id/800113
Augmenter le nombre de bits aléatoires qui doivent deviner.

Vous avez vraiment besoin de plus grande gamme de ports, il semble donc que ce soit randomisé dans tout le port des ports> 1024, Ce qui va ajouter un nombre important de bits de hasard par rapport au fait qu'il vous donne le traitement standard de votre système d'exploitation.

C'est-à-dire que je pense que cela est simplement considéré comme la "meilleure pratique" d'ignorer le traitement habituel des ports locaux du système d'exploitation pour les prises.

Pour répondre aux questions, connectez-vous ou registre