Skip to content
EN
← Все статьи

Что такое брандмауэр: как работает и как настроить правила

Аппаратный межсетевой экран в стойке и монитор с таблицей правил

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

Что такое брандмауэр простыми словами

Представьте проходную с охранником. Каждый входящий пакет — посетитель: охранник смотрит, откуда он пришёл (IP источника), к какой двери идёт (порт) и по какому пропуску (TCP, UDP, ICMP). Есть подходящая строка в списке — пропускает, нет — разворачивает. Список — это правила, охранник — брандмауэр.

Три названия означают одно и то же. «Брандмауэр» — от немецкого Brandmauer, противопожарная стена (в строительстве так называют глухую стену между зданиями), firewall — английский перевод того же образа, «межсетевой экран» — термин нормативных документов.

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

Как работает межсетевой экран

Пакетный фильтр

Каждый пакет проверяется отдельно, по полям заголовка: адреса, порт, протокол, интерфейс. Правило вида «разрешить TCP на порт 22 с адреса 203.0.113.5» — это типичный пакетный фильтр. Он быстрый, но «без памяти»: не знает, ответ ли это на ваш запрос.

Фильтрация с отслеживанием состояния (stateful, SPI)

Брандмауэр ведёт таблицу соединений. Когда ваш компьютер открывает сайт, в таблицу записывается исходящее соединение, и ответные пакеты от сервера пропускаются автоматически, без отдельного правила. Любой входящий пакет, который не относится ни к одному известному соединению и не разрешён явно, отбрасывается. Так работают встроенный файрвол Windows, netfilter с conntrack в Linux, облачные группы безопасности и домашние роутеры (в меню — SPI Firewall).

Прикладной уровень: прокси, WAF и NGFW

Пакетный и stateful-фильтры не видят содержимого запроса: для них HTTP-запрос с SQL-инъекцией ничем не отличается от обычного. Эту задачу решают брандмауэры прикладного уровня. Веб-файрвол (WAF) разбирает HTTP и блокирует типовые атаки на сайты — подробно об этом в статье WAF: что это и как защищает сайт.

Порядок правил и политика по умолчанию

Правила проверяются сверху вниз, срабатывает первое совпавшее. В конце стоит политика по умолчанию: для входящего трафика правильная политика — «запретить всё, что не разрешено». Отказ бывает двух видов. DROP молча выбрасывает пакет — клиент ждёт до таймаута, а сканер видит порт как filtered. REJECT отвечает отказом (TCP RST или ICMP unreachable) — клиент сразу получает «соединение отклонено».

ТипЧто анализируетГде встречаетсяЧто не увидит
Пакетный фильтрIP, порт, протокол каждого пакета по отдельностиACL на маршрутизаторах, простые правила iptablesСвязь ответа с запросом, содержимое
Stateful (SPI)То же плюс состояние соединенияБрандмауэр Windows, ufw, firewalld, роутеры, облачные группы безопасностиАтаки внутри разрешённого протокола
Хостовый (персональный)Трафик конкретной машины, часто с привязкой к программеWindows, macOS, серверные LinuxТрафик соседних устройств в сети
WAFСодержимое HTTP-запросов: параметры, заголовки, телоПеред веб-сервером, в CDN, модулем nginxВсё, что не HTTP
NGFWПриложения, пользователи, TLS-трафик, сигнатуры атакПериметр корпоративной сетиЗависит от политики и лицензий; дорог и сложен

Брандмауэр Windows: где найти и как настроить

В Windows 10 и 11 встроен stateful-брандмауэр — «Брандмауэр Защитника Windows». По умолчанию он блокирует входящие соединения, для которых нет разрешающего правила, и пропускает исходящие. Правила действуют по профилям сети: «Домен», «Частная» и «Общедоступная». Чужой Wi-Fi помечайте как общедоступную сеть — у неё самые строгие правила.

Где найти настройки:

  • Windows 11: «Параметры» → «Конфиденциальность и защита» → «Безопасность Windows» → «Брандмауэр и защита сети».
  • Windows 10: «Параметры» → «Обновление и безопасность» → «Безопасность Windows» → «Брандмауэр и защита сети».
  • Полная консоль с правилами: нажмите Win+R и введите wf.msc — откроется «Монитор брандмауэра Защитника Windows в режиме повышенной безопасности».

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

netsh advfirewall show allprofiles state

Get-NetFirewallProfile | Format-Table Name, Enabled

Как разрешить приложение через брандмауэр

Когда программа впервые принимает входящие соединения, Windows спрашивает разрешение; если нажать «Отмена», появится запрещающее правило, и программа будет «не видна» по сети. Исправляется так: в разделе «Брандмауэр и защита сети» нажмите «Разрешить работу с приложением через брандмауэр» → «Изменить параметры», найдите программу и отметьте нужные профили. Нет в списке — «Разрешить другое приложение». То же командой (от имени администратора):

