Вопрос: Каков максимальный номер порта?


Я хотел бы установить некоторые службы linux для нестандартных портов - какой самый высокий допустимый номер порта?


62
2018-01-17 23:53


Источник




Ответы:


(2 ^ 16) -1 или 0-65,535 (-1 - это потому, что порт 0 зарезервирован и недоступен). (отредактирован, потому что o_O Tync напомнил мне, что мы не можем использовать порт 0, и Стив Фолли напомнил мне, что вы попросили самый высокий порт, а не количество портов)

Но вы, вероятно, ошибетесь. Есть люди, которые спорят за и против нестандартных портов. Я говорю, что они не имеют отношения к самому случайному сканеру, и самый случайный сканер можно держать в страхе, используя современное программное обеспечение и правильные методы брандмауэра, а также надежные пароли. Другими словами, наилучшая практика безопасности.


65
2018-01-17 23:58



-1 для неправильного ответа. Попробуйте 65,535. Но хороший аргумент в пользу аргумента / против нестандартных портов. - Steve Folly
Есть люди безопасности / соблюдения, которые вызывают подобные решения. Мы запускаем службы SMTP на предопределенном высоком порту, чтобы защитить нас от офицера офицера безопасности, преследующего нас. - duffbeer703
Стив, отредактированный, и ты прав. Я ответил на неправильный вопрос своим номером :) - Matt Simmons
@Matt: удален -1 :-) - Steve Folly
Я отслеживаю попытки входа в систему с помощью ssh, и несколько попыток блокируют IP (стандартное решение CPANEL VPS). Я просто пытаюсь уменьшить количество попыток, которые я должен смотреть каждый день. Сканирование портов также блокируется, чтобы уменьшить эту толпу. Я также рассматриваю VPN, но, похоже, изменение порта было бы более легким первым шагом. - Yehosef


1-65535, а порты в диапазоне 1-1023 - это привилегированный : приложение должно выполняться как root, чтобы прослушивать эти порты.


34
2018-01-17 23:56



Нет нет. Порты 1-1023 - это привилегированные порты. - Steve Folly


Хотя 1-65535 являются законными портами TCP, и верно, что 1-1023 предназначены для хорошо известных портовых служб. Вы можете столкнуться с случайными проблемами с вашими собственными сервисами, если они запущены после создания эфемерного порта. Для тех, кто может не знать, эфемерные порты - это те, которые локально подключены для удаленных конечных точек (или что-то в этом роде). Поэтому, если вы пишете службу TCP, которая прослушивает порт 20001. Возможно, сегодня вы будете хороши ... и завтра. Но однажды ваш сервис может запустить и попытаться привязать к 20001, и он потерпит неудачу, потому что он был взят как эфемерный порт. Есть решение. У вас должен быть ваш администратор или самостоятельно, измените политику эфемерного диапазона портов на вашем сервере. В Linux-системах это делается в два этапа:

  • динамично
  • Постоянно

Необходимо предпринять оба действия, бесполезно, что вы планируете перезагружаться, и в этом случае динамический шаг не нужен. Чтобы установить диапазон до 40000 до 65535, выполните следующие действия:

динамический

echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range

или

sysctl -w net.ipv4.ip_local_port_range="40000 65535"

перманентный

Добавьте в /etc/sysctl.conf следующее:

net.ipv4.ip_local_port_range = 40000 65535

Чтобы прочитать текущую настройку или подтвердить изменение:

/sbin/sysctl net.ipv4.ip_local_port_range

Результат будет примерно таким:

net.ipv4.ip_local_port_range = 9000 65500

Убедитесь, что вы понимаете цель своего сервера. Сокращение диапазона слишком сильно может привести к другим проблемам.

Счастливое кодирование! (или что бы вы ни делали)


5
2017-09-13 15:55