inspec 1.51.6 → 1.51.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +101 -101
- data/CHANGELOG.md +2915 -2902
- data/Gemfile +53 -53
- data/LICENSE +14 -14
- data/MAINTAINERS.md +31 -31
- data/MAINTAINERS.toml +47 -47
- data/README.md +419 -419
- data/Rakefile +167 -167
- data/bin/inspec +12 -12
- data/docs/.gitignore +2 -2
- data/docs/README.md +40 -40
- data/docs/dsl_inspec.md +258 -258
- data/docs/dsl_resource.md +93 -93
- data/docs/glossary.md +99 -99
- data/docs/habitat.md +191 -191
- data/docs/inspec_and_friends.md +107 -107
- data/docs/matchers.md +165 -165
- data/docs/migration.md +293 -293
- data/docs/plugin_kitchen_inspec.md +49 -49
- data/docs/profiles.md +370 -370
- data/docs/resources/aide_conf.md.erb +78 -78
- data/docs/resources/apache.md.erb +66 -66
- data/docs/resources/apache_conf.md.erb +67 -67
- data/docs/resources/apt.md.erb +70 -70
- data/docs/resources/audit_policy.md.erb +46 -46
- data/docs/resources/auditd.md.erb +78 -78
- data/docs/resources/auditd_conf.md.erb +68 -68
- data/docs/resources/auditd_rules.md.erb +116 -116
- data/docs/resources/bash.md.erb +74 -74
- data/docs/resources/bond.md.erb +89 -89
- data/docs/resources/bridge.md.erb +54 -54
- data/docs/resources/bsd_service.md.erb +65 -65
- data/docs/resources/command.md.erb +137 -137
- data/docs/resources/cpan.md.erb +77 -77
- data/docs/resources/cran.md.erb +63 -63
- data/docs/resources/crontab.md.erb +87 -87
- data/docs/resources/csv.md.erb +53 -53
- data/docs/resources/dh_params.md.erb +216 -216
- data/docs/resources/directory.md.erb +28 -28
- data/docs/resources/docker.md.erb +163 -163
- data/docs/resources/docker_container.md.erb +99 -99
- data/docs/resources/docker_image.md.erb +93 -93
- data/docs/resources/docker_service.md.erb +113 -113
- data/docs/resources/elasticsearch.md.erb +230 -230
- data/docs/resources/etc_fstab.md.erb +124 -124
- data/docs/resources/etc_group.md.erb +74 -74
- data/docs/resources/etc_hosts.md.erb +75 -75
- data/docs/resources/etc_hosts_allow.md.erb +73 -73
- data/docs/resources/etc_hosts_deny.md.erb +73 -73
- data/docs/resources/file.md.erb +512 -512
- data/docs/resources/filesystem.md.erb +40 -40
- data/docs/resources/firewalld.md.erb +105 -105
- data/docs/resources/gem.md.erb +78 -78
- data/docs/resources/group.md.erb +60 -60
- data/docs/resources/grub_conf.md.erb +101 -100
- data/docs/resources/host.md.erb +77 -77
- data/docs/resources/http.md.erb +104 -98
- data/docs/resources/iis_app.md.erb +120 -116
- data/docs/resources/iis_site.md.erb +132 -128
- data/docs/resources/inetd_conf.md.erb +95 -84
- data/docs/resources/ini.md.erb +72 -69
- data/docs/resources/interface.md.erb +55 -46
- data/docs/resources/iptables.md.erb +63 -63
- data/docs/resources/json.md.erb +61 -61
- data/docs/resources/kernel_module.md.erb +106 -106
- data/docs/resources/kernel_parameter.md.erb +58 -58
- data/docs/resources/key_rsa.md.erb +73 -73
- data/docs/resources/launchd_service.md.erb +56 -56
- data/docs/resources/limits_conf.md.erb +66 -66
- data/docs/resources/login_def.md.erb +62 -62
- data/docs/resources/mount.md.erb +68 -68
- data/docs/resources/mssql_session.md.erb +59 -59
- data/docs/resources/mysql_conf.md.erb +98 -98
- data/docs/resources/mysql_session.md.erb +73 -73
- data/docs/resources/nginx.md.erb +78 -78
- data/docs/resources/nginx_conf.md.erb +127 -127
- data/docs/resources/npm.md.erb +59 -59
- data/docs/resources/ntp_conf.md.erb +59 -59
- data/docs/resources/oneget.md.erb +52 -52
- data/docs/resources/oracledb_session.md.erb +51 -51
- data/docs/resources/os.md.erb +140 -140
- data/docs/resources/os_env.md.erb +77 -77
- data/docs/resources/package.md.erb +119 -119
- data/docs/resources/packages.md.erb +66 -66
- data/docs/resources/parse_config.md.erb +102 -102
- data/docs/resources/parse_config_file.md.erb +137 -137
- data/docs/resources/passwd.md.erb +140 -140
- data/docs/resources/pip.md.erb +66 -66
- data/docs/resources/port.md.erb +136 -136
- data/docs/resources/postgres_conf.md.erb +78 -78
- data/docs/resources/postgres_hba_conf.md.erb +92 -92
- data/docs/resources/postgres_ident_conf.md.erb +75 -75
- data/docs/resources/postgres_session.md.erb +68 -68
- data/docs/resources/powershell.md.erb +101 -101
- data/docs/resources/processes.md.erb +107 -107
- data/docs/resources/rabbitmq_config.md.erb +40 -40
- data/docs/resources/registry_key.md.erb +157 -157
- data/docs/resources/runit_service.md.erb +56 -56
- data/docs/resources/security_policy.md.erb +46 -46
- data/docs/resources/service.md.erb +120 -120
- data/docs/resources/shadow.md.erb +143 -143
- data/docs/resources/ssh_config.md.erb +79 -79
- data/docs/resources/sshd_config.md.erb +82 -82
- data/docs/resources/ssl.md.erb +118 -118
- data/docs/resources/sys_info.md.erb +41 -41
- data/docs/resources/systemd_service.md.erb +56 -56
- data/docs/resources/sysv_service.md.erb +56 -56
- data/docs/resources/upstart_service.md.erb +56 -56
- data/docs/resources/user.md.erb +139 -139
- data/docs/resources/users.md.erb +126 -126
- data/docs/resources/vbscript.md.erb +54 -54
- data/docs/resources/virtualization.md.erb +56 -56
- data/docs/resources/windows_feature.md.erb +46 -46
- data/docs/resources/windows_hotfix.md.erb +52 -52
- data/docs/resources/windows_task.md.erb +89 -89
- data/docs/resources/wmi.md.erb +80 -80
- data/docs/resources/x509_certificate.md.erb +150 -150
- data/docs/resources/xinetd_conf.md.erb +155 -155
- data/docs/resources/xml.md.erb +84 -84
- data/docs/resources/yaml.md.erb +68 -68
- data/docs/resources/yum.md.erb +97 -97
- data/docs/resources/zfs_dataset.md.erb +52 -52
- data/docs/resources/zfs_pool.md.erb +46 -46
- data/docs/ruby_usage.md +203 -203
- data/docs/shared/matcher_be.md.erb +1 -1
- data/docs/shared/matcher_cmp.md.erb +43 -43
- data/docs/shared/matcher_eq.md.erb +3 -3
- data/docs/shared/matcher_include.md.erb +1 -1
- data/docs/shared/matcher_match.md.erb +1 -1
- data/docs/shell.md +172 -172
- data/examples/README.md +8 -8
- data/examples/inheritance/README.md +65 -65
- data/examples/inheritance/controls/example.rb +14 -14
- data/examples/inheritance/inspec.yml +15 -15
- data/examples/kitchen-ansible/.kitchen.yml +25 -25
- data/examples/kitchen-ansible/Gemfile +19 -19
- data/examples/kitchen-ansible/README.md +53 -53
- data/examples/kitchen-ansible/files/nginx.repo +6 -6
- data/examples/kitchen-ansible/tasks/main.yml +16 -16
- data/examples/kitchen-ansible/test/integration/default/default.yml +5 -5
- data/examples/kitchen-ansible/test/integration/default/web_spec.rb +28 -28
- data/examples/kitchen-chef/.kitchen.yml +20 -20
- data/examples/kitchen-chef/Berksfile +3 -3
- data/examples/kitchen-chef/Gemfile +19 -19
- data/examples/kitchen-chef/README.md +27 -27
- data/examples/kitchen-chef/metadata.rb +7 -7
- data/examples/kitchen-chef/recipes/default.rb +6 -6
- data/examples/kitchen-chef/recipes/nginx.rb +30 -30
- data/examples/kitchen-chef/test/integration/default/web_spec.rb +28 -28
- data/examples/kitchen-puppet/.kitchen.yml +22 -22
- data/examples/kitchen-puppet/Gemfile +20 -20
- data/examples/kitchen-puppet/Puppetfile +25 -25
- data/examples/kitchen-puppet/README.md +53 -53
- data/examples/kitchen-puppet/manifests/site.pp +33 -33
- data/examples/kitchen-puppet/metadata.json +11 -11
- data/examples/kitchen-puppet/test/integration/default/web_spec.rb +28 -28
- data/examples/meta-profile/README.md +37 -37
- data/examples/meta-profile/controls/example.rb +13 -13
- data/examples/meta-profile/inspec.yml +13 -13
- data/examples/profile-attribute.yml +2 -2
- data/examples/profile-attribute/README.md +14 -14
- data/examples/profile-attribute/controls/example.rb +11 -11
- data/examples/profile-attribute/inspec.yml +8 -8
- data/examples/profile-sensitive/README.md +29 -29
- data/examples/profile-sensitive/controls/sensitive-failures.rb +9 -9
- data/examples/profile-sensitive/controls/sensitive.rb +9 -9
- data/examples/profile-sensitive/inspec.yml +8 -8
- data/examples/profile/README.md +48 -48
- data/examples/profile/controls/example.rb +23 -23
- data/examples/profile/controls/gordon.rb +36 -36
- data/examples/profile/controls/meta.rb +34 -34
- data/examples/profile/inspec.yml +10 -10
- data/examples/profile/libraries/gordon_config.rb +53 -53
- data/inspec.gemspec +47 -47
- data/lib/bundles/README.md +3 -3
- data/lib/bundles/inspec-artifact.rb +7 -7
- data/lib/bundles/inspec-artifact/README.md +1 -1
- data/lib/bundles/inspec-artifact/cli.rb +277 -277
- data/lib/bundles/inspec-compliance.rb +16 -16
- data/lib/bundles/inspec-compliance/.kitchen.yml +20 -20
- data/lib/bundles/inspec-compliance/README.md +185 -185
- data/lib/bundles/inspec-compliance/api.rb +316 -316
- data/lib/bundles/inspec-compliance/api/login.rb +152 -152
- data/lib/bundles/inspec-compliance/bootstrap.sh +41 -41
- data/lib/bundles/inspec-compliance/cli.rb +277 -277
- data/lib/bundles/inspec-compliance/configuration.rb +103 -103
- data/lib/bundles/inspec-compliance/http.rb +86 -86
- data/lib/bundles/inspec-compliance/support.rb +36 -36
- data/lib/bundles/inspec-compliance/target.rb +98 -98
- data/lib/bundles/inspec-compliance/test/integration/default/cli.rb +93 -93
- data/lib/bundles/inspec-habitat.rb +12 -12
- data/lib/bundles/inspec-habitat/cli.rb +36 -36
- data/lib/bundles/inspec-habitat/log.rb +10 -10
- data/lib/bundles/inspec-habitat/profile.rb +390 -390
- data/lib/bundles/inspec-init.rb +8 -8
- data/lib/bundles/inspec-init/README.md +31 -31
- data/lib/bundles/inspec-init/cli.rb +97 -97
- data/lib/bundles/inspec-init/templates/profile/README.md +3 -3
- data/lib/bundles/inspec-init/templates/profile/controls/example.rb +19 -19
- data/lib/bundles/inspec-init/templates/profile/inspec.yml +8 -8
- data/lib/bundles/inspec-supermarket.rb +13 -13
- data/lib/bundles/inspec-supermarket/README.md +45 -45
- data/lib/bundles/inspec-supermarket/api.rb +84 -84
- data/lib/bundles/inspec-supermarket/cli.rb +65 -65
- data/lib/bundles/inspec-supermarket/target.rb +34 -34
- data/lib/fetchers/git.rb +163 -163
- data/lib/fetchers/local.rb +74 -74
- data/lib/fetchers/mock.rb +35 -35
- data/lib/fetchers/url.rb +204 -204
- data/lib/inspec.rb +24 -24
- data/lib/inspec/archive/tar.rb +29 -29
- data/lib/inspec/archive/zip.rb +19 -19
- data/lib/inspec/backend.rb +92 -92
- data/lib/inspec/base_cli.rb +324 -322
- data/lib/inspec/cached_fetcher.rb +66 -66
- data/lib/inspec/cli.rb +298 -298
- data/lib/inspec/completions/bash.sh.erb +45 -45
- data/lib/inspec/completions/fish.sh.erb +34 -34
- data/lib/inspec/completions/zsh.sh.erb +61 -61
- data/lib/inspec/control_eval_context.rb +179 -179
- data/lib/inspec/dependencies/cache.rb +72 -72
- data/lib/inspec/dependencies/dependency_set.rb +92 -92
- data/lib/inspec/dependencies/lockfile.rb +115 -115
- data/lib/inspec/dependencies/requirement.rb +123 -123
- data/lib/inspec/dependencies/resolver.rb +86 -86
- data/lib/inspec/describe.rb +27 -27
- data/lib/inspec/dsl.rb +66 -66
- data/lib/inspec/dsl_shared.rb +33 -33
- data/lib/inspec/env_printer.rb +157 -157
- data/lib/inspec/errors.rb +13 -13
- data/lib/inspec/exceptions.rb +12 -12
- data/lib/inspec/expect.rb +45 -45
- data/lib/inspec/fetcher.rb +45 -45
- data/lib/inspec/file_provider.rb +275 -275
- data/lib/inspec/formatters.rb +3 -3
- data/lib/inspec/formatters/base.rb +208 -208
- data/lib/inspec/formatters/json_rspec.rb +20 -20
- data/lib/inspec/formatters/show_progress.rb +12 -12
- data/lib/inspec/library_eval_context.rb +58 -58
- data/lib/inspec/log.rb +11 -11
- data/lib/inspec/metadata.rb +253 -253
- data/lib/inspec/method_source.rb +24 -24
- data/lib/inspec/objects.rb +14 -14
- data/lib/inspec/objects/attribute.rb +65 -65
- data/lib/inspec/objects/control.rb +61 -61
- data/lib/inspec/objects/describe.rb +92 -92
- data/lib/inspec/objects/each_loop.rb +36 -36
- data/lib/inspec/objects/list.rb +15 -15
- data/lib/inspec/objects/or_test.rb +40 -40
- data/lib/inspec/objects/ruby_helper.rb +15 -15
- data/lib/inspec/objects/tag.rb +27 -27
- data/lib/inspec/objects/test.rb +87 -87
- data/lib/inspec/objects/value.rb +27 -27
- data/lib/inspec/plugins.rb +60 -60
- data/lib/inspec/plugins/cli.rb +24 -24
- data/lib/inspec/plugins/fetcher.rb +86 -86
- data/lib/inspec/plugins/resource.rb +132 -132
- data/lib/inspec/plugins/secret.rb +15 -15
- data/lib/inspec/plugins/source_reader.rb +40 -40
- data/lib/inspec/polyfill.rb +12 -12
- data/lib/inspec/profile.rb +510 -510
- data/lib/inspec/profile_context.rb +207 -207
- data/lib/inspec/profile_vendor.rb +66 -66
- data/lib/inspec/reporters.rb +50 -33
- data/lib/inspec/reporters/base.rb +24 -23
- data/lib/inspec/reporters/cli.rb +395 -395
- data/lib/inspec/reporters/json.rb +134 -132
- data/lib/inspec/reporters/json_min.rb +48 -44
- data/lib/inspec/reporters/junit.rb +77 -77
- data/lib/inspec/require_loader.rb +33 -33
- data/lib/inspec/resource.rb +176 -176
- data/lib/inspec/rule.rb +266 -266
- data/lib/inspec/runner.rb +340 -337
- data/lib/inspec/runner_mock.rb +41 -41
- data/lib/inspec/runner_rspec.rb +163 -185
- data/lib/inspec/runtime_profile.rb +26 -26
- data/lib/inspec/schema.rb +186 -186
- data/lib/inspec/secrets.rb +19 -19
- data/lib/inspec/secrets/yaml.rb +30 -30
- data/lib/inspec/shell.rb +223 -223
- data/lib/inspec/shell_detector.rb +90 -90
- data/lib/inspec/source_reader.rb +29 -29
- data/lib/inspec/version.rb +8 -8
- data/lib/matchers/matchers.rb +397 -397
- data/lib/resources/aide_conf.rb +160 -160
- data/lib/resources/apache.rb +49 -49
- data/lib/resources/apache_conf.rb +158 -158
- data/lib/resources/apt.rb +150 -150
- data/lib/resources/audit_policy.rb +64 -64
- data/lib/resources/auditd.rb +233 -233
- data/lib/resources/auditd_conf.rb +56 -56
- data/lib/resources/auditd_rules.rb +205 -205
- data/lib/resources/bash.rb +36 -36
- data/lib/resources/bond.rb +69 -69
- data/lib/resources/bridge.rb +123 -123
- data/lib/resources/command.rb +69 -69
- data/lib/resources/cpan.rb +60 -60
- data/lib/resources/cran.rb +66 -66
- data/lib/resources/crontab.rb +169 -169
- data/lib/resources/csv.rb +58 -58
- data/lib/resources/dh_params.rb +83 -83
- data/lib/resources/directory.rb +25 -25
- data/lib/resources/docker.rb +239 -239
- data/lib/resources/docker_container.rb +92 -92
- data/lib/resources/docker_image.rb +86 -86
- data/lib/resources/docker_object.rb +57 -57
- data/lib/resources/docker_service.rb +94 -94
- data/lib/resources/elasticsearch.rb +168 -168
- data/lib/resources/etc_fstab.rb +102 -102
- data/lib/resources/etc_group.rb +157 -157
- data/lib/resources/etc_hosts.rb +81 -81
- data/lib/resources/etc_hosts_allow_deny.rb +122 -122
- data/lib/resources/file.rb +298 -298
- data/lib/resources/filesystem.rb +31 -31
- data/lib/resources/firewalld.rb +144 -144
- data/lib/resources/gem.rb +71 -71
- data/lib/resources/groups.rb +213 -213
- data/lib/resources/grub_conf.rb +237 -237
- data/lib/resources/host.rb +300 -300
- data/lib/resources/http.rb +252 -252
- data/lib/resources/iis_app.rb +103 -103
- data/lib/resources/iis_site.rb +147 -147
- data/lib/resources/inetd_conf.rb +63 -63
- data/lib/resources/ini.rb +29 -29
- data/lib/resources/interface.rb +130 -130
- data/lib/resources/iptables.rb +70 -70
- data/lib/resources/json.rb +115 -115
- data/lib/resources/kernel_module.rb +110 -110
- data/lib/resources/kernel_parameter.rb +58 -58
- data/lib/resources/key_rsa.rb +67 -67
- data/lib/resources/limits_conf.rb +56 -56
- data/lib/resources/login_def.rb +67 -67
- data/lib/resources/mount.rb +90 -90
- data/lib/resources/mssql_session.rb +103 -103
- data/lib/resources/mysql.rb +82 -82
- data/lib/resources/mysql_conf.rb +133 -133
- data/lib/resources/mysql_session.rb +72 -72
- data/lib/resources/nginx.rb +97 -97
- data/lib/resources/nginx_conf.rb +228 -228
- data/lib/resources/npm.rb +48 -48
- data/lib/resources/ntp_conf.rb +59 -59
- data/lib/resources/oneget.rb +72 -72
- data/lib/resources/oracledb_session.rb +140 -140
- data/lib/resources/os.rb +46 -46
- data/lib/resources/os_env.rb +76 -76
- data/lib/resources/package.rb +357 -357
- data/lib/resources/packages.rb +112 -112
- data/lib/resources/parse_config.rb +116 -116
- data/lib/resources/passwd.rb +96 -96
- data/lib/resources/pip.rb +89 -89
- data/lib/resources/platform.rb +112 -112
- data/lib/resources/port.rb +771 -771
- data/lib/resources/postgres.rb +132 -132
- data/lib/resources/postgres_conf.rb +122 -122
- data/lib/resources/postgres_hba_conf.rb +101 -101
- data/lib/resources/postgres_ident_conf.rb +79 -79
- data/lib/resources/postgres_session.rb +72 -72
- data/lib/resources/powershell.rb +58 -58
- data/lib/resources/processes.rb +204 -204
- data/lib/resources/rabbitmq_conf.rb +53 -53
- data/lib/resources/registry_key.rb +296 -296
- data/lib/resources/security_policy.rb +181 -181
- data/lib/resources/service.rb +784 -784
- data/lib/resources/shadow.rb +141 -141
- data/lib/resources/ssh_conf.rb +102 -102
- data/lib/resources/ssl.rb +99 -99
- data/lib/resources/sys_info.rb +26 -26
- data/lib/resources/toml.rb +32 -32
- data/lib/resources/users.rb +652 -652
- data/lib/resources/vbscript.rb +70 -70
- data/lib/resources/virtualization.rb +251 -251
- data/lib/resources/windows_feature.rb +85 -85
- data/lib/resources/windows_hotfix.rb +35 -35
- data/lib/resources/windows_task.rb +106 -106
- data/lib/resources/wmi.rb +114 -114
- data/lib/resources/x509_certificate.rb +143 -143
- data/lib/resources/xinetd.rb +112 -112
- data/lib/resources/xml.rb +45 -45
- data/lib/resources/yaml.rb +45 -45
- data/lib/resources/yum.rb +181 -181
- data/lib/resources/zfs_dataset.rb +60 -60
- data/lib/resources/zfs_pool.rb +49 -49
- data/lib/source_readers/flat.rb +39 -39
- data/lib/source_readers/inspec.rb +75 -75
- data/lib/utils/command_wrapper.rb +27 -27
- data/lib/utils/convert.rb +12 -12
- data/lib/utils/database_helpers.rb +77 -77
- data/lib/utils/erlang_parser.rb +192 -192
- data/lib/utils/filter.rb +272 -272
- data/lib/utils/filter_array.rb +27 -27
- data/lib/utils/find_files.rb +44 -44
- data/lib/utils/hash.rb +41 -41
- data/lib/utils/json_log.rb +18 -18
- data/lib/utils/latest_version.rb +22 -22
- data/lib/utils/modulator.rb +12 -12
- data/lib/utils/nginx_parser.rb +85 -85
- data/lib/utils/object_traversal.rb +49 -49
- data/lib/utils/parser.rb +274 -274
- data/lib/utils/plugin_registry.rb +93 -93
- data/lib/utils/simpleconfig.rb +132 -132
- data/lib/utils/spdx.rb +13 -13
- data/lib/utils/spdx.txt +343 -343
- metadata +2 -2
@@ -1,100 +1,101 @@
|
|
1
|
-
---
|
2
|
-
title: About the grub_conf Resource
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
its('
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
* `'
|
30
|
-
* `'
|
31
|
-
* `'
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
its('
|
71
|
-
its('
|
72
|
-
its('
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
its('
|
86
|
-
its('
|
87
|
-
its('
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
1
|
+
---
|
2
|
+
title: About the grub_conf Resource
|
3
|
+
os: "Unix/Linux"
|
4
|
+
---
|
5
|
+
|
6
|
+
# grub_conf
|
7
|
+
|
8
|
+
Grub is a boot loader on the Linux platform used to load and then transfer control to an operating system kernel, after which that kernel initializes the rest of the operating system. Use the `grub_conf` InSpec audit resource to test boot loader configuration settings that are defined in the `grub.conf` configuration file.
|
9
|
+
|
10
|
+
<br>
|
11
|
+
|
12
|
+
## Syntax
|
13
|
+
|
14
|
+
A `grub_conf` resource block declares a list of settings in a `grub.conf` file:
|
15
|
+
|
16
|
+
describe grub_conf('path', 'kernel') do
|
17
|
+
its('setting') { should eq 'value' }
|
18
|
+
end
|
19
|
+
|
20
|
+
or:
|
21
|
+
|
22
|
+
describe grub_conf('path') do
|
23
|
+
its('default') { should eq '0' } #
|
24
|
+
its('setting') { should eq 'value' }
|
25
|
+
end
|
26
|
+
|
27
|
+
where
|
28
|
+
|
29
|
+
* `'service_name'` is a service listed in the `grub.conf` file
|
30
|
+
* `'path'` is the path to the `grub.conf` file
|
31
|
+
* `'kernel'` specifies the default kernel (by using `'default'`) or a specific kernel; `'default'` defines the position in the list of kernels at which the default kernel is defined, i.e. `should eq '0'` for the first kernel listed or `'path', 'default'` to use the default kernel as specified in the `grub.conf` file
|
32
|
+
* `'value'` is the value that is expected
|
33
|
+
|
34
|
+
<br>
|
35
|
+
|
36
|
+
## Examples
|
37
|
+
|
38
|
+
The following examples show how to use this InSpec audit resource.
|
39
|
+
|
40
|
+
### Test a grub.conf file
|
41
|
+
|
42
|
+
A Grub configuration file located at `/etc/grub.conf` is similar to the following:
|
43
|
+
|
44
|
+
# grub.conf generated by anaconda
|
45
|
+
#
|
46
|
+
# Note: You do not need to rerun grub after making changes to this file
|
47
|
+
# NOTICE: You have a /boot partition. This means that
|
48
|
+
# all kernel and initrd paths are relative to /boot/, eg.
|
49
|
+
# root (hd0,0)
|
50
|
+
# kernel /vmlinuz-version ro root=/dev/hda6
|
51
|
+
# initrd /initrd-version.img
|
52
|
+
#boot=/dev/hda
|
53
|
+
default=0
|
54
|
+
timeout=10
|
55
|
+
splashimage=(hd0,0)/grub/splash.xpm.gz
|
56
|
+
title Red Hat Enterprise Linux ES (2.6.32-573.7.1.el6.x86_64)
|
57
|
+
root (hd0,0)
|
58
|
+
kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 ro root=/dev/hda6
|
59
|
+
initrd /initrd-2.6.32-573.7.1.el6.x86_64.img
|
60
|
+
title Red Hat Enterprise Linux ES (2.6.32-358.14.1.el6.x86_64)
|
61
|
+
root (hd0,0)
|
62
|
+
kernel /vmlinuz-2.6.32-358.14.1.el6.x86_64 ro root=/dev/hda6 ramdisk_size=400000
|
63
|
+
initrd /initrd-2.6.32-358.14.1.el6.x86_64.img
|
64
|
+
|
65
|
+
This file defines two versions of RedHat Enterprise Linux, with version `2.6.32-573.7.1.el6.x86_64` specified as the default.
|
66
|
+
|
67
|
+
The following test verifies the kernel, ensures that kernel is the default kernel, its initial RAM disk (`initrd`), and the timeout:
|
68
|
+
|
69
|
+
describe grub_conf('/etc/grub.conf', 'default') do
|
70
|
+
its('kernel') { should include '/vmlinuz-2.6.32-573.7.1.el6.x86_64' }
|
71
|
+
its('initrd') { should include '/initrd-2.6.32-573.7.1.el6.x86_64.img' }
|
72
|
+
its('default') { should_not eq '1' }
|
73
|
+
its('timeout') { should eq '10' }
|
74
|
+
end
|
75
|
+
|
76
|
+
The following test verifies the `ramdisk_size` for the non-deault kernel:
|
77
|
+
|
78
|
+
describe grub_conf('/etc/grub.conf', 'Red Hat Enterprise Linux ES (2.6.32-358.14.1.el6.x86_64)') do
|
79
|
+
its('kernel') { should include 'ramdisk_size=400000' }
|
80
|
+
end
|
81
|
+
|
82
|
+
### Test a configuration file and boot configuration
|
83
|
+
|
84
|
+
describe grub_conf('/etc/grub.conf', 'default') do
|
85
|
+
its('kernel') { should include '/vmlinuz-2.6.32-573.7.1.el6.x86_64' }
|
86
|
+
its('initrd') { should include '/initramfs-2.6.32-573.el6.x86_64.img=1' }
|
87
|
+
its('default') { should_not eq '1' }
|
88
|
+
its('timeout') { should eq '5' }
|
89
|
+
end
|
90
|
+
|
91
|
+
### Test a specific kernel
|
92
|
+
|
93
|
+
grub_conf('/etc/grub.conf', 'CentOS (2.6.32-573.12.1.el6.x86_64)') do
|
94
|
+
its('kernel') { should include 'audit=1' }
|
95
|
+
end
|
96
|
+
|
97
|
+
<br>
|
98
|
+
|
99
|
+
## Matchers
|
100
|
+
|
101
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
data/docs/resources/host.md.erb
CHANGED
@@ -1,77 +1,77 @@
|
|
1
|
-
---
|
2
|
-
title: About the host Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# host
|
6
|
-
|
7
|
-
Use the `host` InSpec audit resource to test the name used to refer to a specific host and its availability, including the Internet protocols and ports over which that host name should be available.
|
8
|
-
|
9
|
-
<br>
|
10
|
-
|
11
|
-
## Syntax
|
12
|
-
|
13
|
-
A `host` resource block declares a host name, and then (depending on what is to be tested) a port and/or a protocol:
|
14
|
-
|
15
|
-
describe host('example.com', port: 80, protocol: 'tcp') do
|
16
|
-
it { should be_reachable }
|
17
|
-
it { should be_resolvable }
|
18
|
-
its('ipaddress') { should include '12.34.56.78' }
|
19
|
-
end
|
20
|
-
|
21
|
-
where
|
22
|
-
|
23
|
-
* `host()` must specify a host name and may specify a port number and/or a protocol
|
24
|
-
* `'example.com'` is the host name
|
25
|
-
* `port:` is the port number
|
26
|
-
* `protocol: 'name'` is the Internet protocol: TCP (`protocol: 'tcp'`), UDP (`protocol: 'udp'` or ICMP (`protocol: 'icmp'`))
|
27
|
-
|
28
|
-
<br>
|
29
|
-
|
30
|
-
## Examples
|
31
|
-
|
32
|
-
The following examples show how to use this InSpec audit resource.
|
33
|
-
|
34
|
-
### Verify host name is reachable over a specific protocol and port number
|
35
|
-
|
36
|
-
describe host('example.com', port: 80, protocol: 'tcp') do
|
37
|
-
it { should be_reachable }
|
38
|
-
end
|
39
|
-
|
40
|
-
### Verify that a specific IP address can be resolved
|
41
|
-
|
42
|
-
describe host('example.com') do
|
43
|
-
it { should be_resolvable }
|
44
|
-
its('ipaddress') { should include '192.168.1.1' }
|
45
|
-
end
|
46
|
-
|
47
|
-
### Review the connection setup and socket contents when checking reachability
|
48
|
-
|
49
|
-
describe host('example.com', port: 12345, protocol: 'tcp') do
|
50
|
-
it { should be_reachable }
|
51
|
-
its('connection') { should_not match /connection refused/ }
|
52
|
-
its('socket') { should match /STATUS_OK/ }
|
53
|
-
end
|
54
|
-
|
55
|
-
<br>
|
56
|
-
|
57
|
-
## Matchers
|
58
|
-
|
59
|
-
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
60
|
-
|
61
|
-
### be_reachable
|
62
|
-
|
63
|
-
The `be_reachable` matcher tests if the host name is available:
|
64
|
-
|
65
|
-
it { should be_reachable }
|
66
|
-
|
67
|
-
### be_resolvable
|
68
|
-
|
69
|
-
The `be_resolvable` matcher tests for host name resolution, i.e. "resolvable to an IP address":
|
70
|
-
|
71
|
-
it { should be_resolvable }
|
72
|
-
|
73
|
-
### ipaddress
|
74
|
-
|
75
|
-
The `ipaddress` matcher tests if a host name is resolvable to a specific IP address:
|
76
|
-
|
77
|
-
its('ipaddress') { should include '93.184.216.34' }
|
1
|
+
---
|
2
|
+
title: About the host Resource
|
3
|
+
---
|
4
|
+
|
5
|
+
# host
|
6
|
+
|
7
|
+
Use the `host` InSpec audit resource to test the name used to refer to a specific host and its availability, including the Internet protocols and ports over which that host name should be available.
|
8
|
+
|
9
|
+
<br>
|
10
|
+
|
11
|
+
## Syntax
|
12
|
+
|
13
|
+
A `host` resource block declares a host name, and then (depending on what is to be tested) a port and/or a protocol:
|
14
|
+
|
15
|
+
describe host('example.com', port: 80, protocol: 'tcp') do
|
16
|
+
it { should be_reachable }
|
17
|
+
it { should be_resolvable }
|
18
|
+
its('ipaddress') { should include '12.34.56.78' }
|
19
|
+
end
|
20
|
+
|
21
|
+
where
|
22
|
+
|
23
|
+
* `host()` must specify a host name and may specify a port number and/or a protocol
|
24
|
+
* `'example.com'` is the host name
|
25
|
+
* `port:` is the port number
|
26
|
+
* `protocol: 'name'` is the Internet protocol: TCP (`protocol: 'tcp'`), UDP (`protocol: 'udp'` or ICMP (`protocol: 'icmp'`))
|
27
|
+
|
28
|
+
<br>
|
29
|
+
|
30
|
+
## Examples
|
31
|
+
|
32
|
+
The following examples show how to use this InSpec audit resource.
|
33
|
+
|
34
|
+
### Verify host name is reachable over a specific protocol and port number
|
35
|
+
|
36
|
+
describe host('example.com', port: 80, protocol: 'tcp') do
|
37
|
+
it { should be_reachable }
|
38
|
+
end
|
39
|
+
|
40
|
+
### Verify that a specific IP address can be resolved
|
41
|
+
|
42
|
+
describe host('example.com') do
|
43
|
+
it { should be_resolvable }
|
44
|
+
its('ipaddress') { should include '192.168.1.1' }
|
45
|
+
end
|
46
|
+
|
47
|
+
### Review the connection setup and socket contents when checking reachability
|
48
|
+
|
49
|
+
describe host('example.com', port: 12345, protocol: 'tcp') do
|
50
|
+
it { should be_reachable }
|
51
|
+
its('connection') { should_not match /connection refused/ }
|
52
|
+
its('socket') { should match /STATUS_OK/ }
|
53
|
+
end
|
54
|
+
|
55
|
+
<br>
|
56
|
+
|
57
|
+
## Matchers
|
58
|
+
|
59
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
60
|
+
|
61
|
+
### be_reachable
|
62
|
+
|
63
|
+
The `be_reachable` matcher tests if the host name is available:
|
64
|
+
|
65
|
+
it { should be_reachable }
|
66
|
+
|
67
|
+
### be_resolvable
|
68
|
+
|
69
|
+
The `be_resolvable` matcher tests for host name resolution, i.e. "resolvable to an IP address":
|
70
|
+
|
71
|
+
it { should be_resolvable }
|
72
|
+
|
73
|
+
### ipaddress
|
74
|
+
|
75
|
+
The `ipaddress` matcher tests if a host name is resolvable to a specific IP address:
|
76
|
+
|
77
|
+
its('ipaddress') { should include '93.184.216.34' }
|
data/docs/resources/http.md.erb
CHANGED
@@ -1,98 +1,104 @@
|
|
1
|
-
---
|
2
|
-
title: About the http Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# http
|
6
|
-
|
7
|
-
Use the `http` InSpec audit resource to test an http endpoint.
|
8
|
-
|
9
|
-
<p class="warning">In InSpec 1.40 and earlier, this resource always executes on the host on which <code>inspec exec</code> is run, even if you use the <code>--target</code> option to remotely scan a different host.<br>
|
10
|
-
<br>
|
11
|
-
Beginning with InSpec 1.41, you can enable
|
12
|
-
<br>
|
13
|
-
Executing the HTTP test on the remote target will be the default behavior in InSpec 2.0.
|
14
|
-
</p>
|
15
|
-
|
16
|
-
<br>
|
17
|
-
|
18
|
-
## Syntax
|
19
|
-
|
20
|
-
An `http` resource block declares the configuration settings to be tested:
|
21
|
-
|
22
|
-
describe http('url', auth: {user: 'user', pass: 'test'}, params: {params}, method: 'method', headers: {headers}, data: data, open_timeout: 60, read_timeout: 60, ssl_verify: true) do
|
23
|
-
its('status') { should eq number }
|
24
|
-
its('body') { should eq 'body' }
|
25
|
-
its('headers.name') { should eq 'header' }
|
26
|
-
end
|
27
|
-
|
28
|
-
where
|
29
|
-
|
30
|
-
* `('url')` is the url to test
|
31
|
-
* `auth: { user: 'user', pass: 'test' }` may be specified for basic auth request
|
32
|
-
* `{params}` may be specified for http request parameters
|
33
|
-
* `'method'` may be specified for http request method (default to 'GET')
|
34
|
-
* `{headers}` may be specified for http request headers
|
35
|
-
* `data` may be specified for http request body
|
36
|
-
* `open_timeout` may be specified for a timeout for opening connections (default to 60)
|
37
|
-
* `read_timeout` may be specified for a timeout for reading connections (default to 60)
|
38
|
-
* `ssl_verify` may be specified to enable or disable verification of SSL certificates (default to `true`)
|
39
|
-
|
40
|
-
<br>
|
41
|
-
## Local vs. Remote
|
42
|
-
|
43
|
-
Beginning with InSpec 1.41, you can enable the ability to have the HTTP test execute on the remote target:
|
44
|
-
|
45
|
-
describe http('http://www.example.com', enable_remote_worker: true) do
|
46
|
-
its('body') { should cmp 'awesome' }
|
47
|
-
end
|
48
|
-
|
49
|
-
In InSpec 2.0, the HTTP test will automatically execute remotely whenever InSpec is testing a remote node.
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
describe http('http://localhost
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
###
|
85
|
-
|
86
|
-
The `
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
its('
|
1
|
+
---
|
2
|
+
title: About the http Resource
|
3
|
+
---
|
4
|
+
|
5
|
+
# http
|
6
|
+
|
7
|
+
Use the `http` InSpec audit resource to test an http endpoint.
|
8
|
+
|
9
|
+
<p class="warning">In InSpec 1.40 and earlier, this resource always executes on the host on which <code>inspec exec</code> is run, even if you use the <code>--target</code> option to remotely scan a different host.<br>
|
10
|
+
<br>
|
11
|
+
Beginning with InSpec 1.41, you can enable remote targeting for the HTTP test, provided <code>curl</code> is available. See the "Local vs. Remote" section below.<br>
|
12
|
+
<br>
|
13
|
+
Executing the HTTP test on the remote target will be the default behavior in InSpec 2.0.
|
14
|
+
</p>
|
15
|
+
|
16
|
+
<br>
|
17
|
+
|
18
|
+
## Syntax
|
19
|
+
|
20
|
+
An `http` resource block declares the configuration settings to be tested:
|
21
|
+
|
22
|
+
describe http('url', auth: {user: 'user', pass: 'test'}, params: {params}, method: 'method', headers: {headers}, data: data, open_timeout: 60, read_timeout: 60, ssl_verify: true) do
|
23
|
+
its('status') { should eq number }
|
24
|
+
its('body') { should eq 'body' }
|
25
|
+
its('headers.name') { should eq 'header' }
|
26
|
+
end
|
27
|
+
|
28
|
+
where
|
29
|
+
|
30
|
+
* `('url')` is the url to test
|
31
|
+
* `auth: { user: 'user', pass: 'test' }` may be specified for basic auth request
|
32
|
+
* `{params}` may be specified for http request parameters
|
33
|
+
* `'method'` may be specified for http request method (default to 'GET')
|
34
|
+
* `{headers}` may be specified for http request headers
|
35
|
+
* `data` may be specified for http request body
|
36
|
+
* `open_timeout` may be specified for a timeout for opening connections (default to 60)
|
37
|
+
* `read_timeout` may be specified for a timeout for reading connections (default to 60)
|
38
|
+
* `ssl_verify` may be specified to enable or disable verification of SSL certificates (default to `true`)
|
39
|
+
|
40
|
+
<br>
|
41
|
+
## Local vs. Remote
|
42
|
+
|
43
|
+
Beginning with InSpec 1.41, you can enable the ability to have the HTTP test execute on the remote target:
|
44
|
+
|
45
|
+
describe http('http://www.example.com', enable_remote_worker: true) do
|
46
|
+
its('body') { should cmp 'awesome' }
|
47
|
+
end
|
48
|
+
|
49
|
+
In InSpec 2.0, the HTTP test will automatically execute remotely whenever InSpec is testing a remote node.
|
50
|
+
|
51
|
+
<br>
|
52
|
+
## Supported Resource Properties
|
53
|
+
|
54
|
+
body, headers, http_method, status,
|
55
|
+
|
56
|
+
<br>
|
57
|
+
## Property Examples
|
58
|
+
|
59
|
+
The following examples show how to use this InSpec audit resource.
|
60
|
+
|
61
|
+
### Simple http test
|
62
|
+
|
63
|
+
For example, a service is listening on default http port can be tested like this:
|
64
|
+
|
65
|
+
describe http('http://localhost') do
|
66
|
+
its('status') { should cmp 200 }
|
67
|
+
end
|
68
|
+
|
69
|
+
### Complex http test
|
70
|
+
|
71
|
+
describe http('http://localhost:8080/ping',
|
72
|
+
auth: {user: 'user', pass: 'test'},
|
73
|
+
params: {format: 'html'},
|
74
|
+
method: 'POST',
|
75
|
+
headers: {'Content-Type' => 'application/json'},
|
76
|
+
data: '{"data":{"a":"1","b":"five"}}') do
|
77
|
+
its('status') { should cmp 200 }
|
78
|
+
its('body') { should cmp 'pong' }
|
79
|
+
its('headers.Content-Type') { should cmp 'text/html' }
|
80
|
+
end
|
81
|
+
|
82
|
+
<br>
|
83
|
+
|
84
|
+
### body
|
85
|
+
|
86
|
+
The `body` matcher tests body content of http response:
|
87
|
+
|
88
|
+
its('body') { should eq 'hello\n' }
|
89
|
+
|
90
|
+
### headers
|
91
|
+
|
92
|
+
The `headers` matcher returns an hash of all http headers:
|
93
|
+
|
94
|
+
its('headers') { should eq {} }
|
95
|
+
|
96
|
+
Individual headers can be tested via:
|
97
|
+
|
98
|
+
its('headers.Content-Type') { should cmp 'text/html' }
|
99
|
+
|
100
|
+
### status
|
101
|
+
|
102
|
+
The `status` matcher tests status of the http response:
|
103
|
+
|
104
|
+
its('status') { should eq 200 }
|