netsh advfirewall firewall add rule name="MyApp" dir=in action=allow program="C:\Program Files\MyApp\app.exe" enable=yes

New-NetFirewallRule -DisplayName "MyApp" -Direction Inbound -Program "C:\Program Files\MyApp\app.exe" -Action Allow

Как открыть порт в брандмауэре Windows

В wf.msc: «Правила для входящих подключений» → «Создать правило…» → «Для порта» → «Протокол TCP», «Определенные локальные порты», например 8080 → «Разрешить подключение» → отметьте профили (для сервера в домашней сети обычно только «Частная») → задайте понятное имя. Если доступ нужен только из локальной сети, откройте свойства правила и на вкладке «Область» ограничьте удалённые адреса. Командный вариант с таким ограничением:

netsh advfirewall firewall add rule name="Web 8080" dir=in action=allow protocol=TCP localport=8080 remoteip=192.168.1.0/24

New-NetFirewallRule -DisplayName "Web 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -RemoteAddress 192.168.1.0/24 -Action Allow

Remove-NetFirewallRule -DisplayName "Web 8080"

Как отключить брандмауэр — и почему лучше этого не делать

Отключить можно переключателем «Брандмауэр Microsoft Defender» внутри нужного профиля в разделе «Брандмауэр и защита сети» или командой Set-NetFirewallProfile -Profile Private -Enabled False. Но почти всегда это неверное решение: вы открываете все слушающие службы машины, включая общий доступ к файлам и удалённые протоколы, сразу на всех сетях профиля. Если что-то не работает из-за брандмауэра, создайте одно разрешающее правило для программы или порта. Отключение допустимо только как короткий диагностический шаг: выключили, проверили, что причина именно в нём, включили обратно (-Enabled True) и написали точечное правило.

Ошибки брандмауэра: 0x80070422 и «не удалось изменить параметры»

Сообщение «Брандмауэру Защитника Windows не удалось изменить некоторые параметры» или код 0x80070422 чаще всего означает, что остановлена или отключена служба «Брандмауэр Защитника Windows» (системное имя MpsSvc). Проверьте её командой sc query mpssvc или в services.msc: тип запуска должен быть «Автоматически». Если в «Безопасности Windows» написано, что брандмауэр управляется сторонним приложением, настройки перехватил установленный антивирус со своим файрволом — правила тогда настраиваются в нём. Сброс всех правил к заводским — netsh advfirewall reset (ваши разрешения тоже пропадут).

Файрвол на Linux-сервере: ufw, firewalld, iptables

В ядре Linux фильтрацией занимается подсистема netfilter, а ufw, firewalld и iptables — разные способы писать для неё правила. Выберите один инструмент на сервер и не смешивайте их. Главное правило перед включением: сначала разрешите SSH, иначе отрежете себе доступ.

ufw (Ubuntu, Debian)

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw allow from 203.0.113.5 to any port 5432 proto tcp
sudo ufw enable
sudo ufw status verbose

Посмотреть правила с номерами — sudo ufw status numbered, удалить — sudo ufw delete 4. Команда sudo ufw limit 22/tcp ограничивает частоту новых подключений к SSH; для полноценной защиты от перебора паролей лучше связка с fail2ban — см. fail2ban: установка, джейлы и защита от брутфорса SSH. Справка по синтаксису — в документации Ubuntu по UFW, обзор встроенного файрвола Windows — на Microsoft Learn.

firewalld (AlmaLinux, Rocky, RHEL, Fedora)

firewalld оперирует зонами: интерфейс привязан к зоне, а в зоне перечислены разрешённые сервисы и порты. Изменения с ключом --permanent применяются после перезагрузки правил.

sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.5" port port="5432" protocol="tcp" accept'
sudo firewall-cmd --reload

iptables и nftables напрямую

Минимальный набор для веб-сервера: разрешить loopback, ответы на уже установленные соединения, SSH и веб, остальное отбрасывать.

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -L -n -v

Такие правила живут до перезагрузки. В Debian и Ubuntu их сохраняют пакетом iptables-persistent (sudo netfilter-persistent save). На современных дистрибутивах команда iptables часто работает поверх nftables; посмотреть итоговый набор можно командой sudo nft list ruleset. Не забудьте про IPv6: правила iptables на него не распространяются, для него нужен ip6tables или общая таблица inet в nftables.

Ловушка Docker: порт открыт, хотя ufw его закрывает

