Вопрос или проблема
На Windows Server 2022 я заблокировал порт 21 UDP/TCP (я все равно его не использую !!) Но:
nmap -SV <мой_сервер>
по-прежнему продолжает показывать мне :
PORT STATE SERVICE
21/tcp filtered ftp
Почему? Я всегда думал, что порт без каких-либо правил по умолчанию закрыт.
Это из-за “Режима невидимости”, используемого межсетевым экраном?
Я всегда думал, что порт без каких-либо правил по умолчанию закрыт.
Это, скорее, разные вещи. Обычно вы получаете closed
в nmap, если исходный пакет может пройти через межсетевой экран, но явно отклоняется самой ОС, в то время как пакеты, заблокированные межсетевым экраном, приводят к filtered
в nmap.
Но правило по умолчанию в межсетевом экране Windows на самом деле заключается в том, чтобы блокировать входящие пакеты, у которых нет своих собственных правил, поэтому ваша ручная блокировка не дает много результата.
Это из-за “Режима невидимости”, используемого межсетевым экраном?
Да, по умолчанию межсетевой экран Windows обеспечивает “невидимое” поведение для всех портов, которые не открыты в оба смысла этого термина. То есть как “заблокировано межсетевым экраном”, так и “разрешено межсетевым экраном, но слушателя нет” подвергаются невидимому обращению, и только “разрешено межсетевым экраном и присутствует слушатель” является полностью открытым.
Если вы отключите режим невидимости, то пакеты “заблокировано межсетевым экраном” все равно будут тихо отбрасываться, но как минимум “разрешено межсетевым экраном, но слушателя нет” корректно получит TCP RST в ответ.
Поведение межсетевого экрана Windows | Поведение ОС | Результат nmap |
---|---|---|
тихо отбрасывать (“Блокировать”) | н/д | filtered |
пропускать (“Разрешить”) | нет слушателя – тихо отбрасывать (“режим невидимости”) | filtered |
пропускать (“Разрешить”) | нет слушателя – ответить TCP Reset (без режима невидимости) | closed |
пропускать (“Разрешить”) | присутствует слушатель – ответить TCP Ack | open |
Ответ или решение
Фильтрация портов в Windows Firewall: Понимание поведения и возможностей
В контексте управления сетевой безопасностью на Windows Server 2022, понимание работы брандмауэра и обработки портов является ключевым аспектом для обеспечения безопасности систем. Ваше наблюдение, что порт 21 (FTP) остается в состоянии "filtered" после блокировки, вызывает некоторые вопросы, которые мы постараемся рассмотреть более подробно.
Объяснение состояния портов
Когда вы обнаруживаете, что в процессе сканирования с помощью nmap
порт 21 отображается как "filtered", это свидетельствует о том, что пакеты, отправленные на этот порт, блокируются сетевым фильтром (в данном случае — Windows Firewall). Разберемся в деталях:
-
Понимание состояния "filtered": Это состояние указывает на то, что пакеты, направленные на данный порт, были подавлены, и не получили ответа от сервера. Обычно это происходит из-за правил брандмауэра, которые явно запрещают доступ к этому порту.
-
Отличие от состояния "closed": Если бы порт был в состоянии "closed", это значило бы, что пакеты могут проходить через брандмауэр, однако служба, прослушивающая порт, не отвечает (обычно это отправка TCP Reset). Таким образом, состояние "filtered" не дает точного представления о том, открыт ли порт или закрыт.
Зачем блокировать порт 21?
Если вы не используете FTP на вашем сервере, блокировка порта 21 (как TCP, так и UDP) является разумным шагом, чтобы устранить потенциальные уязвимости, связанные с неиспользуемыми сервисами. Однако здесь уместно также отметить:
- Стандартное поведение Windows Firewall: По умолчанию Windows Firewall блокирует входящие соединения, если не созданы соответствующие правила. Это означает, что если вы не создали правила для порта 21, он будет блокироваться, но при этом будет по умолчанию в состоянии "filtered".
Режим "Stealth Mode"
Windows Firewall по умолчанию включает в себя режим "Stealth". Это означает, что он скрывает информацию о закрытых портах:
-
При включенном режиме "Stealth": Пакеты, отправленные на закрытые порты, просто подавляются, что приводит к состоянию "filtered". Эта мера безопасности делает вашу систему менее заметной для злоумышленников и более защищенной от сканирования.
-
При отключенном режиме "Stealth": Если вы отключите режим "Stealth", пакеты на портах без слушателя будут получать ответ TCP Reset, в результате чего
nmap
будет показывать их как "closed".
Как проверить и изменить настройки
Чтобы управлять фильтрацией портов, используйте следующие команды и действия:
-
Проверка настроек брандмауэра:
- Откройте командную строку и введите:
netsh advfirewall firewall show rule name=all
Это позволит вам увидеть все текущие правила брандмауэра.
- Откройте командную строку и введите:
-
Создание или изменение правил:
- Для блокировки порта 21 используйте команду:
netsh advfirewall firewall add rule name="Block FTP" dir=in action=block protocol=TCP localport=21
- Для блокировки порта 21 используйте команду:
-
Управление режимом "Stealth":
- Чтобы изменить настройки режимов, вам может потребоваться использовать графический интерфейс или редактор локальной групповой политики.
Заключение
Ваши наблюдения об использовании nmap
для сканирования портов на Windows Server 2022 продемонстрировали важные аспекты работы брандмауэра и фильтрации. Понять, почему порт 21 отображается как "filtered" при блокировке, можно через призму стандартного поведения Windows Firewall и его особенностей.
Убедитесь, что вы управляете своими правилами брандмауэра осознано, чтобы поддерживать высокий уровень безопасности сети вашей организации. Работа с сетевой безопасностью требует постоянного внимания и знания особенностей системной инфраструктуры.