Який максимальний номер порту?


66

Я хотів би встановити деякі служби Linux на нестандартні порти - який найвищий номер порту?

Відповіді:


72

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

Але ти, мабуть, підеш про це неправильним шляхом. Є люди, які сперечаються за і проти нестандартних портів. Я кажу, що вони не мають значення, за винятком самого випадкового сканера, і самий випадковий сканер можна тримати в страху, використовуючи сучасне програмне забезпечення та належні методи брандмауера, а також міцні паролі. Іншими словами, найкращі практики безпеки.


3
-1 за неправильну відповідь. Спробуйте 65535. Але хороший момент щодо аргументу за / проти нестандартних портів.
Стів Фоллі

2
Є люди з безпеки / дотримання, які змушують приймати такі рішення. Ми запускаємо сервіси SMTP на заздалегідь встановленому високому порту, щоб захистити нас від переслідування нас офіцером служби безпеки.
duffbeer703

1
Стів, відредагований, і ти маєш рацію. Я відповів неправильним питанням зі своїм номером :)
Метт Сіммонс,

2
@Matt: видалено -1 :-)
Стів Фоллі

1
Я відстежую спроби входу за допомогою ssh, а кілька спроб заблокують IP (стандартне рішення CPanel VPS). Я просто намагаюся зменшити кількість спроб, які мені доводиться дивитись щодня. Сканування портів також блокується, щоб зменшити натовп. Я також розглядаю VPN, але, здавалося, зміна порту буде легшим першим кроком.
Йозеф

41

1-65535 доступні, а порти в діапазоні 1-1023 є привілейованими : додаток потрібно запустити як root, щоб слухати ці порти.


8

Хоча 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

Будьте впевнені, що ви розумієте призначення свого сервера. Занадто велике скорочення діапазону може призвести до інших проблем.

Щасливе кодування! (або що ви робите)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.