- Как проверить наличие открытых портов в Linux удаленно с помощью Nmap
- Как для локальной проверки открытых портов в Linux
- Удаление служб в Debian 10 Buster
- Как закрыть открытые порты в Linux с помощью UFW
- Как закрыть открытые порты в Linux с помощью iptables
- Статьи по теме
Команда netstat присутствует во всех компьютерных ОС (операционных системах) для мониторинга сетевых подключений . Следующая команда использует netstat для отображения всех прослушивающих портов с использованием протокола TCP:
Где:
netstat: вызывает программу.
-l: перечисляет порты прослушивания.
-t: указывает протокол TCP.
Вывод удобен для человека, хорошо упорядочен в столбцах, показывающих протокол, полученные и отправленные пакеты, локальные и удаленные IP-адреса и состояние порта.
Если вы измените TCP протокол для UDP результат, по крайней мере, в Linux, будет отображать только открытые порты без указания состояния, потому что, в отличие от протокола TCP, протокол UDP не имеет состояния.
Вы можете не указывать протоколы и использовать только опция -l или –listen для получения информации обо всех портах, прослушивающих независимо от протокола:
Опция выше будет отображать информацию для протоколов сокетов TCP, UDP и Unix.
Все приведенные выше примеры показывают, как распечатать информацию о прослушивающих портах без установленных соединений. Следующая команда показывает, как отображать порты прослушивания и установленные соединения:
Где:
netstat: вызывает программу
-v: verbosity
-a: показывает активные соединения.
-t: показывает TCP-соединения
-n: показывает порты в числовом значении
Допустим, вы определили подозрительный процесс в вашей системе, и вы хотите проверить связанные с ней порты. Вы можете использовать команду lsof , которая используется для вывода списка открытых файлов, связанных с процессами..
В следующем примере я проверю процесс 19327 :
Где:
lsof: вызывает программу
-i : перечисляет файлы, взаимодействующие с Интернетом, параметр 4 указывает печатать только IPv4, параметр 6 доступен для IPv6.
-a: указывает, что вывод должен быть объединен с помощью AND.
-p : указывает номер PID процесса, который вы хотите проверить.
Как видите, процесс связан с прослушивающим портом smtp.
Как проверить открытые порты на Linux удаленно
Если вы Если вы хотите обнаружить порты в удаленной системе, наиболее широко используемым инструментом является Nmap (Network Mapper). В следующем примере показано сканирование одного порта для Linuxhint.com :
Вывод упорядочен в 3 столбца с указанием порта, состояния порта и службы, прослушивающей порт.
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80 /tcp open http
161/tcp с фильтром snmp
443/tcp open https
1666/tcp с фильтром netview-aix-6
1723/tcp с фильтром pptp
6666/tcp отфильтровано irc
6667/tcp отфильтровано irc
6668/tcp отфильтровано irc
6669/tcp отфильтровано irc
9100/tcp отфильтровано jetdirect
По умолчанию Nmap сканирует только 1000 наиболее распространенных портов. Если вы хотите, чтобы Nmap сканировал все порты, выполните:
В этого руководства вы можете найти дополнительные руководства по Nmap для сканирования портов и целей с множеством дополнительных опций.
Удаление служб в Debian 10 buster
В дополнение к правилам брандмауэра, чтобы ваши порты были заблокированы, рекомендуется удалить ненужные службы. В Debian 10 Buster этого можно достичь с помощью apt.
В следующем примере показано, как удалить службу Apache 2 с помощью apt:
Если требуется, нажмите Y , чтобы завершить удаление..
Как закрыть открытые порты в Linux с помощью UFW
Если вы обнаружите открытые порты, вам не нужно их открывать, самое простое решение — закрыть их с помощью UFW (несложный брандмауэр)
. Есть два способа заблокировать порт: с помощью параметра deny и с помощью параметра reject разница в том, Команда reject сообщит второй стороне, что соединение было отклонено.
Чтобы заблокировать порт 22 с помощью правила deny , просто запустите :
Чтобы заблокировать порт 22 с помощью правила отклонить просто запустите:
В разделе Похожие статьи в конце этого урока вы можете найти хороший учебник по несложному брандмауэру.
Как закрыть открытые порты в Linux с помощью iptables
Хотя UFW — самый простой способ управлять портами, это интерфейс для Iptables.
В следующем примере показано, как отклонить подключения к порту 22 с помощью iptables:
Приведенное выше правило предписывает отклонить все входящие (INPUT) TCP-соединения с портом назначения (dport) 22. При отклонении источник будет проинформирован о том, что соединение было отклонено.
Следующее правило просто отбрасывает все пакеты без уведомления источника соединение было отклонено:
Надеюсь, вам было полезно это краткое руководство. Следите за LinuxHint для получения дополнительных обновлений и советов по Linux и сети.
Статьи по теме:
- Работа с UFW (несложный брандмауэр)
- Учебное пособие по основам NMAP
- Как составить список открытых портов в Firewalld
- Сканирование сети Nmap
- Установка и использование Zenmap (Nmap GUI) в Ubuntu и Debian
- Nmap: сканирование диапазонов IP-адресов
- Использование скриптов nmap: баннер Nmap возьмите
- 30 примеров Nmap