Quel est le numéro de port maximum?

68

J'aimerais définir certains services Linux sur des ports non standard - quel est le numéro de port valide le plus élevé?

Yehosef
la source

Réponses:

74

(2 ^ 16) -1 ou 0-65 535 (-1 parce que le port 0 est réservé et indisponible). (édité parce que o_O Tync m'a rappelé que nous ne pouvions pas utiliser le port 0, et Steve Folly m'a rappelé que vous aviez demandé le port le plus élevé, pas le nombre de ports)

Mais vous vous en sortez probablement dans le mauvais sens. Il y a des gens qui plaident pour et contre les ports non standard. Je dis qu'ils sont hors de propos, sauf pour les scanners les plus occasionnels, et les scanners les plus occasionnels peuvent être tenus à distance en utilisant un logiciel à jour, des techniques de pare-feu appropriées et des mots de passe sécurisés. En d'autres termes, les meilleures pratiques de sécurité.

Matt Simmons
la source
3
-1 pour la mauvaise réponse. Essayez 65,535. Mais bon point sur l'argument pour / contre les ports non standard.
Steve Folly
2
Il y a des gens de sécurité / conformité qui forcent ce genre de décisions. Nous exécutons des services SMTP sur un port haut prédéterminé pour nous protéger contre le bureau du responsable de la sécurité nous harceler.
duffbeer703
1
Steve, édité, et tu as raison. J'ai répondu à la mauvaise question avec mon numéro :)
Matt Simmons le
2
@Matt: supprimé -1 :-)
Steve Folly le
1
Je surveille les tentatives de connexion avec ssh et plusieurs tentatives ont bloqué l'adresse IP (solution standard CPanel VPS). J'essaie simplement de réduire le nombre de tentatives que je dois regarder chaque jour. Le balayage de port est également bloqué, ce qui devrait réduire le nombre de personnes. J'envisage également un VPN, mais il semblait que changer de port serait une première étape plus facile.
Yehosef
41

1-65535 sont disponibles, et les ports dans la plage 1-1023 sont les privilèges : une application doit être exécutée en tant que root pour pouvoir écouter ces ports.

kolypto
la source
8

Bien que 1-65535 soient des ports TCP légitimes et il est vrai que 1-1023 sont destinés à des services de port bien connus. Vous pouvez rencontrer des problèmes aléatoires avec vos propres services s'ils sont démarré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 des points d'extrémité distants (ou quelque chose du genre). Donc, si vous écrivez un service TCP qui écoute sur le port 20001. Vous pourriez être bon aujourd'hui ... et demain. Mais un jour, votre service peut démarrer et tenter de se connecter à 20001 et il échouera car il a été considéré comme un port éphémère. Il y a une solution. Vous devez demander à votre administrateur ou à vous-même de modifier la stratégie de plage de ports éphémère du système sur votre serveur. Sur les systèmes Linux, cela se fait en deux étapes:

  • Dynamiquement
  • En permanence

Les deux mesures doivent être prises, inutile de planifier le redémarrage, auquel cas l’étape dynamique n’est pas nécessaire. Pour définir votre plage allant 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 les éléments suivants à /etc/sysctl.conf:

net.ipv4.ip_local_port_range = 40000 65535

Pour lire le réglage actuel ou pour confirmer le changement:

/sbin/sysctl net.ipv4.ip_local_port_range

La sortie sera quelque chose comme ça:

net.ipv4.ip_local_port_range = 9000 65500

Assurez-vous de comprendre le but de votre serveur. Réduire la plage trop peut entraîner d'autres problèmes.

Bon codage! (ou quoi que vous fassiez)

Stephen Mathews
la source