Проверить открытые порты в Linux — 5 способов

Изучите свою сеть изнутри, регулярно проверяя открытые порты с помощью этих команд Linux.

Проверить открытые порты в Linux — 5 способов

Открытые сетевые порты — это самые простые точки входа в вашу сеть. Иногда нежелательные службы могут работать на портах, видимых извне из Интернета. В случае, если эти сервисы уязвимы, ваша сеть будет находиться под постоянной угрозой атаки, так как каждый день весь интернет массово сканируется на наличие уязвимых сервисов через открытые порты.

Узнайте, как сканировать и отображать открытые порты в ваших системах Linux, чтобы защитить вашу сеть от угроз.

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

Сетевые порты — это логические точки доступа системы, которые можно использовать в качестве канала для размещения нескольких служб. Порт представлен 16-битным целым числом, поэтому наибольший номер порта — 65535.

Вы можете думать о портах как об окнах и дверях дома — по сути, обо всех различных точках входа в дом или компьютер. Существует три типа портов: системные порты (1–1023), зарегистрированные порты (1024–49151) и временные или динамические порты (49152–65535).

Когда вы запускаете программу, которой требуется подключение к Интернету, она использует динамические порты для отправки и получения данных по сети. Однако когда вы запускаете веб-сервер или SSH-сервер, он обычно привязывается к системным портам или зарегистрированным портам.

Для веб-серверов, обслуживающих HTTP, системный порт по умолчанию — 80, а для SSH — 22. Эти правила, такие как диапазоны портов, разработаны Управлением по присвоению номеров в Интернете (IANA). Полный список всех портов и их функций можно просмотреть в документе Ports RFC.

Важно, чтобы вы знали наиболее уязвимые порты, чтобы убедиться, что они закрыты или защищены.

1. Проверьте наличие открытых портов с помощью netstat

Проверить открытые порты в Linux — 5 способов

netstat — это популярный инструмент, который вы можете использовать для просмотра сетевой статистики вашей системы Linux. Это часть пакета net-tools.

Пакет nettools в настоящее время устарел из-за отсутствия надлежащего обслуживания со стороны разработчиков. По этой же причине вы можете столкнуться с ошибкой «ifconfig: команда не найдена» при запуске популярной команды ifconfig в Linux.

Поэтому в современных системах может потребоваться сначала установить пакет net-tools, а затем запустить команду netstat. Как проверить открытые порты с помощью netstat:

netstat -tuln

Объяснение команды:

  • -t показывает порты TCP.
  • -u показывает порты UDP.
  • — I показываю порты прослушивания. Замените это на единицу, если вы хотите видеть все порты независимо от состояния.
  • -n Отображает числовое значение портов вместо преобразования в имена служб. Например, показать порт 22 вместо SSH, т.е сервис, работающий на этом порту.

2. Проверьте наличие открытых портов с помощью ss

Проверить открытые порты в Linux — 5 способов

ss — это современный эквивалент утилиты netstat. Вы найдете его предустановленным во всех современных дистрибутивах Linux. Синтаксис проверки открытых портов с помощью ss идентичен netstat.

Чтобы проверить открытые порты с помощью ss:

ss -tuln

Объяснение команды:

  • -t показывает порты TCP.
  • -u показывает порты UDP.
  • — I показываю порты прослушивания. Замените это на единицу, если вы хотите видеть все порты независимо от состояния.
  • -n Отображает числовое значение портов вместо преобразования в имена служб. Например, показать порт 21 вместо FTP, т.е служба работает на этом порту.

3. Проверьте наличие открытых портов с помощью Nmap

Проверить открытые порты в Linux — 5 способов

Nmap — один из самых популярных инструментов для кибербезопасности и работы в сети. Это обычное название, когда речь идет о тестировании на проникновение в сетевую безопасность. Его основным вариантом использования является сканирование портов, поэтому вы не только получаете информацию об открытых портах в вашей системе, но также и о том, являются ли они уязвимыми и пригодными для эксплуатации.

Кроме того, если вы хотите проверить открытые порты в удаленной системе с настроенными IDS/IPS и установленными брандмауэрами, не беспокойтесь, потому что Nmap также может обходить брандмауэры и IDS/IPS с помощью правильных переключателей.

