Firewalld
Материал из pNp Wiki
Версия от 18:04, 20 февраля 2018; Andy (обсуждение | вклад) (→Список основных команд для firewalld)
Содержание
Настройка правил файрволла firewalld
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
firewalld
,firewalld-filesystem
Общая информация
firewalld
разделяет весь входящий трафик на зоны, где каждой зоне соответствует свой набор правил.
Для проверки принадлежности входящих соединений зоне, используется следующая логика, в которой побеждает первое совпадение:
- Исходный адрес входящего пакета совпадает с исходным правилом настройки зоны, в таком случае пакет отправляется на обработку в данной зоне.
- Если исходный интерфейс для пакета совпадает с правилами настройки зоны - эта зона будет использована
- В противном случае, будет использована зона по-умолчанию. Зона по-умолчанию не отдельная зона, поэтому она указывает на другую зону в системе.
Если поведение по-умолчанию не изменено администратором, либо конфигурацией 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 | Опция используется для постоянного применения изменений, однако изменения не распространяются на работающую конфигурацию, но вступят в силу только после перезагрузки. Если опция не задана, то изменения распространяются только на работающую конфигурацию. |