Гид по технологиям

Сканирование портов и закрытие уязвимых портов

6 min read Кибербезопасность Обновлено 25 Dec 2025
Сканирование портов и закрытие уязвимых портов
Сканирование портов и закрытие уязвимых портов

женщина в полосатой рубашке на подвесном кресле с серебристым MacBook

Что такое сканирование портов и зачем оно нужно

Сканирование портов — это процесс проверки набора сетевых портов на устройстве, чтобы узнать, какие порты находятся в состоянии “открыт”, “закрыт”, “фильтруется” или “неопределён”. Краткие определения:

  • Открыт — на порту прослушивает служба и принимаются входящие соединения.
  • Закрыт — порт не прослушивается, но на него можно получить ответ RST (в случае TCP).
  • Фильтрован — межсетевой экран или фильтр блокирует трафик, сканер не получает ответа.
  • Неопределён — сканер не может достоверно определить состояние.

Сканирование нужно и для диагностики связности, и для оценки безопасности: вы увидите, какие сервисы доступны извне и какие из них требуют защиты.

Основные техники сканирования портов

вид на заднюю часть Wi‑Fi роутера

  • TCP connect scan — выполняет полный TCP‑handshake. Простая и надёжная, но более заметная и медленная.
  • TCP half‑open (SYN scan) — отправляет SYN и анализирует ответ без завершения рукопожатия. Быстрый и менее заметный.
  • UDP scan — проверяет UDP‑порты; медленный и с большим числом ложных срабатываний из‑за особенностей протокола.
  • Ping scan — определяет, какие узлы в сети активны, прежде чем сканировать порты.

Практические инструменты:

  • nmap — универсальный сканер с множеством режимов и опций.
  • netstat/ss/lsof — локальные инструменты для просмотра прослушивающих портов.
  • GUI‑утилиты и платные сервисы — для удобства у менее технических пользователей.

Пример команды nmap (SYN scan, быстрый):

nmap -sS -p 1-65535 -T4 target.example.com

Пример для полного TCP‑сканирования:

nmap -sT -p 1-65535 target.example.com

Как понять, что порт уязвим, и какие признаки повышают риск

Порт сам по себе не всегда уязвим — уязвимость зависит от сервиса, версии и конфигурации. Повышают риск:

  • Непатченный сервис, имеющий известные уязвимости.
  • Неправильная конфигурация (открытые административные интерфейсы без аутентификации).
  • Слабые сетевые правила и отсутствие сегментации.

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

Как найти, какая программа слушает порт (Linux / macOS / Windows)

  • Linux:
ss -tuln
sudo lsof -i -P -n
  • macOS:
sudo lsof -iTCP -sTCP:LISTEN -n -P
  • Windows (PowerShell):
netstat -ano
Get-NetTCPConnection | Format-Table -AutoSize

В выводе netstat/netstat‑аналогов ищите PID процесса, затем остановите процесс или найдите службу в диспетчере задач/службах.

Способы закрыть или ограничить порт

  1. Остановить или обновить службу, которая его использует.
  2. Настроить службу на прослушивание локального интерфейса (127.0.0.1) вместо всех адресов.
  3. Добавить правило брандмауэра, блокирующее доступ извне.
  4. Использовать VPN/SSH‑туннелирование или проброс портов только по защищённому каналу.

Примеры команд для блокировки порта:

  • Ubuntu (ufw):
sudo ufw deny 23/tcp
sudo ufw reload
  • iptables:
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
  • macOS (pfctl) — базовая инструкция:
echo "block in proto tcp from any to any port 23" | sudo pfctl -f -
sudo pfctl -e
  • Windows PowerShell:
New-NetFirewallRule -DisplayName 'Block Telnet' -Direction Inbound -LocalPort 23 -Protocol TCP -Action Block

Всегда документируйте внесённые правила и проверяйте, не нарушили ли вы работу легитимных сервисов.

Шаблон проверки и закрытия порта — мини‑методология

  1. Сканирование: запускаете nmap/локальные утилиты, получаете список открытых портов.
  2. Идентификация: для каждого порта выясняете PID/службу и её назначение.
  3. Оценка риска: проверяете, обновлён ли софт и есть ли публичные эксплойты.
  4. Решение: обновить/перенастроить/закрыть с помощью брандмауэра.
  5. Проверка: повторно сканируете хост, подтверждаете, что порт закрыт или недоступен извне.

