Firewalld

Материал из pNp Wiki
Версия от 18:04, 20 февраля 2018; Andy (обсуждение | вклад) (Список основных команд для firewalld)

Перейти к: навигация, поиск

Настройка правил файрволла firewalld

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: firewalld, firewalld-filesystem

Общая информация

firewalld разделяет весь входящий трафик на зоны, где каждой зоне соответствует свой набор правил. Для проверки принадлежности входящих соединений зоне, используется следующая логика, в которой побеждает первое совпадение:

  1. Исходный адрес входящего пакета совпадает с исходным правилом настройки зоны, в таком случае пакет отправляется на обработку в данной зоне.
  2. Если исходный интерфейс для пакета совпадает с правилами настройки зоны - эта зона будет использована
  3. В противном случае, будет использована зона по-умолчанию. Зона по-умолчанию не отдельная зона, поэтому она указывает на другую зону в системе.

Если поведение по-умолчанию не изменено администратором, либо конфигурацией NetworkManager'а, то зона по-умолчанию для каждого нового интерфейса в системе становится зона public. firewalld поставляется с некоторым количеством сконфигурированных зон. Для управления файрволлом используется команда firewall-cmd. Конфигурационные файлы firewalld находятся в директории /etc/firewalld/

Сконфигрурированные зоны для firewalld

Параметр Значение
work Предназначено для использования в рабочем пространстве. Остальные компьютеры сети, по большей части, считаются надёжными (с точки зрения причинения вреда вашему ПК). Разрешены лишь отдельные входящие соединения (ssh, ipp-client, или dhcpv6-client).
drop Все входящие сетевые пакеты сбрасываются, ответ на них недопустим. Возможны только исходящие сетевые соединения.
internal Предназначено для использования во "внутренних" сетях. Остальные компьютеры сети, по большей части, считаются надёжными (с точки зрения причинения вреда вашему ПК). Разрешены лишь отдельные входящие соединения (ssh, mdns, ipp-client, samba-client, или dhcpv6-client).
external Предназначено для использования во "внешних" сетях с активированным режимом маскарадинга, особенно с применением роутеров. Остальные компьютеры сети считаются ненадёжными (с точки зрения причинения вреда вашему ПК). Разрешены лишь отдельные входящие соединения (ssh).
trusted Разрешены все сетевые соединения.
home Предназначено для использования в домашних сетях. Остальные компьютеры сети, по большей части, считаются надёжными (с точки зрения причинения вреда вашему ПК). Разрешены лишь отдельные входящие соединения (ssh, mdns, ipp-client, samba-client, или dhcpv6-client).
dmz Предназначено для компьютеров в личной "безоружной" зоне с ограниченным доступом к внутренней сети. Разрешены лишь отдельные входящие соединения (ssh).
public Предназначено для использования в общественных местах. Остальные компьютеры сети считаются ненадёжными (с точки зрения причинения вреда вашему ПК). Разрешены лишь отдельные входящие соединения (ssh и dhcpv6-client). Зона по-умолчанию для новых сетевых интерфейсов.
block Все входящие сетевые соединения отклоняются с сообщениями icmp-host-prohibited (для IPv4) и icmp6-adm-prohibited (для IPv6). Возможны только инициированные в рамках данной системы сетевые соединения.

Список основных команд для firewalld

Параметр Значение
-- get-default-zone Получение зоны, указанной по умолчанию для сетевых соединений.
-- set-default-zone Определение зоны по-умолчанию. Команда изменяет уже загруженную конфигурацию и постоянную.
--get-zones Получение списка всех доступных зон.
--get-services Получение списка поддерживаемых постоянно служб.
--get-active-zones Получение списка зон используемых в данный момент (имеют интерфейс или источник привязанный к ним, вместе с информацией об интерфейсе или источнике).
--add-source=source[/mask] [--zone=zone] Привязать трафик из источника к зоне. Если зона не указывается, то используется зона по-умолчанию.
--remove-source=source[/mask] [--zone=zone] Отвязать трафик из источника от зоны, если он был привязан ранее.
--add-interface=interface [--zone=zone] Привязать трафик из интерфейса к зоне. Если зона не указывается, то используется зона по-умолчанию.
--change-interface=interface [--zone=zone] Ассоциировать трафик от интерфейса с зоной. Если зона не указывается, то используется зона по-умолчанию.
--list-all [--zone=zone] Отображение списка интерфейсов, портов и сервисов, сконфигурированных для зоны. Если зона не указывается, то используется зона по-умолчанию.
--list-all-zones Отображение списка интерфейсов, портов и сервисов, сконфигурированных для всех зон.
--add-service=service Разрешить прохождение трафика к демону. Если зона не указывается, то используется зона по-умолчанию.
--add-port=portid[-portid]/protocol Разрешить прохождение трафика на порт/группу портов. Если зона не указывается, то используется зона по-умолчанию.
--remove-service=service Убрать прохождение трафика к демону. Если зона не указывается, то используется зона по-умолчанию.
--remove-port=portid[-portid]/protocol Убрать прохождение трафика на порт/группу портов. Если зона не указывается, то используется зона по-умолчанию.
--reload Перезагрузка правил файрвола без обрыва соединений.
--permanent Опция используется для постоянного применения изменений, однако изменения не распространяются на работающую конфигурацию, но вступят в силу только после перезагрузки. Если опция не задана, то изменения распространяются только на работающую конфигурацию.

Ссылки

Описание Firewalld