inspec-core 2.3.10 → 2.3.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -13
- data/etc/plugin_filters.json +25 -0
- data/inspec-core.gemspec +1 -1
- data/lib/bundles/inspec-compliance/api.rb +3 -0
- data/lib/bundles/inspec-compliance/configuration.rb +3 -0
- data/lib/bundles/inspec-compliance/http.rb +3 -0
- data/lib/bundles/inspec-compliance/support.rb +3 -0
- data/lib/bundles/inspec-compliance/target.rb +3 -0
- data/lib/inspec/objects/attribute.rb +3 -0
- data/lib/inspec/plugin/v2.rb +3 -0
- data/lib/inspec/plugin/v2/filter.rb +62 -0
- data/lib/inspec/plugin/v2/installer.rb +21 -1
- data/lib/inspec/plugin/v2/loader.rb +4 -0
- data/lib/inspec/profile.rb +3 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +25 -3
- data/lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb +65 -11
- data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +5 -1
- data/lib/resources/package.rb +1 -1
- metadata +4 -197
- data/docs/.gitignore +0 -2
- data/docs/README.md +0 -41
- data/docs/dev/control-eval.md +0 -62
- data/docs/dev/filtertable-internals.md +0 -353
- data/docs/dev/filtertable-usage.md +0 -533
- data/docs/dev/integration-testing.md +0 -31
- data/docs/dev/plugins.md +0 -323
- data/docs/dsl_inspec.md +0 -354
- data/docs/dsl_resource.md +0 -100
- data/docs/glossary.md +0 -381
- data/docs/habitat.md +0 -193
- data/docs/inspec_and_friends.md +0 -114
- data/docs/matchers.md +0 -161
- data/docs/migration.md +0 -293
- data/docs/platforms.md +0 -119
- data/docs/plugin_kitchen_inspec.md +0 -60
- data/docs/plugins.md +0 -57
- data/docs/profiles.md +0 -576
- data/docs/reporters.md +0 -170
- data/docs/resources/aide_conf.md.erb +0 -86
- data/docs/resources/apache.md.erb +0 -77
- data/docs/resources/apache_conf.md.erb +0 -78
- data/docs/resources/apt.md.erb +0 -81
- data/docs/resources/audit_policy.md.erb +0 -57
- data/docs/resources/auditd.md.erb +0 -89
- data/docs/resources/auditd_conf.md.erb +0 -78
- data/docs/resources/bash.md.erb +0 -85
- data/docs/resources/bond.md.erb +0 -100
- data/docs/resources/bridge.md.erb +0 -67
- data/docs/resources/bsd_service.md.erb +0 -77
- data/docs/resources/chocolatey_package.md.erb +0 -68
- data/docs/resources/command.md.erb +0 -176
- data/docs/resources/cpan.md.erb +0 -89
- data/docs/resources/cran.md.erb +0 -74
- data/docs/resources/crontab.md.erb +0 -103
- data/docs/resources/csv.md.erb +0 -64
- data/docs/resources/dh_params.md.erb +0 -221
- data/docs/resources/directory.md.erb +0 -40
- data/docs/resources/docker.md.erb +0 -240
- data/docs/resources/docker_container.md.erb +0 -113
- data/docs/resources/docker_image.md.erb +0 -104
- data/docs/resources/docker_plugin.md.erb +0 -80
- data/docs/resources/docker_service.md.erb +0 -124
- data/docs/resources/elasticsearch.md.erb +0 -252
- data/docs/resources/etc_fstab.md.erb +0 -135
- data/docs/resources/etc_group.md.erb +0 -85
- data/docs/resources/etc_hosts.md.erb +0 -88
- data/docs/resources/etc_hosts_allow.md.erb +0 -84
- data/docs/resources/etc_hosts_deny.md.erb +0 -84
- data/docs/resources/file.md.erb +0 -543
- data/docs/resources/filesystem.md.erb +0 -51
- data/docs/resources/firewalld.md.erb +0 -117
- data/docs/resources/gem.md.erb +0 -108
- data/docs/resources/group.md.erb +0 -71
- data/docs/resources/grub_conf.md.erb +0 -111
- data/docs/resources/host.md.erb +0 -96
- data/docs/resources/http.md.erb +0 -207
- data/docs/resources/iis_app.md.erb +0 -132
- data/docs/resources/iis_site.md.erb +0 -145
- data/docs/resources/inetd_conf.md.erb +0 -104
- data/docs/resources/ini.md.erb +0 -86
- data/docs/resources/interface.md.erb +0 -68
- data/docs/resources/iptables.md.erb +0 -74
- data/docs/resources/json.md.erb +0 -73
- data/docs/resources/kernel_module.md.erb +0 -130
- data/docs/resources/kernel_parameter.md.erb +0 -63
- data/docs/resources/key_rsa.md.erb +0 -95
- data/docs/resources/launchd_service.md.erb +0 -67
- data/docs/resources/limits_conf.md.erb +0 -85
- data/docs/resources/login_defs.md.erb +0 -81
- data/docs/resources/mount.md.erb +0 -79
- data/docs/resources/mssql_session.md.erb +0 -78
- data/docs/resources/mysql_conf.md.erb +0 -109
- data/docs/resources/mysql_session.md.erb +0 -84
- data/docs/resources/nginx.md.erb +0 -89
- data/docs/resources/nginx_conf.md.erb +0 -148
- data/docs/resources/npm.md.erb +0 -78
- data/docs/resources/ntp_conf.md.erb +0 -70
- data/docs/resources/oneget.md.erb +0 -63
- data/docs/resources/oracledb_session.md.erb +0 -103
- data/docs/resources/os.md.erb +0 -153
- data/docs/resources/os_env.md.erb +0 -101
- data/docs/resources/package.md.erb +0 -130
- data/docs/resources/packages.md.erb +0 -77
- data/docs/resources/parse_config.md.erb +0 -113
- data/docs/resources/parse_config_file.md.erb +0 -148
- data/docs/resources/passwd.md.erb +0 -151
- data/docs/resources/pip.md.erb +0 -77
- data/docs/resources/port.md.erb +0 -147
- data/docs/resources/postgres_conf.md.erb +0 -89
- data/docs/resources/postgres_hba_conf.md.erb +0 -103
- data/docs/resources/postgres_ident_conf.md.erb +0 -86
- data/docs/resources/postgres_session.md.erb +0 -79
- data/docs/resources/powershell.md.erb +0 -112
- data/docs/resources/processes.md.erb +0 -119
- data/docs/resources/rabbitmq_config.md.erb +0 -51
- data/docs/resources/registry_key.md.erb +0 -197
- data/docs/resources/runit_service.md.erb +0 -67
- data/docs/resources/security_policy.md.erb +0 -57
- data/docs/resources/service.md.erb +0 -131
- data/docs/resources/shadow.md.erb +0 -267
- data/docs/resources/ssh_config.md.erb +0 -83
- data/docs/resources/sshd_config.md.erb +0 -93
- data/docs/resources/ssl.md.erb +0 -129
- data/docs/resources/sys_info.md.erb +0 -52
- data/docs/resources/systemd_service.md.erb +0 -67
- data/docs/resources/sysv_service.md.erb +0 -67
- data/docs/resources/upstart_service.md.erb +0 -67
- data/docs/resources/user.md.erb +0 -150
- data/docs/resources/users.md.erb +0 -137
- data/docs/resources/vbscript.md.erb +0 -65
- data/docs/resources/virtualization.md.erb +0 -67
- data/docs/resources/windows_feature.md.erb +0 -69
- data/docs/resources/windows_hotfix.md.erb +0 -63
- data/docs/resources/windows_task.md.erb +0 -95
- data/docs/resources/wmi.md.erb +0 -91
- data/docs/resources/x509_certificate.md.erb +0 -161
- data/docs/resources/xinetd_conf.md.erb +0 -166
- data/docs/resources/xml.md.erb +0 -95
- data/docs/resources/yaml.md.erb +0 -79
- data/docs/resources/yum.md.erb +0 -108
- data/docs/resources/zfs_dataset.md.erb +0 -63
- data/docs/resources/zfs_pool.md.erb +0 -57
- data/docs/shared/matcher_be.md.erb +0 -1
- data/docs/shared/matcher_cmp.md.erb +0 -43
- data/docs/shared/matcher_eq.md.erb +0 -3
- data/docs/shared/matcher_include.md.erb +0 -1
- data/docs/shared/matcher_match.md.erb +0 -1
- data/docs/shell.md +0 -217
- data/docs/style.md +0 -178
- data/examples/README.md +0 -8
- data/examples/custom-resource/README.md +0 -3
- data/examples/custom-resource/controls/example.rb +0 -7
- data/examples/custom-resource/inspec.yml +0 -8
- data/examples/custom-resource/libraries/batsignal.rb +0 -20
- data/examples/custom-resource/libraries/gordon.rb +0 -21
- data/examples/inheritance/README.md +0 -65
- data/examples/inheritance/controls/example.rb +0 -14
- data/examples/inheritance/inspec.yml +0 -16
- data/examples/kitchen-ansible/.kitchen.yml +0 -25
- data/examples/kitchen-ansible/Gemfile +0 -19
- data/examples/kitchen-ansible/README.md +0 -53
- data/examples/kitchen-ansible/files/nginx.repo +0 -6
- data/examples/kitchen-ansible/tasks/main.yml +0 -16
- data/examples/kitchen-ansible/test/integration/default/default.yml +0 -5
- data/examples/kitchen-ansible/test/integration/default/web_spec.rb +0 -28
- data/examples/kitchen-chef/.kitchen.yml +0 -20
- data/examples/kitchen-chef/Berksfile +0 -3
- data/examples/kitchen-chef/Gemfile +0 -19
- data/examples/kitchen-chef/README.md +0 -27
- data/examples/kitchen-chef/metadata.rb +0 -7
- data/examples/kitchen-chef/recipes/default.rb +0 -6
- data/examples/kitchen-chef/recipes/nginx.rb +0 -30
- data/examples/kitchen-chef/test/integration/default/web_spec.rb +0 -28
- data/examples/kitchen-puppet/.kitchen.yml +0 -23
- data/examples/kitchen-puppet/Gemfile +0 -20
- data/examples/kitchen-puppet/Puppetfile +0 -25
- data/examples/kitchen-puppet/README.md +0 -53
- data/examples/kitchen-puppet/manifests/site.pp +0 -33
- data/examples/kitchen-puppet/metadata.json +0 -11
- data/examples/kitchen-puppet/modules/.gitkeep +0 -0
- data/examples/kitchen-puppet/test/integration/default/web_spec.rb +0 -28
- data/examples/meta-profile/README.md +0 -37
- data/examples/meta-profile/controls/example.rb +0 -13
- data/examples/meta-profile/inspec.yml +0 -13
- data/examples/plugins/inspec-resource-lister/Gemfile +0 -12
- data/examples/plugins/inspec-resource-lister/LICENSE +0 -13
- data/examples/plugins/inspec-resource-lister/README.md +0 -62
- data/examples/plugins/inspec-resource-lister/Rakefile +0 -40
- data/examples/plugins/inspec-resource-lister/inspec-resource-lister.gemspec +0 -45
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister.rb +0 -16
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/cli_command.rb +0 -70
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/plugin.rb +0 -55
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/version.rb +0 -10
- data/examples/plugins/inspec-resource-lister/test/fixtures/README.md +0 -24
- data/examples/plugins/inspec-resource-lister/test/functional/README.md +0 -18
- data/examples/plugins/inspec-resource-lister/test/functional/inspec_resource_lister_test.rb +0 -110
- data/examples/plugins/inspec-resource-lister/test/helper.rb +0 -26
- data/examples/plugins/inspec-resource-lister/test/unit/README.md +0 -17
- data/examples/plugins/inspec-resource-lister/test/unit/cli_args_test.rb +0 -64
- data/examples/plugins/inspec-resource-lister/test/unit/plugin_def_test.rb +0 -51
- data/examples/profile-attribute.yml +0 -2
- data/examples/profile-attribute/README.md +0 -14
- data/examples/profile-attribute/controls/example.rb +0 -11
- data/examples/profile-attribute/inspec.yml +0 -8
- data/examples/profile-sensitive/README.md +0 -29
- data/examples/profile-sensitive/controls/sensitive-failures.rb +0 -9
- data/examples/profile-sensitive/controls/sensitive.rb +0 -9
- data/examples/profile-sensitive/inspec.yml +0 -8
- data/examples/profile/README.md +0 -48
- data/examples/profile/controls/example.rb +0 -24
- data/examples/profile/controls/gordon.rb +0 -36
- data/examples/profile/controls/meta.rb +0 -36
- data/examples/profile/inspec.yml +0 -11
- data/examples/profile/libraries/gordon_config.rb +0 -59
@@ -1,57 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the audit_policy Resource
|
3
|
-
platform: linux
|
4
|
-
---
|
5
|
-
|
6
|
-
# audit_policy
|
7
|
-
|
8
|
-
Use the `audit_policy` InSpec audit resource to test auditing policies on the Windows platform. An auditing policy is a category of security-related events to be audited. Auditing is disabled by default and may be enabled for categories like account management, logon events, policy changes, process tracking, privilege use, system events, or object access. For each enabled auditing category property, the auditing level may be set to `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`.
|
9
|
-
|
10
|
-
<br>
|
11
|
-
|
12
|
-
## Availability
|
13
|
-
|
14
|
-
### Installation
|
15
|
-
|
16
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
17
|
-
|
18
|
-
### Version
|
19
|
-
|
20
|
-
This resource first became available in v1.0.0 of InSpec.
|
21
|
-
|
22
|
-
## Syntax
|
23
|
-
|
24
|
-
An `audit_policy` resource block declares a parameter that belongs to an audit policy category or subcategory:
|
25
|
-
|
26
|
-
describe audit_policy do
|
27
|
-
its('parameter') { should eq 'value' }
|
28
|
-
end
|
29
|
-
|
30
|
-
where
|
31
|
-
|
32
|
-
* `'parameter'` must specify a parameter
|
33
|
-
* `'value'` must be one of `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`
|
34
|
-
|
35
|
-
<br>
|
36
|
-
|
37
|
-
## Examples
|
38
|
-
|
39
|
-
The following examples show how to use this InSpec audit resource.
|
40
|
-
|
41
|
-
### Test that a parameter is not set to "No Auditing"
|
42
|
-
|
43
|
-
describe audit_policy do
|
44
|
-
its('Other Account Logon Events') { should_not eq 'No Auditing' }
|
45
|
-
end
|
46
|
-
|
47
|
-
### Test that a parameter is set to "Success"
|
48
|
-
|
49
|
-
describe audit_policy do
|
50
|
-
its('User Account Management') { should eq 'Success' }
|
51
|
-
end
|
52
|
-
|
53
|
-
<br>
|
54
|
-
|
55
|
-
## Matchers
|
56
|
-
|
57
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -1,89 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the auditd Resource
|
3
|
-
platform: linux
|
4
|
-
---
|
5
|
-
|
6
|
-
# auditd
|
7
|
-
|
8
|
-
Use the `auditd` InSpec audit resource to test the rules for logging that exist on the system. The audit.rules file is typically located under /etc/audit/ and contains the list of rules that define what is captured in log files. These rules are output using the auditctl -l command. This resource supports versions of `audit` >= 2.3.
|
9
|
-
|
10
|
-
<br>
|
11
|
-
|
12
|
-
## Availability
|
13
|
-
|
14
|
-
### Installation
|
15
|
-
|
16
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
17
|
-
|
18
|
-
### Version
|
19
|
-
|
20
|
-
This resource first became available in v1.38.8 of InSpec.
|
21
|
-
|
22
|
-
## Syntax
|
23
|
-
|
24
|
-
An `auditd` resource block declares one (or more) rules to be tested, and then what that rule should do:
|
25
|
-
|
26
|
-
describe auditd do
|
27
|
-
its('lines') { should include %r(-w /etc/ssh/sshd_config) }
|
28
|
-
end
|
29
|
-
|
30
|
-
or test that multiple individual rules are defined:
|
31
|
-
|
32
|
-
describe auditd do
|
33
|
-
its('lines') { should include %r(-a always,exit -F arch=.* -S init_module,delete_module -F key=modules) }
|
34
|
-
its('lines') { should include %r(-a always,exit -F arch=.* -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -F key=.+) }
|
35
|
-
end
|
36
|
-
|
37
|
-
where each test must declare one (or more) rules to be tested.
|
38
|
-
|
39
|
-
<br>
|
40
|
-
|
41
|
-
## Examples
|
42
|
-
|
43
|
-
The following examples show how to use this InSpec audit resource.
|
44
|
-
|
45
|
-
### Test if a rule contains a matching element that is identified by a regular expression
|
46
|
-
|
47
|
-
For `audit` >= 2.3:
|
48
|
-
|
49
|
-
describe auditd do
|
50
|
-
its('lines') { should include %r(-a always,exit -F arch=.* -S chown.* -F auid>=1000 -F auid!=-1 -F key=perm_mod) }
|
51
|
-
end
|
52
|
-
|
53
|
-
### Query the audit daemon status
|
54
|
-
|
55
|
-
describe auditd.status('backlog') do
|
56
|
-
it { should cmp 0 }
|
57
|
-
end
|
58
|
-
|
59
|
-
### Query properties of rules targeting specific syscalls or files - uniq is used to handle multiple rules for the same syscall with redundant field values
|
60
|
-
|
61
|
-
describe auditd.syscall('open') do
|
62
|
-
its('action.uniq') { should eq ['always'] }
|
63
|
-
its('list.uniq') { should eq ['exit'] }
|
64
|
-
end
|
65
|
-
|
66
|
-
describe auditd.file('/etc/sudoers') do
|
67
|
-
its('permissions') { should include ['x'] }
|
68
|
-
end
|
69
|
-
|
70
|
-
The where accessor can be used to filter on fields. For example:
|
71
|
-
|
72
|
-
describe auditd.syscall('chown').where { arch == "b32" } do
|
73
|
-
its('action') { should eq ['always'] }
|
74
|
-
its('list') { should eq ['exit'] }
|
75
|
-
its('exit') { should include ['-EACCES'] }
|
76
|
-
its('exit') { should include ['-EPERM'] }
|
77
|
-
end
|
78
|
-
|
79
|
-
The key filter may be useful in evaluating rules with particular key values:
|
80
|
-
|
81
|
-
describe auditd.where { key == "privileged" } do
|
82
|
-
its('permissions') { should include ['x'] }
|
83
|
-
end
|
84
|
-
|
85
|
-
<br>
|
86
|
-
|
87
|
-
## Matchers
|
88
|
-
|
89
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -1,78 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the auditd_conf Resource
|
3
|
-
platform: linux
|
4
|
-
---
|
5
|
-
|
6
|
-
# auditd_conf
|
7
|
-
|
8
|
-
Use the `auditd_conf` InSpec audit resource to test the configuration settings for the audit daemon. This file is typically located under `/etc/audit/auditd.conf'` on Unix and Linux platforms.
|
9
|
-
|
10
|
-
<br>
|
11
|
-
|
12
|
-
## Availability
|
13
|
-
|
14
|
-
### Installation
|
15
|
-
|
16
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
17
|
-
|
18
|
-
### Version
|
19
|
-
|
20
|
-
This resource first became available in v1.0.0 of InSpec.
|
21
|
-
|
22
|
-
## Syntax
|
23
|
-
|
24
|
-
A `auditd_conf` resource block declares configuration settings that should be tested:
|
25
|
-
|
26
|
-
describe auditd_conf('path') do
|
27
|
-
its('keyword') { should cmp 'value' }
|
28
|
-
end
|
29
|
-
|
30
|
-
where
|
31
|
-
|
32
|
-
* `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
|
33
|
-
* `('path')` is the non-default path to the `auditd.conf` configuration file
|
34
|
-
* `{ should cmp 'value' }` is the value that is expected
|
35
|
-
|
36
|
-
<br>
|
37
|
-
|
38
|
-
## Properties
|
39
|
-
|
40
|
-
This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
|
41
|
-
|
42
|
-
* `admin_space_left`, `admin_space_left_action`, `action_mail_acct`, `disk_error_action`, `disk_full_action`, `flush`, `freq`, `log_file`, `log_format`, `max_log_file`, `max_log_file_action`, `num_logs`, `space_left`, `space_left_action`
|
43
|
-
|
44
|
-
## Property Examples
|
45
|
-
|
46
|
-
The following examples show how to use this InSpec audit resource.
|
47
|
-
|
48
|
-
### Test the auditd.conf file
|
49
|
-
|
50
|
-
describe auditd_conf do
|
51
|
-
its('log_file') { should cmp '/full/path/to/file' }
|
52
|
-
its('log_format') { should cmp 'raw' }
|
53
|
-
its('flush') { should cmp 'none' }
|
54
|
-
its('freq') { should cmp 1 }
|
55
|
-
its('num_logs') { should cmp 0 }
|
56
|
-
its('max_log_file') { should cmp 6 }
|
57
|
-
its('max_log_file_action') { should cmp 'email' }
|
58
|
-
its('space_left') { should cmp 2 }
|
59
|
-
its('action_mail_acct') { should cmp 'root' }
|
60
|
-
its('space_left_action') { should cmp 'email' }
|
61
|
-
its('admin_space_left') { should cmp 1 }
|
62
|
-
its('admin_space_left_action') { should cmp 'halt' }
|
63
|
-
its('disk_full_action') { should cmp 'halt' }
|
64
|
-
its('disk_error_action') { should cmp 'halt' }
|
65
|
-
end
|
66
|
-
|
67
|
-
<br>
|
68
|
-
|
69
|
-
## Matchers
|
70
|
-
|
71
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
72
|
-
|
73
|
-
### `cmp`
|
74
|
-
|
75
|
-
The `cmp` matcher compares values across types.
|
76
|
-
|
77
|
-
its('freq') { should cmp 1 }
|
78
|
-
|
data/docs/resources/bash.md.erb
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the bash Resource
|
3
|
-
platform: linux
|
4
|
-
---
|
5
|
-
|
6
|
-
# bash
|
7
|
-
|
8
|
-
Use the `bash` InSpec audit resource to test an arbitrary command that is run on the system using a Bash script.
|
9
|
-
|
10
|
-
<br>
|
11
|
-
|
12
|
-
## Availability
|
13
|
-
|
14
|
-
### Installation
|
15
|
-
|
16
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
17
|
-
|
18
|
-
### Version
|
19
|
-
|
20
|
-
This resource first became available in v1.0.0 of InSpec.
|
21
|
-
|
22
|
-
## Syntax
|
23
|
-
|
24
|
-
A `command` resource block declares a command to be run, one (or more) expected outputs, and the location to which that output is sent:
|
25
|
-
|
26
|
-
describe bash('command') do
|
27
|
-
it { should exist }
|
28
|
-
its('property') { should eq 'expected value' }
|
29
|
-
end
|
30
|
-
|
31
|
-
where
|
32
|
-
|
33
|
-
* `'command'` must specify a command to be run
|
34
|
-
* `'property'` is one of `exit_status`, `stderr`, or `stdout`
|
35
|
-
* `'expected value'` tests the output of the command run on the system versus the expected output stated in the test
|
36
|
-
|
37
|
-
For example:
|
38
|
-
|
39
|
-
describe bash('ls -al /') do
|
40
|
-
its('stdout') { should match /bin/ }
|
41
|
-
its('stderr') { should eq '' }
|
42
|
-
its('exit_status') { should eq 0 }
|
43
|
-
end
|
44
|
-
|
45
|
-
<br>
|
46
|
-
|
47
|
-
## Properties
|
48
|
-
|
49
|
-
* `exit_status`, `stderr`, `stdout`
|
50
|
-
|
51
|
-
<br>
|
52
|
-
|
53
|
-
## Property Examples
|
54
|
-
|
55
|
-
### exit_status
|
56
|
-
|
57
|
-
The `exit_status` property tests the exit status for the command:
|
58
|
-
|
59
|
-
its('exit_status') { should eq 0 }
|
60
|
-
|
61
|
-
### stderr
|
62
|
-
|
63
|
-
The `stderr` property tests results of the command as returned in standard error (stderr):
|
64
|
-
|
65
|
-
its('stderr') { should eq '' }
|
66
|
-
|
67
|
-
### stdout
|
68
|
-
|
69
|
-
The `stdout` property tests results of the command as returned in standard output (stdout).
|
70
|
-
|
71
|
-
its('stdout') { should match /bin/ }
|
72
|
-
|
73
|
-
<br>
|
74
|
-
|
75
|
-
## Matchers
|
76
|
-
|
77
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
78
|
-
|
79
|
-
### exist
|
80
|
-
|
81
|
-
If an absolute path is provided, the `exist` matcher tests if the command exists on the filesystem at the specified location. Otherwise, the `exist` matcher tests if the command is found in the PATH.
|
82
|
-
|
83
|
-
it { should exist }
|
84
|
-
|
85
|
-
|
data/docs/resources/bond.md.erb
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the bond Resource
|
3
|
-
platform: linux
|
4
|
-
---
|
5
|
-
|
6
|
-
# bond
|
7
|
-
|
8
|
-
Use the `bond` InSpec audit resource to test a logical, bonded network interface (i.e. "two or more network interfaces aggregated into a single, logical network interface"). On Linux platforms, any value in the `/proc/net/bonding` directory may be tested.
|
9
|
-
|
10
|
-
<br>
|
11
|
-
|
12
|
-
## Availability
|
13
|
-
|
14
|
-
### Installation
|
15
|
-
|
16
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
17
|
-
|
18
|
-
### Version
|
19
|
-
|
20
|
-
This resource first became available in v1.0.0 of InSpec.
|
21
|
-
|
22
|
-
## Syntax
|
23
|
-
|
24
|
-
A `bond` resource block declares a bonded network interface, and then specifies the properties of that bonded network interface to be tested:
|
25
|
-
|
26
|
-
describe bond('name') do
|
27
|
-
it { should exist }
|
28
|
-
end
|
29
|
-
|
30
|
-
where
|
31
|
-
|
32
|
-
* `'name'` is the name of the bonded network interface
|
33
|
-
* `{ should exist }` is a valid matcher for this resource
|
34
|
-
|
35
|
-
<br>
|
36
|
-
|
37
|
-
## Property Examples
|
38
|
-
|
39
|
-
The following examples show how to use this InSpec audit resource.
|
40
|
-
|
41
|
-
### content
|
42
|
-
|
43
|
-
The `content` matcher tests if contents in the file that defines the bonded network interface match the value specified in the test. The values of the `content` matcher are arbitrary.
|
44
|
-
|
45
|
-
its('content') { should match('value') }
|
46
|
-
|
47
|
-
### interfaces
|
48
|
-
|
49
|
-
The `interfaces` matcher tests if the named secondary interfaces are available.
|
50
|
-
|
51
|
-
its('interfaces') { should eq ['eth0', 'eth1', ...] }
|
52
|
-
|
53
|
-
### mode
|
54
|
-
|
55
|
-
The `mode` matcher tests the Bonding Mode.
|
56
|
-
|
57
|
-
its('mode') { should eq 'IEEE 802.3ad Dynamic link aggregation' }
|
58
|
-
|
59
|
-
### params
|
60
|
-
|
61
|
-
The `params` matcher tests arbitrary parameters for the bonded network interface.
|
62
|
-
|
63
|
-
its('params') { should eq 'value' }
|
64
|
-
|
65
|
-
### Test if eth0 is a secondary interface for bond0
|
66
|
-
|
67
|
-
describe bond('bond0') do
|
68
|
-
it { should exist }
|
69
|
-
it { should have_interface 'eth0' }
|
70
|
-
end
|
71
|
-
|
72
|
-
### Test parameters for bond0
|
73
|
-
|
74
|
-
describe bond('bond0') do
|
75
|
-
its('mode') { should eq 'IEEE 802.3ad Dynamic link aggregation' }
|
76
|
-
its('Transmit Hash Policy') { should eq 'layer3+4 (1)' }
|
77
|
-
its('MII Status') { should eq 'up' }
|
78
|
-
its('MII Polling Interval (ms)') { should eq '100' }
|
79
|
-
its('Up Delay (ms)') { should eq '0' }
|
80
|
-
its('Down Delay (ms)') { should eq '0' }
|
81
|
-
end
|
82
|
-
|
83
|
-
<br>
|
84
|
-
|
85
|
-
## Matchers
|
86
|
-
|
87
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
88
|
-
|
89
|
-
### exist
|
90
|
-
|
91
|
-
The `exist` matcher tests if the bonded network interface is available:
|
92
|
-
|
93
|
-
it { should exist }
|
94
|
-
|
95
|
-
### have_interface
|
96
|
-
|
97
|
-
The `have_interface` matcher tests if the bonded network interface has one (or more) secondary interfaces:
|
98
|
-
|
99
|
-
it { should have_interface }
|
100
|
-
|
@@ -1,67 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the bridge Resource
|
3
|
-
platform: linux
|
4
|
-
---
|
5
|
-
|
6
|
-
# bridge
|
7
|
-
|
8
|
-
Use the `bridge` InSpec audit resource to test basic network bridge properties, such as name, if an interface is defined, and the associations for any defined interface.
|
9
|
-
|
10
|
-
<br>
|
11
|
-
|
12
|
-
## Availability
|
13
|
-
|
14
|
-
### Installation
|
15
|
-
|
16
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
17
|
-
|
18
|
-
### Version
|
19
|
-
|
20
|
-
This resource first became available in v1.0.0 of InSpec.
|
21
|
-
|
22
|
-
## Syntax
|
23
|
-
|
24
|
-
A `bridge` resource block declares the bridge to be tested and what interface it should be associated with:
|
25
|
-
|
26
|
-
describe bridge('br0') do
|
27
|
-
it { should exist }
|
28
|
-
it { should have_interface 'eth0' }
|
29
|
-
end
|
30
|
-
|
31
|
-
<br>
|
32
|
-
|
33
|
-
## Properties
|
34
|
-
|
35
|
-
* On Linux platforms, any value in the `/sys/class/net/{interface}/bridge` directory may be tested
|
36
|
-
* On the Windows platform, the `Get-NetAdapter` cmdlet is associated with the `Get-NetAdapterBinding` cmdlet and returns the `ComponentID ms_bridge` value as a JSON object
|
37
|
-
|
38
|
-
<br>
|
39
|
-
|
40
|
-
## Property Examples
|
41
|
-
|
42
|
-
### interfaces
|
43
|
-
|
44
|
-
The `interfaces` property tests if the named interface is present:
|
45
|
-
|
46
|
-
its('interfaces') { should eq 'foo' }
|
47
|
-
its('interfaces') { should eq 'bar' }
|
48
|
-
its('interfaces') { should include('foo') }
|
49
|
-
|
50
|
-
<br>
|
51
|
-
|
52
|
-
## Matchers
|
53
|
-
|
54
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
55
|
-
|
56
|
-
### exist
|
57
|
-
|
58
|
-
The `exist` matcher tests if the network bridge is available:
|
59
|
-
|
60
|
-
it { should exist }
|
61
|
-
|
62
|
-
### have_interface
|
63
|
-
|
64
|
-
The `have_interface` matcher tests if the named interface is defined for the network bridge:
|
65
|
-
|
66
|
-
it { should have_interface 'eth0' }
|
67
|
-
|