img

Управление портами в Linux: полное руководство

Сетевые порты - это ключевые компоненты сетевой коммуникации, действующие как шлюзы для взаимодействия конкретных сервисов и протоколов. Например, порт 80 обычно используется для HTTP-трафика, а порт 22 - для SSH-соединений. Эффективное понимание и управление этими портами имеет решающее значение для обеспечения безопасности и оптимизации среды Linux.

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе

В этой статье мы объясним, что такое сетевые порты, какие они бывают и как управлять ими в Linux с помощью практических команд и инструментов.

1. Что такое сетевые порты?

Сетевой порт - это виртуальная конечная точка, используемая устройствами для установления и управления соединениями. Каждый порт связан с определённым приложением или сервисом, работающим на устройстве, и определяется номером порта в диапазоне от 0 до 65535.

Типы портов:

  • Well-Known Ports (0–1023): зарезервированы для стандартных сервисов, таких как HTTP (80), HTTPS (443), FTP (21) и SSH (22)
  • Registered Ports (1024–49151): используются определёнными приложениями (например, 3306 для MySQL)
  • Dynamic/Private Ports (49152–65535): используются для временных или пользовательских соединений

2. Как работают порты?

Когда устройство передаёт данные по сети:

  • Source Port: Приложение устройства открывает конкретный порт для исходящей связи
  • Destination Port: Принимающее устройство прослушивает предопределённый порт для входящего трафика

Пример: при посещении веб-сайта ваш браузер использует динамический исходящий порт (например, 50000) для подключения к порту 80 сервера

3. Управление портами в Linux

Linux предоставляет несколько инструментов для просмотра, управления и защиты портов. Вот основные шаги:

3.1 Просмотр открытых портов

С помощью netstat:

sudo netstat -tuln
  • -t: показывает TCP-соединения
  • -u: показывает UDP-соединения
  • -l: выводит прослушиваемые порты
  • -n: показывает номера портов вместо имён сервисов
Как посмотреть открытые порты в Linux

С помощью ss:

sudo ss -tuln

ss быстрее и современнее, чем netstat.

С помощью lsof:

sudo lsof -i -P -n

Эта команда показывает процессы, использующие порты.

3.2 Проверка доступности портов

Проверка открытого порта:

nc -zv localhost 22

Сканирование всех открытых портов:

nmap localhost
Лучшие сетевые приложения для Linux 2023 — Teletype

3.3 Открытие и закрытие портов

Порты управляются с помощью файрволов, таких как ufw, iptables или nftables.

С ufw:

sudo ufw allow 80 # открыть порт sudo ufw deny 80 # закрыть порт sudo ufw status # статус файрвола

С iptables:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j DROP

С nftables:

sudo nft add rule inet filter input tcp dport 80 accept sudo nft add rule inet filter input tcp dport 80 drop

4. Защита сетевых портов

4.1 Отключение неиспользуемых портов

Неиспользуемые порты - потенциальные точки входа для злоумышленников. Используйте netstat или ss для их выявления и закрытия.

4.2 Ограничение доступа по IP

Ограничьте доступ к портам только доверенным IP-адресам.

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.10 -j ACCEPT

4.3 Использование port knocking

Port knocking добавляет уровень безопасности, требуя специальной последовательности подключений для открытия порта.

Установка knockd:

sudo apt install knockd

Настройте последовательность в /etc/knockd.conf.

5. Попрактикуйтесь!

  • Просмотр активных портов с помощью netstat или ss.
  • Безопасность SSH: изменение порта по умолчанию в /etc/ssh/sshd_config:
Port 2222 sudo systemctl restart ssh
  • Сканирование системы: используйте nmap для поиска открытых портов.
  • Создание пользовательских правил файрвола с ufw или iptables.

6. Применение на практике

  • Веб-серверы: открытие портов 80 и 443 для HTTP и HTTPS
  • Серверы баз данных: ограничение порта 3306 для конкретных IP
  • Удалённый доступ: защита порта 22 с помощью SSH-ключей и ограничений по IP

Итого

Сетевые порты - основа коммуникации между устройствами и сервисами. Понимание принципов их работы и грамотное управление портами в Linux позволяют оптимизировать производительность системы и повысить её безопасность

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59