Ресурс etc_hosts_allow
Используйте ресурс аудита Chef InSpec, чтобы протестировать правила, определённые для принятия трафика демонов и клиентов в файле.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии InSpec v1.39.1.
Синтаксис
Правило etc/hosts.allow определяет один или несколько демонов, сопоставленных с одним или несколькими клиентами, с нулевыми или более опциями для принятия трафика при обнаружении.
Используйте предложение where для сопоставления свойства с одним или несколькими правилами в файле.
describe etc_hosts_allow.where { daemon == 'value' } do
its ('client_list') { should include ['values'] }
its ('options') { should include ['values'] }p
end
Используйте необязательный параметр конструктора для указания альтернативного пути к файлу.
describe etc_hosts_allow(hosts_path).where { daemon == 'value' } do
its ('client_list') { should include ['values'] }
its ('options') { should include ['values'] }
end
where
-
daemon— это фильтр, которому будет разрешено пропускать трафик. -
client_list,options— это допустимые свойства ресурса, которые проверяют список клиентов, которым будет разрешено пропускать трафик, и список задач, которые необходимо выполнить с правилом при обнаружении трафика соответственно.
Свойства
daemon
Свойство daemon возвращает строку, содержащую демон, разрешённый в правиле.
describe etc_hosts_allow.where { client_list == ['127.0.1.154', '[:fff:fAb0::]'] } do
its('daemon') { should eq ['vsftpd', 'sshd'] }
end
client_list
Свойство client_list возвращает двумерный массив строк, где каждая запись содержит клиентов, указанных для правила.
describe etc_hosts_allow.where { daemon == 'sshd' } do
its('client_list') { should include ['192.168.0.0/16', '[abcd::0000:1234]'] }
end
options
Свойство options возвращает двумерный массив строк, где каждая запись содержит любые опции, указанные для правила.
describe etc_hosts_allow.where { daemon == 'sshd' } do
its('options') { should include ['deny', 'echo "REJECTED"'] }
end
Сопоставители
Полный список доступных сопоставителей можно найти на нашей странице сопоставителей.
© 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/etc_hosts_allow/