Критерии приёмки

  • Все публичные сервисы имеют обновлённые версии и минимально необходимые открытые порты.
  • Административные интерфейсы доступны только из доверенных сетей или по VPN.
  • Для каждого изменённого правила есть запись в конфигурации и тест на работоспособность.

Чеклист для ролей

  • Системный администратор:

    • Выполнить полный nmap‑сканинг внешнего и внутреннего интерфейса.
    • Идентифицировать процессы и версии программ.
    • Закрыть порты через брандмауэр и документировать изменения.
  • Разработчик:

    • Настроить приложение на привязку к localhost для ненужных внешних портов.
    • Внедрять безопасные протоколы (HTTPS, SSH, SFTP).
  • Инженер SOC:

    • Настроить мониторинг изменений в прослушивающих портах.
    • Интегрировать результаты сканирования с SIEM.

Когда сканирование даёт ложные результаты и как их принять во внимание

  • Фильтрация трафика (WAF, IDS) может скрыть реальное состояние порта.
  • Сканирование UDP часто возвращает неопределённые ответы из‑за отсутствия подтверждения от сервиса.
  • NAT и прокси могут приводить к тому, что внешний скан показывает другой результат, чем локальный.

Решение: комбинируйте внешний и внутренний скан, используйте разные опции nmap (например, -Pn) и анализируйте логи брандмауэра.

Альтернативы и дополняющие подходы

  • Полное сканирование уязвимостей (Vulnerability Scanner) — проверяет сервисы на известные CVE.
  • IDS/IPS — обнаруживает и блокирует подозрительные попытки доступа.
  • Pentest — ручная проверка от проверенных специалистов.

Простое руководство для быстрого реагирования (Playbook)

  1. Получен результат сканирования с неожиданным открытым портом.
  2. Выполнить локальную проверку lsof/ss для определения процесса.
  3. Если процесс легитимен, убедиться, что он обновлён и защищён.
  4. Если процесс нежелателен — остановить и удалить программу, добавить правило брандмауэра.
  5. Повторно просканировать и зафиксировать инцидент в журнале.

Матрица рисков и возможные меры

  • Высокий риск: административные интерфейсы без защиты. Митигировать — доступ по VPN и многофакторная аутентификация.
  • Средний риск: устаревшие версии сервисов. Митигировать — срочный патчинг и сегментация сети.
  • Низкий риск: внутренние сервисы в доверенной сети. Митигировать — мониторинг и аудит доступа.

Советы по повышению стойкости

  • Минимизируйте число открытых портов — принцип минимальных привилегий сети.
  • Разделяйте сеть на сегменты и используйте ACL между сегментами.
  • Шифруйте трафик: используйте HTTPS/SSH/SFTP вместо незащищённых протоколов.
  • Внедрите регулярный процесс сканирования и приоритизации исправлений.

синий знак 'Бесплатный Wi‑Fi внутри' на деревянном столбе

Примеры команд и сниппеты для быстрого доступа

  • Показать все прослушивающие TCP‑порты (Linux):
ss -tuln
  • Показать процессы и PID для порта 80:
sudo lsof -i :80
  • Быстрый nmap для обнаружения открытых портов и сервисов:
nmap -sV -p- target.example.com
  • Проверка снаружи сети (без предварительного ping):
nmap -Pn -p 1-1024 target.example.com

Пара мыслей о конфиденциальности и соответствии

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

Краткое резюме

Сканирование портов — базовый и эффективный метод оценки поверхности атаки. Оно не заменяет полноценный аудит безопасности, но позволяет быстро найти и закрыть ненужные или уязвимые сервисы. Комбинация автоматизированных сканеров, локальных команд и правил брандмауэра даёт надёжную защиту при регулярном применении.

Важное: открытый порт — не приговор; сначала определите сервис и его роль, затем выбирайте между обновлением, ограничением доступа и полной блокировкой.

Сводка основных шагов:

  • Сканируйте регулярно и по изменению конфигураций.
  • Идентифицируйте процессы и версии.
  • Закрывайте или ограничивайте доступ с помощью брандмауэра.
  • Документируйте изменения и тестируйте.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро