Skip to content
VDS · Мережа, IP-адреса та домени

Порти: які відкривати і як перевіряти

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

Оновлено 23 серпня 2026 р.

Порт — це число, яке вказує системі, якій службі має надійти вхідне з'єднання. Правило просте: відкритим має бути лише те, чим ви справді користуєтеся. Кожен зайвий відкритий порт — це ще одні двері, у яких хтось перевірятиме слабкі місця.

Поширені номери портів

ПортСлужбаВідкритий назовні
22SSHТак, бажано з обмеженням за адресою
80HTTPТак, якщо у вас є сайт
443HTTPSТак, якщо у вас є сайт
25, 465, 587ПоштаВхідні — лише якщо ви тримаєте власний поштовий сервер. Вихідні закриті з нашого боку та відкриваються на запит
3306MySQLНі, лише локально
5432PostgreSQLНі, лише локально
6379RedisНі, лише локально
27017MongoDBНі, лише локально
25565MinecraftТак, якщо це ігровий сервер

Зауваження щодо пошти: вхідні з'єднання не обмежуються, а вихідні на 25, 465 і 587 закриті на рівні вузла, доки ви не попросите нас їх відкрити. Правила всередині машини цього не змінюють — деталі дивіться в Поштовий сервер: чому це складно і що врахувати.

Бази даних майже ніколи не виставляють назовні. Якщо потрібен доступ з робочого комп'ютера, правильний шлях — SSH-тунель, а не відкритий порт:

ssh -L 5432:127.0.0.1:5432 artem@<address>

Що слухає машина

ss -tulpn
ss -tlpn | grep 443
lsof -i -P -n | grep LISTEN

Подивіться на адресу перед номером порту. 127.0.0.1:5432 означає, що служба доступна лише зсередини — до неї не дістатися ззовні, скільки б правил ви не додали. 0.0.0.0:5432 означає, що служба відкрита на всіх мережевих інтерфейсах і її потрібно захищати фаєрволом.

Перевірка ззовні

Зі свого комп'ютера:

nc -vz <address> 443
curl -I http://<address>

Перевіряти через ping безглуздо: ICMP і TCP — різні речі; порт може працювати, коли ping заблоковано, і навпаки.

Порт закритий: покрокова діагностика

  1. Служба запущена? systemctl status <service>
  2. Вона слухає правильну адресу? ss -tulpn — не 127.0.0.1
  3. Фаєрвол її пропускає? ufw status verbose або nft list ruleset
  4. Чи не заважає Docker? Опубліковані порти контейнерів обходять ufw
  5. Перегляньте логи служби: journalctl -u <service> -n 50

Порядок має значення: найчастіше проблема на другому кроці, а не у фаєрволі.

Зміна порту служби

Наприклад, перенесення SSH:

sed -i "s/^#\?Port 22/Port 2222/" /etc/ssh/sshd_config
ufw allow 2222/tcp
sshd -t
systemctl restart ssh

Переконайтеся, що можете увійти на новому порті в окремому вікні, і лише тоді прибирайте правило для порту 22. Деталі дивіться в Посилення захисту SSH.

Типові помилки

СимптомПричинаРішення
Connection refusedСлужба не запущенаsystemctl status, перегляньте логи
Connection timed outПакет відкидає фаєрволПеревірте правила
Працює локально, не працює ззовніПрив'язка до 127.0.0.1Змініть адресу в конфізі
Address already in useПорт зайнятий іншою службоюss -tulpn і зупиніть зайву службу

Відкривайте порт лише після перевірки, що на ньому відповідає. Забутий порт зі старого експерименту — типова точка входу для зламу; дивіться ознаки компрометації.