Spec-Zone.ru › Chef 18

Ресурс iptables

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

Используйте ресурс проверки аудита Chef InSpec, чтобы протестировать правила, определённые в iptables, который содержит таблицы правил фильтрации пакетов IP. Может быть более одной таблицы. Каждая таблица содержит одну (или более) цепочек (как встроенных, так и пользовательских). Цепочка — это список правил, сопоставляемых с пакетами. Когда правило соответствует, правило определяет, какой целевой объект назначить пакету.

Доступность

Установка

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

Версия

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

Синтаксис

Блок ресурса iptables объявляет тесты для правил в таблицах IP:

describe iptables(rule:'name', table:'name', chain: 'name') do
  it { should have_rule('RULE') }
end

где

  • iptables() может указать любую комбинацию rule, table, или chain
  • rule:'name' — имя правила, которое сопоставляется с набором пакетов
  • table:'name' — таблица сопоставления пакетов, по которой выполняется тест
  • chain: 'name' — имя пользовательской цепочки или одна из ACCEPT, DROP, QUEUE, или RETURN
  • have_rule('RULE') тестирует правило в списке iptables. Это должно соответствовать всей строке, взятой из iptables -S CHAIN.

Примеры

Следующие примеры показывают, как использовать этот ресурс проверки аудита Chef InSpec.

Проверка, находится ли цепочка INPUT в режиме по умолчанию ACCEPT

describe iptables do
  it { should have_rule('-P INPUT ACCEPT') }
end

Проверка, находится ли цепочка INPUT из таблицы mangle в режиме ACCEPT

describe iptables(table:'mangle', chain: 'INPUT') do
  it { should have_rule('-P INPUT ACCEPT') }
end

Проверка, есть ли правило, разрешающее трафик Postgres (5432/TCP)

describe iptables do
  it { should have_rule('-A INPUT -p tcp -m tcp -m multiport --dports 5432 -m comment --comment "postgres" -j ACCEPT') }
end

Обратите внимание, что спецификация правила должна точно соответствовать содержимому вывода iptables -S INPUT, который будет зависеть от того, как вы построили свои правила.

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

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

have_rule

Сопоставитель have_rule проверяет указанное правило по информации в файле iptables:

it { should have_rule('RULE') }

© 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/iptables/

Spec-Zone.ru

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