Ознакомьтесь с этим подробным руководством для начинающих по Nmap, чтобы узнать о различных функциях Nmap и о том, как их использовать. Хотя вы можете, пытаться обойти брандмауэры не рекомендуется, так как это не является полностью безопасным, поэтому лучше всего использовать SSH на удаленном сервере, а затем запустить Nmap на нем локально.

Вот команда для проверки открытых портов с помощью Nmap:

nmap -sTU -sV -T 5 —минимальная скорость 9000 —минимальный параллелизм 9000 —initial-rtt-timeout 50ms —max-rtt-timeout 3000ms —max-attempts 50 -Pn —disable-arping -n —vuln script , эксплуатация, аутентификация -v -oX

Объяснение команды:

  • -sTU задает тип сканирования TCP Connect и сканирование UDP.
  • -T 5 устанавливает агрессивный временной шаблон для молниеносного сканирования (не рекомендуется в небезопасной системе, так как это может привести к DoS-атаке).
  • -sV включает сканирование службы.
  • —minimum rate 9000 указывает Nmap отправлять 9000 пакетов в секунду.
  • —initial-rtt-timeout 50ms указывает Nmap сначала ждать ответа на каждый отправляемый SYN-пакет в течение 50 мс.
  • —max-rtt-timeout 3000ms указывает Nmap ожидать ответа максимум 3000 мс.
  • —min-concurrency 9000 устанавливает минимальное количество одновременных запусков скриптов равным 9000.
  • —max-retries 50 указывает Nmap повторить попытку 50 раз для подключения к порту.
  • -Pn отключает пинг.
  • —disable-arp-ping отключает проверку ARP.
  • -n отключает разрешение DNS.
  • —script vuln,exploit,auth запускает три скрипта для проверки различных типов уязвимостей в обнаруженных портах.
  • -v возвращает подробный вывод.
  • -OX сохраняет результаты в файл XML.
  • -6 Необязательный параметр для сканирования адресов IPv6.

4. Проверьте наличие открытых портов с помощью lsof

Проверить открытые порты в Linux — 5 способов

Команда lsof в Linux используется для вывода списка открытых файлов. Но если вы добавите к нему несколько переключателей, вы сможете увидеть открытые интернет-соединения и порты на вашем локальном компьютере. Как проверить открытые порты с помощью lsof:

lsof -i -n

Объяснение команды:

  • -I показываю все сетевые и интернет-файлы.
  • -n не разрешает имена хостов.

5. Проверьте наличие открытых портов с помощью netcat

Проверить открытые порты в Linux — 5 способов

netcat — это утилита командной строки, которая позволяет вам читать и записывать в TCP/UDP-соединения и из них. Обратите внимание, что это только одна из функций netcat. Вы можете прочитать руководство с помощью команды man netcat, чтобы увидеть все функции и способы их использования.

Вот как использовать netcat для сканирования открытых портов:

nc -zv <ip-address> <start_port-end_port> | grep -v «refused»

Объяснение команды:

  • -z переводит netcat в режим сканирования.
  • -v возвращает подробный вывод.
  • grep -v «denied» возвращает строки вывода без слова «denied». Это необходимо для предотвращения загрязнения терминала сообщениями об отказе в соединении, когда netcat не получает вывод из порта.
  • 2>&1: Это дополнительный переключатель, который вам может понадобиться для работы grep при запуске netcat в подробном режиме netcat возвращает вывод в stderr (обозначается 2). Итак, чтобы обработать вывод grep, вам нужно перенаправить stderr на stdout (обозначается цифрой 1), а затем передать его grep.

Чем Глубже Вы знаете Свою Сеть, тем лучше сможете ее защитить

знание того, какие порты открыты и какие службы запущены в вашей системе, — отличный шаг к ее защите от возможных внешних атак. Это позволяет вам искать и отключать ненужные службы, находить устаревшие службы, а также узнавать, есть ли в вашей системе какие-либо вредоносные файлы, такие как бэкдоры привязки или обратной оболочки, работающие в вашей системе.

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

Рейтинг
( Пока оценок нет )
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: