Как устроен и работает брандмауэр Windows

  • Автор:

Windows-Firewall-Rules-000.pngБрандмауэр Windows впервые был представлен в 2001 году вместе с выходом SP2 для Windows XP, а современный облик приобрел вместе с выходом Windows Vista, но не смотря на столь преклонный возраст для многих он до сих пор остается чем-то непонятным. Такую ситуацию нельзя считать нормальной, как и полное отключение брандмауэра. Поэтому сегодня мы рассмотрим, как устроен и работает брандмауэр Windows, как он взаимодействует с пользователем и как следует составлять и читать его правила.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Мы уже не раз и не два говорили, что Microsoft имеет талант давать своим продуктам неудачные названия, которые очень часто становятся еще хуже при переводе на другие языки. Так и в этом случае, основной рабочий интерфейс брандмауэра называется Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.

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

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

Самый же надежный способ попасть в оснастку брандмауэра - это нажать Win + R и выполнить команду:

wf.msc

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

Windows-Firewall-Rules-001.pngОстановимся на них подробнее. Все правила брандмауэра распределяются по трем профилям: профиль домена, частный и общий профили. Профиль домена включается при входе компьютера в Active Directory и присоединении к доменной сети, частный и общий профили соответствуют частной и общедоступной сетям.

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

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

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

Нажав на Свойства брандмауэра Защитника Windows, мы можем изменить эти значения:

Windows-Firewall-Rules-002.png

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

  • Блокировать - все подключения, не соответствующие ни одному правилу запрещены
  • Разрешить - все подключения, не соответствующие ни одному правилу разрешены
  • Блокировать все подключения - все подключения запрещены, все разрешающие правила игнорируются

Последнее действие может применяться только к входящим подключениям.

По кнопке Настроить рядом с надписью Защищенные сетевые подключения можно выбрать сетевые интерфейсы, которые будут фильтроваться брандмауэром с выбранным профилем.

Также здесь можно настроить некоторые общие параметры и ведение журналов. И снова мы встречаем неудачную формулировку. Журналы брандмауэра нужны далеко не только для устранения неполадок.

Теперь перейдем к принципам составления правил, сразу запоминаем - порядок правил в брандмауэре Windows не имеет никакого значения, но используются следующие соглашения:

  • Явно заданное разрешающее правило имеет приоритет над запретом по умолчанию
  • Явно заданное запрещающее правило имеет приоритет над любыми разрешающими
  • При пересечении правил приоритет имеет более узкое правило (с более точно заданными критериями)

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

Например, вы создали запрещающее правило для сети-источника 192.168.1.0/24, теперь даже если вы создадите отдельное разрешающее правило для узла 192.168.1.100/32 - оно работать не будет, так как будет перекрываться явно заданным запрещающим.

Разработчики рекомендуют создавать собственные правила с достаточно точным описанием критериев, но при этом, по возможности, объединять адреса и порты в диапазоны, чтобы избежать снижения производительности из-за большого числа правил.

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

Windows-Firewall-Rules-003.pngВ целом - картина привычная. Но мы еще раз обратим внимание, что данный раздел отвечает за входящие подключения, т.е. всем перечисленным здесь приложениям мы разрешаем принимать входящие подключения, хотя части из них - это явно не нужно.

Почему так? Здесь мы еще раз сталкиваемся с плохим пользовательским интерфейсом. При первом запуске приложения, для которого нет ни одного правила в брандмауэре система показывает пользователю следующее диалоговое окно:

Windows-Firewall-Rules-004.pngДавайте несколько раз внимательно прочитаем его содержимое, из которого очень трудно понять, что именно мы разрешаем. А так как там написано, что брандмауэр заблокировал некоторые функции, то большая часть пользователей поймет это как ограничение функционала приложения и нажмет Разрешить.

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

По рекомендациям Microsoft данные правила должны создаваться в трех экземплярах, по одному для каждого профиля, однако не все приложения их соблюдают, например, AnyDesk создает правила согласно рекомендациям, в то время как другие приложения ограничиваются только текущим профилем.

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

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

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

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

Теперь перейдем к самому созданию правил, на выбор предлагается несколько шаблонов: Для программы, Для порта, Предопределенные. Если ничего из этого не устраивает - то выбираем Настраиваемые и задаем все критерии самостоятельно.

Windows-Firewall-Rules-005.pngДостаточно необычным для брандмауэров тут является возможность выбрать программу или службу, к которой будут применяться наши правила, надо сказать - это достаточно удобно, особенно если приложение работает с динамическими портами или использует несколько разных портов и протоколов, что позволяет избежать создания множества правил и ограничиться одним.

Windows-Firewall-Rules-006.pngСледующий шаг - Протокол и порты, тут все уже более-менее привычно, выбираем требуемый протокол из списка или указываем его номер, ниже задаем локальные и удаленные порты (если это применимо к выбранному протоколу). И снова сталкиваемся с собственной "терминологией" Microsoft, помним, что для входящих подключений локальный порт - это порт назначения, а удаленный порт - порт источника, для исходящих, соответственно, наоборот.

Windows-Firewall-Rules-007.pngПосле чего следует задать область действия правила, здесь все аналогично, помним, что локальные адреса - это адреса назначения, удаленные - адреса источника.

Windows-Firewall-Rules-008.png

Далее следует задать действие, разрешить или заблокировать и выбрать один или несколько профилей в которых будет действовать правило. А также задать имя и описание. Рекомендуется задавать понятные имена, чтобы по ним быстро можно было определить назначение правила. При необходимости добавляем подробности в описании.

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments