Как настроить брандмауэр Windows и правила

В Debian 10 Buster по умолчанию реализован новый механизм управления брандмауэром Linux Netfilter, который представлен в виде фреймворка nftables. Следовательно, Nftables может рассматриваться, как современная, более продвинутая и безусловно функциональная замена таким инструментам, как iptables, ip6tables, arptables и ebtables. Итак, в данной статье рассматривается настройка nftables в Debian 10.

Права для порта

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

На этот раз будет продемонстрирован пример блокировки TCP порта 110, который, как вы знаете, отвечает за прием почты, – протокол Post Office Protocol v3, POP3. Выполняются такие действия:

Права для порта
  1. В редакторе управления групповыми политиками следует перейти к тому же узлу, что и в предыдущем примере, а затем из контекстного меню области сведений выбрать команду «Создать правило» (New Rule), как было показано на первой иллюстрации;
  2. На этот раз на странице «Тип правила» (Rule Type) вам нужно установить переключатель на опцию «Для порта» (Port) и перейти к следующей странице;
  3. Как видно на следующей иллюстрации, после выбора указанной на предыдущем шаге опции вы перейдете на страницу «Протокол и порты» (Protocols and Ports), где вам нужно в первом управляющем элементе «Укажите протокол, к которому будет применяться это правило» (Does the rule apply to TCP or UDP) выбрать тип протокола (UDP либо TCP), например, «Протокол TCP» (TCP), а в группе параметров, отвечающих за определение портов, нужно установить переключатель на опцию «Определенные локальные порты» (Specific local ports) и в соответствующем текстовом поле указать номер порта – 110;

    Рис. 5. Определение блокируемых портов

  4. На странице определения действия для правила вам нужно точно так же, как и в предыдущем примере, установить переключатель на опцию «Блокировать подключение» (Block the Connection), а затем переходить к следующей странице мастера;
  5. На странице «Профиль» (Profile) так же выбирается необходимый профиль, например, доменный. Затем можно двигаться дальше;
  6. Последняя страница, страница «Имя» (Name), на которой осталось указать имя для создаваемого правила, например, «Blocking 110 Port», и сохранить новое правило;
  7. Как и в предыдущем примере, далее создается идентичное правило для исходящих подключений.

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

Рис. 6. Попытка получения новой почты

Права для порта

        Stateless  NAT        

   Когда то давно в ядре Linux был незатейливый NAT, положение соединений не отслеживалось. Устройство их отслеживания (conntrack) устроил жизнь сетевых админов куда чем лучше. Трудные протоколы больше чем с одним соединением прекратили быть неразрешимой задачей. Кроме этого,обработка пакетов стала скорее, потому что основную массу из них довольно сравнить с таблицей соединений (опция state в iptables), и уже не надо прогонять сквозь целый комплект правил.    Тем неменее временами stateless NAT — вправду одно из лучших решений. К примеру, провайдеры хостинга VPS вроде Amazon обширно используют 1:1 NAT, дабы облегчить управление сетью, — у самой виртуалки «серый» адресок, собственно что разрешает развязать наружную и внутреннюю маршрутизацию. Выслеживать направления трафика в данном случае не содержит смысла, потому что заключение для всех пакетов с одним адресом всякий раз однообразное.    В iptables это было возможно только при трансляции сетей IPv6 (NPTv6). В nftables снова появилась «тупая» (а значит, очень быстрая) трансляция адресов. Например, транслируем внешний адрес 192.0.2.1 во внутренний 10.0.0.1.  

table ip raw { chain prerouting { type filter hook prerouting priority raw; policy accept; ip daddr 192.0.2.5 ip daddr set 10.0.0.1 notrack } }

Включение логов

Во время настройки полезно включить логи, чтобы мониторить заблокированные пакеты и выяснять, почему отсутствует доступ к необходимым сервисам, которые мы вроде бы уже открыли. Я отправляю все заблокированные пакеты в отдельные цепочки (block_in, block_out, block_fw), соответствующие направлению трафика и маркирую в логах каждое направление. Так удобнее делать разбор полетов. Добавляем следующие правила в самый конец скрипта, перед сохранением настроек:

Все заблокированные пакеты вы сможете отследить в файле /var/log/messages.

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

Послесловие

Если конечно Вам лень с этим возится руками, то ничто не мешает поставить сторонний фаерволл, который позволяет ставить правила, что называется «на лету». Есть даже легкие решения-интеграторы, вроде Windows 10 Firewall Control о котором мы уже писали ранее.

В общем, каждому своё, наше дело рассказать про брандмауэр Windows, а уж использовать его или нет, — дело Ваше.

Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье (может подскажу какие-то нюансы с особо заковыристыми правилами и всем таким).

Оставайтесь с нами 😉

Читайте также:  Почему исследователи до сих пор используют эмуляторы терминалов