J'aimerais configurer certains services linux sur des ports non standard. Quel est le numéro de port valide le plus élevé ?
Réponses
Trop de publicités?(2^16)-1, ou 0-65 535 (le -1 est dû au fait que le port 0 est réservé et indisponible). (édité parce que o_O Tync m'a rappelé que nous ne pouvons pas utiliser le port 0, et Steve Folly m'a rappelé que vous avez demandé le port le plus élevé, pas le nombre de ports)
Mais tu t'y prends probablement de la mauvaise façon. Il y a des gens qui argumentent pour et contre les ports non-standards. Je dis qu'ils ne sont pas pertinents, sauf pour le scanneur le plus occasionnel, et que le scanneur le plus occasionnel peut être tenu à distance en utilisant des logiciels à jour et des techniques de pare-feu appropriées, ainsi que des mots de passe forts. En d'autres termes, les meilleures pratiques de sécurité.
Bien que les ports 1-65535 soient des ports TCP légitimes et qu'il soit vrai que les ports 1-1023 correspondent à des services de port bien connus. Vous pouvez rencontrer des problèmes aléatoires avec vos propres services s'ils sont lancés après l'établissement d'un port éphémère. Pour ceux qui ne le savent peut-être pas, les ports éphémères sont ceux qui sont connectés localement pour les points d'extrémité distants (ou quelque chose de ce genre). Donc si vous écrivez un service TCP qui écoute sur le port 20001. Vous êtes peut-être bon aujourd'hui... et demain. Mais un jour, votre service peut démarrer et tenter de se lier à 20001 et il échouera parce qu'il a été pris comme un port éphémère. Il existe une solution. Vous devez demander à votre administrateur, ou à vous-même, de modifier la politique de plage de ports éphémères du système sur votre serveur. Sur les systèmes linux, cela se fait en deux étapes :
- Dynamiquement
- En permanence
Les deux étapes doivent être effectuées, à moins que vous ne prévoyiez de redémarrer (dans ce cas, l'étape Dynamique n'est pas nécessaire). Pour définir votre plage de valeurs de 40000 à 65535, procédez comme suit :
Dynamique
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
ou
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
Permanent
Ajoutez ce qui suit au fichier /etc/sysctl.conf :
net.ipv4.ip_local_port_range = 40000 65535
Pour lire le réglage actuel ou pour confirmer la modification :
/sbin/sysctl net.ipv4.ip_local_port_range
Le résultat sera quelque chose comme ceci :
net.ipv4.ip_local_port_range = 9000 65500
Assurez-vous de bien comprendre l'objectif de votre serveur. Une réduction trop importante de la plage peut entraîner d'autres problèmes.
Bon codage ! (ou tout ce que vous faites)