Настройка FirewallD на CentOS | Правила FirewallD
NVIDIA RTX PRO 6000 Blackwell Server Edition доступны к аренде в Казахстане!

NVIDIA RTX PRO 6000 Blackwell Server Edition доступны к аренде из дата - центра в г. Алматы.

По вопросам стоимости аренды пишите на адрес: sales@lincore.kz

Количество ограничено. 

phone dark
support@lincore.kz техническая поддержка
phone dark
support@lincore.kz техническая поддержка
NVIDIA RTX PRO 6000 Blackwell Server Edition доступны к аренде в Казахстане! sales@lincore.kz

Количество ограничено. 

">Подробнее

Использование FirewallD на CentOS - настройка и правила

6 ноября 2019 Просмотров 233

Что такое FirewallD

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

  • распределяет трафик не по зонам, а согласно правилам;
  • содержит правила «белого» и «черного» списка, в соответствии с которыми работает на данной сетевой точке;
  • может как ограничивать, так и блокировать трафик.

Опции

Firewalld имеет набор встроенных правил:

  • Drop: запрещает входящие подключения, но разрешает исходящие.
  • Block: исходя из наименования, полностью блокирует трафик.
  • Public: открывает подключения через SSH и DHClient.
  • External: активирует функцию NAT на выбранном сетевом интерфейсе.
  • Internal или Home: открывает порты для служб SSH, Samba, mDNS и DHCP.
  • Dmz: включает опцию «Демилитаризованная зона», которая разделяет частные сервисы от общедоступных.
  • Work: открывает доступ службам SSH и DHCP.
  • Trusted: переводится как «доверенный». Разрешает все соединения.

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

Второй вариант — Permanent. Любые изменения, которые внесены в данном режиме, сохраняются навсегда.

Инсталляция

 

По умолчанию Firewalld не входит в состав CentOS. Установим его:

sudo yum install firewalld

 

 

 

Для помещения его в автозагрузочную область прописываем:

sudo systemctl enable firewalld

Перезагружаем серверную платформу для активации изменений.

 

 

Конфигурирование Firewalld

 

Определим текущую настройку утилиты:

firewall-cmd --get-default-zone

Скриншот №1. Текущая зона.

Скриншот №1. Текущая зона.

Сейчас установлен шаблон public, т.е. все разрешено. Если необходимо получить подробный отчет, то используем --list-all в качестве ключа. Результат приведен ниже.

Важно! Команда запускается только с правами sudo.

Скриншот №2. Подробный отчет.

Скриншот №2. Подробный отчет.

Смена политики и интерфейса

 

Для смены шаблона, используем ключ --zone совместно с опцией смены сетевого интерфейса --change-interface. Например, заменить политику public на work с ее активацией на eth0:

sudo firewall-cmd --zone=work --change-interface=eth0

 

 

 

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

sudo firewall-cmd --get-active-zones

Скриншот №3. Смены шаблона.

Скриншот №3. Смены шаблона.

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

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

sudo firewall-cmd --set-default-zone=home

 

 

 

После выполнения команды всем сетевым интерфейсам пропишется шаблон home. Для показа текущего уровня вводим уже известный ключ --get-default-zone.

 

 

Открываем порт (сервис)

 

Firewalld также предоставляет сервисам доступ к портам используя ключ --add-service=<имя службы>. Для начала проверим список сервисов на сервере, запустив утилиту с опцией --get-services.

Скриншот №4. Список служб.

Скриншот №4. Список служб.

Получить подробную информацию о любом сервисе, обратившись через команду cat к внутреннему списку firewalld. Например, просмотрим описание службы audit:

cat /usr/lib/firewalld/services/audit.xml

Скриншот №5. Описание audit.

Скриншот №5. Описание audit.

Для активации порта любого сервиса из перечня прописываем в терминале:

sudo firewall-cmd --zone=work --add-service=audit

 

 

 

Данная конфигурация будет активна только до перезагрузки серверной платформы. Чтобы сделать ее постоянной, прописываем ключ --permanent:

sudo firewall-cmd --permanent --zone=work --add-service=audit

 

 

 

Если сервис audit больше не нужен, удалим его, используя опцию –remove-service=<имя службы>:

sudo firewall-cmd --zone=work --remove-service=audit --permanent

 

 

 

Альтернативный вариант открытия порта – указываем номер и имя протокола с указанием флага --add-port:

sudo firewall-cmd --zone=work --add-port=443/tcp

 

 

Важно! Любое изменение в списке сервисов можно отследить используя опцию --list-ports.

Удаление порта происходит при замене ключа --add-port на --remove-port с сохранением дальнейшего синтаксиса.

Как добавить новую службу

 

Как говорилось выше, полное описание служб внутри серверной ОС расположено по следующему пути: /usr/lib/firewalld/services/, далее идет xml-файл с именем службы.

 

 

 

Чтобы создать новый сервис, просто скопируем один из готовых вариантов в папку services, которая расположена внутри директории firewalld. В качестве примера взяли описание сервиса SSH и скопировали его с именем test:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/test.xml

 

 

Важно! Операция копирования выполняется только с правами администратора.

 

Откроем его при помощи текстового редактора nano:

sudo nano /etc/firewalld/services/test.xml

 

 

На экране появится подробное описание сервиса SSH:

Скриншот №6. Отредактируем описание.

Скриншот №6. Отредактируем описание.

В первом пункте меняем название службы на произвольное. По полю short она активируется через команды в дальнейшем. Второй пункт дает полное описание сервиса: прописываем детально.

 

 

 

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

Отредактировав файл, сохраняем изменения и перезапускаем службу.

Предыдущий пост Добавление правила в Windows Firewall (Брандмауэр Windows)
Следующий пост Утилита PS в Linux для вывода процессов на экран

Остались вопросы?

Задайте их нашему эксперту и получите квалифицированную консультацию

Оставить заявку