Question Où se trouve la documentation indiquant que le port source TCP et UDP doit être supérieur à 1024 et aléatoire?


J'ai du mal à trouver où il est documenté que le port source doit être aléatoire et compris entre 1024 et 65535.

Dans quel RFC cela est-il documenté?

Modifier:
La première référence pour les ports privilégiés est dans RFC2623
Il semble que cela dépende davantage de la mise en œuvre TCP / IP et qu'il s'agisse d'une norme de facto.

IANA attribue les numéros de port (RFC1700)


11
2017-09-20 14:15


origine


FYR - RFC 1700 (STD 2) traite uniquement de l’attribution de auditeur ports (où les services écoutent les connexions). Il ne traite pas de la sélection du port source du serveur de connexion. - voretaq7
Oui, mais le corollaire selon lequel vous devriez "utiliser" les ports enregistrés est que vous ne devriez pas les utiliser pour d’autres tâches. C'est pourquoi je l'ai mentionné. - Mircea Vutcovici
iana.org/assignments/service-names-port-numbers/… parle des ports dynamiques et / ou privés (49152-65535). Il semble donc que le client devrait utiliser un port de cette gamme. - Mircea Vutcovici


Réponses:


Vous cherchez probablement RFC 6056 - Recommandations pour la randomisation des ports de protocole de transport  ("Meilleure pratique actuelle").

Techniquement, il n'y a pas exigence que le port éphémère soit> 1024 ou aléatoire (vous pouvez construire un système qui initie toujours les connexions depuis le port 12 parce que vous aimez le numéro 12), ce n'est tout simplement pas "normal" de le faire (et une idée affreuse pour de nombreuses raisons, dont certaines sont décrites dans ce RFC).


13
2017-09-20 14:38



Il semble que les ports éphémères devraient être> = 49152. Mais votre réponse est la plus proche de ma question. - Mircea Vutcovici


le RFC 6335 explique ceci:

Les ports de la gamme de ports dynamiques (49152-65535) ont été         spécifiquement réservé à un usage local et dynamique et ne peut être         attribué par l'IANA. Le logiciel d’application peut simplement utiliser         port dynamique disponible sur l’hôte local, sans aucun   Trier         de cession. D'autre part, le logiciel d'application NE DOIT PAS         supposons qu'un numéro de port spécifique dans la plage de ports dynamiques   volonté         toujours être disponible pour la communication à tout moment, et un port         nombre dans cette plage ne DOIT donc PAS être utilisé comme service         identifiant.

Les ports réservés:

Les ports de la gamme User Ports (1024-49151) sont disponibles pour         affectation via IANA, et PEUT être utilisée comme identificateur de service         sur assignation réussie.

Les ports de la gamme des ports système (0-1023) sont également disponibles pour         affectation par le biais de l'IANA. Parce que la gamme de ports système est à la fois         le plus petit et le plus dense, les exigences de         les nouvelles assignations sont plus strictes que celles des ports utilisateurs         gamme, et ne sera accordée que dans le cadre de la "Revue IETF" ou du         Procédures d'approbation RFC5226.

L'introduction explique la confusion:

Pendant de nombreuses années, l’attribution de nouveaux noms de service et numéro de port   Valeurs à utiliser avec le protocole TCP (Transmission Control Protocol) [RFC0793]   et le protocole UDP (User Datagram Protocol) [RFC0768] a eu moins de
  des directives claires.

Il semble que Windows XP ne suive pas la norme RFC6335, contrairement à Solaris 10.


3
2017-09-20 15:30





Ce que voretaq7 a dit avec ce mais être pédant, il y a une exigence technique. Dans le passé, les démons / serveurs de * nix fonctionnaient sur les ports <1024 (les appelant, ports système). Par conséquent, afin d'éviter les conflits, les ports source (ports utilisateur) sont> 1024 (ou plus précisément 1024 - 49151). Cependant, ce n'est pas toujours le cas comme vous le dites et cela dépend de la mise en œuvre. Dans l’ensemble, le lien ci-dessus donne une liste des RFC, mais le plus spécifique est probablement RFC5226qui décrit le processus "Expert Review" de l'IANA.


1
2017-09-20 14:57



Certaines implémentations de serveur NFS nécessitent que le client NFS utilise un port <1024. Donc, techniquement, il était toujours possible d'utiliser tous les ports en tant que port source. Ce que je demande, c'est un document qui demande à utiliser pour les ports supérieurs à 1024. Il semble qu'en réalité, le client devrait utiliser les ports supérieurs à 49152. - Mircea Vutcovici
Cela ne contredit pas ma réponse. Vois ici unix.stackexchange.com/questions/16564/… Pourquoi est-ce que la mission IANA et la RFC 6056 ne vous couvrent pas? Après que vous puissiez toujours donner des recommandations, personne ne vous empêche de mettre en oeuvre un navigateur Web qui utilisera le port 80 comme port source. - user
Tout aussi pédant, il n'y a pas exigence que les ports privilégiés ou "connus" ne soient pas utilisés comme ports source (voir le contre-exemple de Mircea avec les ports NFS privilégiés) - Cela n'est pas courant pour les raisons que vous avez mentionnées, mais ce n'est pas non plus interdit. Selon les RFC TCP et UDP, tout port non utilisé est considéré comme un port source. Les règles que nous établissons en plus sont pour notre commodité :-) - voretaq7