Docker сам добавляет правила в netfilter для опубликованных портов, и они срабатывают раньше цепочек ufw. Контейнер, запущенный с -p 5432:5432, будет доступен из интернета даже при ufw default deny incoming. Если сервис нужен только локально, публикуйте его на loopback: -p 127.0.0.1:5432:5432, а ограничения для внешних портов добавляйте в цепочку DOCKER-USER. Механизм описан в документации Docker о фильтрации пакетов. У облачных серверов есть ещё уровень — группы безопасности провайдера, которые отсекают трафик до виртуальной машины.

Брандмауэр в роутере и на Mac

Домашний роутер защищает сеть двумя механизмами. NAT сам по себе не пропускает внутрь незапрошенные соединения: у устройств за роутером нет публичного адреса. Поверх него работает SPI-файрвол. Дыру в этой защите делаете вы сами, когда настраиваете проброс портов (Port Forwarding, «Виртуальные серверы»), и программы — через UPnP, который открывает порты автоматически. Если вы не пользуетесь играми по сети и домашними серверами, UPnP стоит выключить, а список пробросов периодически просматривать. Отдельно проверьте IPv6: если провайдер выдаёт его, NAT для него не работает, и всё держится на файрволе роутера. Как попасть в настройки — в статье 192.168.0.1 и 192.168.1.1: вход в роутер.

На macOS встроенный брандмауэр по умолчанию выключен. Включается в «Системных настройках» → «Сеть» → «Брандмауэр»; в «Параметрах» можно разрешить или запретить входящие соединения для конкретных программ и включить скрытый режим, при котором Mac не отвечает на ping. Состояние из терминала: /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate. В стандартных Android и iOS настраиваемого пользователем брандмауэра входящих соединений нет.

Как проверить, какие порты закрыты брандмауэром

Проверка состоит из двух половин: что слушает машина и что из этого видно снаружи.

  1. Посмотрите слушающие порты на самой машине. Linux: sudo ss -tulpn. Windows: netstat -ano | findstr LISTENING или Get-NetTCPConnection -State Listen. Всё, что слушает на 0.0.0.0 или [::], потенциально доступно извне.
  2. Проверьте машину снаружи. Узнайте свой внешний адрес через определение IP и запустите сканер портов по этому адресу. Открытый порт — сервис отвечает; closed — брандмауэр пропустил, но на порту никого нет или правило делает REJECT; filtered — пакеты молча отбрасываются. За домашним роутером вы увидите порты роутера, а не компьютера.
  3. Проверьте конкретный порт с другой машины: Test-NetConnection 203.0.113.10 -Port 22 в PowerShell или nc -zv 203.0.113.10 22 в Linux и macOS.

Если снаружи видны базы данных, панели управления или порт 3389 (RDP), это повод сразу закрыть их правилом и оставить доступ только с доверенных адресов. Разбор опасных портов — в статье Открытые порты сервера: как проверить и чем они опасны, другие способы проверки — в материале Как проверить открытые порты.

Частые вопросы

Нужен ли брандмауэр, если есть антивирус?

Да, они решают разные задачи. Антивирус проверяет файлы и процессы на машине, брандмауэр управляет сетевыми соединениями. Многие антивирусные пакеты включают свой файрвол и заменяют встроенный, но выключать фильтрацию совсем нельзя ни в том, ни в другом случае.

Можно ли навсегда отключить встроенный брандмауэр?

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

Чем брандмауэр отличается от WAF?

Обычный брандмауэр решает, пускать ли соединение на порт. WAF пропускает соединение на 443-й порт и уже внутри разбирает HTTP-запрос, отсекая инъекции и другие атаки на веб-приложение. Для сайта нужны оба.

Хватит ли брандмауэра в роутере?

Для защиты от входящих подключений из интернета — в основном да, если вы не пробрасывали порты и выключили UPnP. Но он не защищает от устройств внутри той же сети и от ноутбука в чужом Wi-Fi, поэтому хостовый брандмауэр на компьютере тоже нужен.

Почему правило есть, а порт снаружи всё равно закрыт?

Проверьте цепочку: слушает ли сервис внешний интерфейс, а не только 127.0.0.1; нет ли выше запрещающего правила; есть ли проброс на роутере или правило в облачной группе безопасности; не режет ли порт провайдер.

Проверьте ваш сайт прямо сейчас

Проверить безопасность сайта →
Другие статьи: Безопасность
Безопасность
Сайт или IP в чёрном списке: как проверить и выйти
21.07.2026 · 2 573 просм.
Безопасность
Как управлять доступом к вашим сайтам и сервисам: важные аспекты безопасности
19.09.2026 · 1 684 просм.
Безопасность
Как проверить сайт на вирусы: 4 уровня проверки и план лечения
01.04.2026 · 1 456 просм.
Безопасность
Правила WAF: написание эффективных политик веб-файрвола
16.03.2026 · 1 056 просм.