Spec-Zone.ru › Chef 16

firewalld ресурс

[править на GitHub]

Используйте firewalld ресурс проверки Chef InSpec, чтобы проверить, настроено ли firewalld для разрешения и запрета доступа к определённым хостам, службам и портам на системе.

У firewalld есть ряд зон, которые можно настроить для разрешения и запрета доступа к определённым хостам, службам и портам.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии InSpec v1.40.0.

Синтаксис

describe firewalld do
  it { should be_running }
  its('default_zone') { should eq 'public' }
  it { should have_service_enabled_in_zone('ssh', 'public') }
  it { should have_rule_enabled('family=ipv4 source address=192.168.0.14 accept', 'public') }
end

Используйте предложение where для проверки открытых интерфейсов, источников и служб в активных зонах.

describe firewalld.where { zone == 'public' } do
  its('interfaces') { should cmp ['enp0s3', 'eno2'] }
  its('sources') { should cmp ['192.168.1.0/24', '192.168.1.2'] }
  its('services') { should cmp ['ssh', 'icmp'] }
end

Свойства

interfaces

Свойство interfaces используется в сочетании с предложением where для отображения открытых интерфейсов в активной зоне.

describe firewalld.where { zone == 'public' } do
  its('interfaces') { should cmp ['enp0s3', 'eno2'] }
end

sources

Свойство sources используется в сочетании с предложением where для отображения открытых источников в активной зоне.

describe firewalld.where { zone == 'public' } do
  its('sources') { should cmp ['192.168.1.0/24', '192.168.1.2'] }
end

services

Свойство services используется в сочетании с предложением where для отображения открытых служб в активной зоне.

describe firewalld.where { zone == 'public' } do
  its('services') { should cmp ['ssh', 'icmp'] }
end

default_zone

Свойство default_zone отображает активную по умолчанию зону для использования.

its('default_zone') { should eq 'public' }

Сопоставители

Полный список доступных сопоставителей см. на нашей странице сопоставителей.

be_installed

Сопоставитель be_installed проверяет, установлена ли служба firewalld:

it { should be_installed }

be_running

Сопоставитель be_running проверяет, запущена ли служба firewalld:

it { should be_running }

have_zone

have_zone возвращает true или false, если зона установлена в firewalld. Это не означает, что зона активна.

it { should have_zone('public') }

have_service_enabled_in_zone

have_service_enabled_in_zone возвращает true или false, если служба разрешена в указанной зоне.

it { should have_service_enabled_in_zone('ssh', 'public') }

have_port_enabled_in_zone

have_port_enabled_in_zone возвращает true или false, если порт разрешен в указанной зоне.

it { should have_port_enabled_in_zone('22/tcp', 'public') }

have_rule_enabled

have_rule_enabled возвращает true или false, если rich-правило указано в зоне.

it { should have_rule_enabled('family=ipv4 source address=192.168.0.14 accept', 'public') }

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

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/firewalld/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API