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,46 +1,46 @@
|
|
1
|
-
---
|
2
|
-
title: About the audit_policy Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# audit_policy
|
6
|
-
|
7
|
-
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`.
|
8
|
-
|
9
|
-
<br>
|
10
|
-
|
11
|
-
## Syntax
|
12
|
-
|
13
|
-
An `audit_policy` resource block declares a parameter that belongs to an audit policy category or subcategory:
|
14
|
-
|
15
|
-
describe audit_policy do
|
16
|
-
its('parameter') { should eq 'value' }
|
17
|
-
end
|
18
|
-
|
19
|
-
where
|
20
|
-
|
21
|
-
* `'parameter'` must specify a parameter
|
22
|
-
* `'value'` must be one of `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`
|
23
|
-
|
24
|
-
<br>
|
25
|
-
|
26
|
-
## Examples
|
27
|
-
|
28
|
-
The following examples show how to use this InSpec audit resource.
|
29
|
-
|
30
|
-
### Test that a parameter is not set to "No Auditing"
|
31
|
-
|
32
|
-
describe audit_policy do
|
33
|
-
its('Other Account Logon Events') { should_not eq 'No Auditing' }
|
34
|
-
end
|
35
|
-
|
36
|
-
### Test that a parameter is set to "Success"
|
37
|
-
|
38
|
-
describe audit_policy do
|
39
|
-
its('User Account Management') { should eq 'Success' }
|
40
|
-
end
|
41
|
-
|
42
|
-
<br>
|
43
|
-
|
44
|
-
## Matchers
|
45
|
-
|
46
|
-
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
1
|
+
---
|
2
|
+
title: About the audit_policy Resource
|
3
|
+
---
|
4
|
+
|
5
|
+
# audit_policy
|
6
|
+
|
7
|
+
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`.
|
8
|
+
|
9
|
+
<br>
|
10
|
+
|
11
|
+
## Syntax
|
12
|
+
|
13
|
+
An `audit_policy` resource block declares a parameter that belongs to an audit policy category or subcategory:
|
14
|
+
|
15
|
+
describe audit_policy do
|
16
|
+
its('parameter') { should eq 'value' }
|
17
|
+
end
|
18
|
+
|
19
|
+
where
|
20
|
+
|
21
|
+
* `'parameter'` must specify a parameter
|
22
|
+
* `'value'` must be one of `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`
|
23
|
+
|
24
|
+
<br>
|
25
|
+
|
26
|
+
## Examples
|
27
|
+
|
28
|
+
The following examples show how to use this InSpec audit resource.
|
29
|
+
|
30
|
+
### Test that a parameter is not set to "No Auditing"
|
31
|
+
|
32
|
+
describe audit_policy do
|
33
|
+
its('Other Account Logon Events') { should_not eq 'No Auditing' }
|
34
|
+
end
|
35
|
+
|
36
|
+
### Test that a parameter is set to "Success"
|
37
|
+
|
38
|
+
describe audit_policy do
|
39
|
+
its('User Account Management') { should eq 'Success' }
|
40
|
+
end
|
41
|
+
|
42
|
+
<br>
|
43
|
+
|
44
|
+
## Matchers
|
45
|
+
|
46
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -1,78 +1,78 @@
|
|
1
|
-
---
|
2
|
-
title: About the auditd Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# auditd
|
6
|
-
|
7
|
-
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 auditcl -l command. This resource supports versions of `audit` >= 2.3.
|
8
|
-
|
9
|
-
<br>
|
10
|
-
|
11
|
-
## Syntax
|
12
|
-
|
13
|
-
An `auditd` resource block declares one (or more) rules to be tested, and then what that rule should do:
|
14
|
-
|
15
|
-
describe auditd do
|
16
|
-
its('lines') { should include %r(-w /etc/ssh/sshd_config) }
|
17
|
-
end
|
18
|
-
|
19
|
-
or test that multiple individual rules are defined:
|
20
|
-
|
21
|
-
describe auditd do
|
22
|
-
its('lines') { should include %r(-a always,exit -F arch=.* -S init_module,delete_module -F key=modules) }
|
23
|
-
its('lines') { should include %r(-a always,exit -F arch=.* -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -F key=.+) }
|
24
|
-
end
|
25
|
-
|
26
|
-
where each test must declare one (or more) rules to be tested.
|
27
|
-
|
28
|
-
<br>
|
29
|
-
|
30
|
-
## Examples
|
31
|
-
|
32
|
-
The following examples show how to use this InSpec audit resource.
|
33
|
-
|
34
|
-
### Test if a rule contains a matching element that is identified by a regular expression
|
35
|
-
|
36
|
-
For `audit` >= 2.3:
|
37
|
-
|
38
|
-
describe auditd do
|
39
|
-
its('lines') { should include %r(-a always,exit -F arch=.* -S chown.* -F auid>=1000 -F auid!=-1 -F key=perm_mod) }
|
40
|
-
end
|
41
|
-
|
42
|
-
### Query the audit daemon status
|
43
|
-
|
44
|
-
describe auditd.status('backlog') do
|
45
|
-
it { should cmp 0 }
|
46
|
-
end
|
47
|
-
|
48
|
-
### Query properties of rules targeting specific syscalls or files - uniq is used to handle multiple rules for the same syscall with redundant field values
|
49
|
-
|
50
|
-
describe auditd.syscall('open') do
|
51
|
-
its('action.uniq') { should eq ['always'] }
|
52
|
-
its('list.uniq') { should eq ['exit'] }
|
53
|
-
end
|
54
|
-
|
55
|
-
describe auditd.file('/etc/sudoers') do
|
56
|
-
its('permissions') { should include ['x'] }
|
57
|
-
end
|
58
|
-
|
59
|
-
The where accessor can be used to filter on fields. For example:
|
60
|
-
|
61
|
-
describe auditd.syscall('chown').where { arch == "b32" } do
|
62
|
-
its('action') { should eq ['always'] }
|
63
|
-
its('list') { should eq ['exit'] }
|
64
|
-
its('exit') { should include ['-EACCES'] }
|
65
|
-
its('exit') { should include ['-EPERM'] }
|
66
|
-
end
|
67
|
-
|
68
|
-
The key filter may be useful in evaluating rules with particular key values:
|
69
|
-
|
70
|
-
describe auditd.where { key == "privileged" } do
|
71
|
-
its('permissions') { should include ['x'] }
|
72
|
-
end
|
73
|
-
|
74
|
-
<br>
|
75
|
-
|
76
|
-
## Matchers
|
77
|
-
|
78
|
-
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
1
|
+
---
|
2
|
+
title: About the auditd Resource
|
3
|
+
---
|
4
|
+
|
5
|
+
# auditd
|
6
|
+
|
7
|
+
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 auditcl -l command. This resource supports versions of `audit` >= 2.3.
|
8
|
+
|
9
|
+
<br>
|
10
|
+
|
11
|
+
## Syntax
|
12
|
+
|
13
|
+
An `auditd` resource block declares one (or more) rules to be tested, and then what that rule should do:
|
14
|
+
|
15
|
+
describe auditd do
|
16
|
+
its('lines') { should include %r(-w /etc/ssh/sshd_config) }
|
17
|
+
end
|
18
|
+
|
19
|
+
or test that multiple individual rules are defined:
|
20
|
+
|
21
|
+
describe auditd do
|
22
|
+
its('lines') { should include %r(-a always,exit -F arch=.* -S init_module,delete_module -F key=modules) }
|
23
|
+
its('lines') { should include %r(-a always,exit -F arch=.* -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -F key=.+) }
|
24
|
+
end
|
25
|
+
|
26
|
+
where each test must declare one (or more) rules to be tested.
|
27
|
+
|
28
|
+
<br>
|
29
|
+
|
30
|
+
## Examples
|
31
|
+
|
32
|
+
The following examples show how to use this InSpec audit resource.
|
33
|
+
|
34
|
+
### Test if a rule contains a matching element that is identified by a regular expression
|
35
|
+
|
36
|
+
For `audit` >= 2.3:
|
37
|
+
|
38
|
+
describe auditd do
|
39
|
+
its('lines') { should include %r(-a always,exit -F arch=.* -S chown.* -F auid>=1000 -F auid!=-1 -F key=perm_mod) }
|
40
|
+
end
|
41
|
+
|
42
|
+
### Query the audit daemon status
|
43
|
+
|
44
|
+
describe auditd.status('backlog') do
|
45
|
+
it { should cmp 0 }
|
46
|
+
end
|
47
|
+
|
48
|
+
### Query properties of rules targeting specific syscalls or files - uniq is used to handle multiple rules for the same syscall with redundant field values
|
49
|
+
|
50
|
+
describe auditd.syscall('open') do
|
51
|
+
its('action.uniq') { should eq ['always'] }
|
52
|
+
its('list.uniq') { should eq ['exit'] }
|
53
|
+
end
|
54
|
+
|
55
|
+
describe auditd.file('/etc/sudoers') do
|
56
|
+
its('permissions') { should include ['x'] }
|
57
|
+
end
|
58
|
+
|
59
|
+
The where accessor can be used to filter on fields. For example:
|
60
|
+
|
61
|
+
describe auditd.syscall('chown').where { arch == "b32" } do
|
62
|
+
its('action') { should eq ['always'] }
|
63
|
+
its('list') { should eq ['exit'] }
|
64
|
+
its('exit') { should include ['-EACCES'] }
|
65
|
+
its('exit') { should include ['-EPERM'] }
|
66
|
+
end
|
67
|
+
|
68
|
+
The key filter may be useful in evaluating rules with particular key values:
|
69
|
+
|
70
|
+
describe auditd.where { key == "privileged" } do
|
71
|
+
its('permissions') { should include ['x'] }
|
72
|
+
end
|
73
|
+
|
74
|
+
<br>
|
75
|
+
|
76
|
+
## Matchers
|
77
|
+
|
78
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -1,68 +1,68 @@
|
|
1
|
-
---
|
2
|
-
title: About the auditd_conf Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# auditd_conf
|
6
|
-
|
7
|
-
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.
|
8
|
-
|
9
|
-
<br>
|
10
|
-
|
11
|
-
## Syntax
|
12
|
-
|
13
|
-
A `auditd_conf` resource block declares configuration settings that should be tested:
|
14
|
-
|
15
|
-
describe auditd_conf('path') do
|
16
|
-
its('keyword') { should cmp 'value' }
|
17
|
-
end
|
18
|
-
|
19
|
-
where
|
20
|
-
|
21
|
-
* `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
|
22
|
-
* `('path')` is the non-default path to the `auditd.conf` configuration file
|
23
|
-
* `{ should cmp 'value' }` is the value that is expected
|
24
|
-
|
25
|
-
<br>
|
26
|
-
|
27
|
-
## Supported Properties
|
28
|
-
|
29
|
-
This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
|
30
|
-
|
31
|
-
* `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`
|
32
|
-
|
33
|
-
## Property Examples
|
34
|
-
|
35
|
-
The following examples show how to use this InSpec audit resource.
|
36
|
-
|
37
|
-
### Test the auditd.conf file
|
38
|
-
|
39
|
-
describe auditd_conf do
|
40
|
-
its('log_file') { should cmp '/full/path/to/file' }
|
41
|
-
its('log_format') { should cmp 'raw' }
|
42
|
-
its('flush') { should cmp 'none' }
|
43
|
-
its('freq') { should cmp 1 }
|
44
|
-
its('num_logs') { should cmp 0 }
|
45
|
-
its('max_log_file') { should cmp 6 }
|
46
|
-
its('max_log_file_action') { should cmp 'email' }
|
47
|
-
its('space_left') { should cmp 2 }
|
48
|
-
its('action_mail_acct') { should cmp 'root' }
|
49
|
-
its('space_left_action') { should cmp 'email' }
|
50
|
-
its('admin_space_left') { should cmp 1 }
|
51
|
-
its('admin_space_left_action') { should cmp 'halt' }
|
52
|
-
its('disk_full_action') { should cmp 'halt' }
|
53
|
-
its('disk_error_action') { should cmp 'halt' }
|
54
|
-
end
|
55
|
-
|
56
|
-
<br>
|
57
|
-
|
58
|
-
## Matchers
|
59
|
-
|
60
|
-
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
61
|
-
|
62
|
-
### `cmp`
|
63
|
-
|
64
|
-
The `cmp` matcher compares values across types.
|
65
|
-
|
66
|
-
its('freq') { should cmp 1 }
|
67
|
-
|
68
|
-
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
1
|
+
---
|
2
|
+
title: About the auditd_conf Resource
|
3
|
+
---
|
4
|
+
|
5
|
+
# auditd_conf
|
6
|
+
|
7
|
+
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.
|
8
|
+
|
9
|
+
<br>
|
10
|
+
|
11
|
+
## Syntax
|
12
|
+
|
13
|
+
A `auditd_conf` resource block declares configuration settings that should be tested:
|
14
|
+
|
15
|
+
describe auditd_conf('path') do
|
16
|
+
its('keyword') { should cmp 'value' }
|
17
|
+
end
|
18
|
+
|
19
|
+
where
|
20
|
+
|
21
|
+
* `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
|
22
|
+
* `('path')` is the non-default path to the `auditd.conf` configuration file
|
23
|
+
* `{ should cmp 'value' }` is the value that is expected
|
24
|
+
|
25
|
+
<br>
|
26
|
+
|
27
|
+
## Supported Properties
|
28
|
+
|
29
|
+
This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
|
30
|
+
|
31
|
+
* `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`
|
32
|
+
|
33
|
+
## Property Examples
|
34
|
+
|
35
|
+
The following examples show how to use this InSpec audit resource.
|
36
|
+
|
37
|
+
### Test the auditd.conf file
|
38
|
+
|
39
|
+
describe auditd_conf do
|
40
|
+
its('log_file') { should cmp '/full/path/to/file' }
|
41
|
+
its('log_format') { should cmp 'raw' }
|
42
|
+
its('flush') { should cmp 'none' }
|
43
|
+
its('freq') { should cmp 1 }
|
44
|
+
its('num_logs') { should cmp 0 }
|
45
|
+
its('max_log_file') { should cmp 6 }
|
46
|
+
its('max_log_file_action') { should cmp 'email' }
|
47
|
+
its('space_left') { should cmp 2 }
|
48
|
+
its('action_mail_acct') { should cmp 'root' }
|
49
|
+
its('space_left_action') { should cmp 'email' }
|
50
|
+
its('admin_space_left') { should cmp 1 }
|
51
|
+
its('admin_space_left_action') { should cmp 'halt' }
|
52
|
+
its('disk_full_action') { should cmp 'halt' }
|
53
|
+
its('disk_error_action') { should cmp 'halt' }
|
54
|
+
end
|
55
|
+
|
56
|
+
<br>
|
57
|
+
|
58
|
+
## Matchers
|
59
|
+
|
60
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
61
|
+
|
62
|
+
### `cmp`
|
63
|
+
|
64
|
+
The `cmp` matcher compares values across types.
|
65
|
+
|
66
|
+
its('freq') { should cmp 1 }
|
67
|
+
|
68
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -1,116 +1,116 @@
|
|
1
|
-
---
|
2
|
-
title: About the auditd_rules Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# auditd_rules
|
6
|
-
|
7
|
-
Use the `auditd_rules` 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. This resource uses `auditctl` to query the run-time `auditd` rules setup, which may be different from `audit.rules`.
|
8
|
-
|
9
|
-
<br>
|
10
|
-
|
11
|
-
## Syntax
|
12
|
-
|
13
|
-
An `auditd_rules` resource block declares one (or more) rules to be tested, and then what that rule should do. The syntax depends on the version of `audit`:
|
14
|
-
|
15
|
-
For `audit` >= 2.3:
|
16
|
-
|
17
|
-
describe auditd_rules do
|
18
|
-
its('lines') { should contain_match(rule) }
|
19
|
-
end
|
20
|
-
|
21
|
-
For `audit` < 2.3:
|
22
|
-
|
23
|
-
describe audit_daemon_rules do
|
24
|
-
its("LIST_RULES") {
|
25
|
-
rule
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
For example:
|
30
|
-
|
31
|
-
describe auditd_rules do
|
32
|
-
its('LIST_RULES') { should eq [
|
33
|
-
'exit,always syscall=rmdir,unlink',
|
34
|
-
'exit,always auid=1001 (0x3e9) syscall=open',
|
35
|
-
'exit,always watch=/etc/group perm=wa',
|
36
|
-
'exit,always watch=/etc/passwd perm=wa',
|
37
|
-
'exit,always watch=/etc/shadow perm=wa',
|
38
|
-
'exit,always watch=/etc/sudoers perm=wa',
|
39
|
-
'exit,always watch=/etc/secret_directory perm=r',
|
40
|
-
] }
|
41
|
-
end
|
42
|
-
|
43
|
-
or test that individual rules are defined:
|
44
|
-
|
45
|
-
describe auditd_rules do
|
46
|
-
its('LIST_RULES') {
|
47
|
-
should contain_match(/^exit,always watch=\/etc\/group perm=wa key=identity/)
|
48
|
-
}
|
49
|
-
its('LIST_RULES') {
|
50
|
-
should contain_match(/^exit,always watch=\/etc\/passwd perm=wa key=identity/)
|
51
|
-
}
|
52
|
-
its('LIST_RULES') {
|
53
|
-
should contain_match(/^exit,always watch=\/etc\/gshadow perm=wa key=identity/)
|
54
|
-
}
|
55
|
-
its('LIST_RULES') {
|
56
|
-
should contain_match(/^exit,always watch=\/etc\/shadow perm=wa key=identity/)
|
57
|
-
}
|
58
|
-
its('LIST_RULES') {
|
59
|
-
should contain_match(/^exit,always watch=\/etc\/security\/opasswd perm=wa key=identity/)
|
60
|
-
}
|
61
|
-
end
|
62
|
-
|
63
|
-
where each test must declare one (or more) rules to be tested.
|
64
|
-
|
65
|
-
<br>
|
66
|
-
|
67
|
-
## Examples
|
68
|
-
|
69
|
-
The following examples show how to use this InSpec audit resource.
|
70
|
-
|
71
|
-
### Test if a rule contains a matching element that is identified by a regular expression
|
72
|
-
|
73
|
-
For `audit` >= 2.3:
|
74
|
-
|
75
|
-
describe auditd_rules do
|
76
|
-
its('lines') { should contain_match(%r{-w /etc/ssh/sshd_config/}) }
|
77
|
-
end
|
78
|
-
|
79
|
-
For `audit` < 2.3:
|
80
|
-
|
81
|
-
describe audit_daemon_rules do
|
82
|
-
its("LIST_RULES") {
|
83
|
-
should contain_match(/^exit,always arch=.*\
|
84
|
-
key=time-change\
|
85
|
-
syscall=adjtimex,settimeofday/)
|
86
|
-
}
|
87
|
-
end
|
88
|
-
|
89
|
-
|
90
|
-
### Query the audit daemon status
|
91
|
-
|
92
|
-
describe auditd_rules.status('backlog') do
|
93
|
-
it { should cmp 0 }
|
94
|
-
end
|
95
|
-
|
96
|
-
### Query properties of rules targeting specific syscalls or files
|
97
|
-
|
98
|
-
describe auditd_rules.syscall('open').action do
|
99
|
-
it { should eq(['always']) }
|
100
|
-
end
|
101
|
-
|
102
|
-
describe auditd_rules.key('sshd_config') do
|
103
|
-
its('permissions') { should contain_match(/x/) }
|
104
|
-
end
|
105
|
-
|
106
|
-
Filters may be chained. For example:
|
107
|
-
|
108
|
-
describe auditd_rules.syscall('open').action('always').list do
|
109
|
-
it { should eq(['exit']) }
|
110
|
-
end
|
111
|
-
|
112
|
-
<br>
|
113
|
-
|
114
|
-
## Matchers
|
115
|
-
|
116
|
-
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
1
|
+
---
|
2
|
+
title: About the auditd_rules Resource
|
3
|
+
---
|
4
|
+
|
5
|
+
# auditd_rules
|
6
|
+
|
7
|
+
Use the `auditd_rules` 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. This resource uses `auditctl` to query the run-time `auditd` rules setup, which may be different from `audit.rules`.
|
8
|
+
|
9
|
+
<br>
|
10
|
+
|
11
|
+
## Syntax
|
12
|
+
|
13
|
+
An `auditd_rules` resource block declares one (or more) rules to be tested, and then what that rule should do. The syntax depends on the version of `audit`:
|
14
|
+
|
15
|
+
For `audit` >= 2.3:
|
16
|
+
|
17
|
+
describe auditd_rules do
|
18
|
+
its('lines') { should contain_match(rule) }
|
19
|
+
end
|
20
|
+
|
21
|
+
For `audit` < 2.3:
|
22
|
+
|
23
|
+
describe audit_daemon_rules do
|
24
|
+
its("LIST_RULES") {
|
25
|
+
rule
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
For example:
|
30
|
+
|
31
|
+
describe auditd_rules do
|
32
|
+
its('LIST_RULES') { should eq [
|
33
|
+
'exit,always syscall=rmdir,unlink',
|
34
|
+
'exit,always auid=1001 (0x3e9) syscall=open',
|
35
|
+
'exit,always watch=/etc/group perm=wa',
|
36
|
+
'exit,always watch=/etc/passwd perm=wa',
|
37
|
+
'exit,always watch=/etc/shadow perm=wa',
|
38
|
+
'exit,always watch=/etc/sudoers perm=wa',
|
39
|
+
'exit,always watch=/etc/secret_directory perm=r',
|
40
|
+
] }
|
41
|
+
end
|
42
|
+
|
43
|
+
or test that individual rules are defined:
|
44
|
+
|
45
|
+
describe auditd_rules do
|
46
|
+
its('LIST_RULES') {
|
47
|
+
should contain_match(/^exit,always watch=\/etc\/group perm=wa key=identity/)
|
48
|
+
}
|
49
|
+
its('LIST_RULES') {
|
50
|
+
should contain_match(/^exit,always watch=\/etc\/passwd perm=wa key=identity/)
|
51
|
+
}
|
52
|
+
its('LIST_RULES') {
|
53
|
+
should contain_match(/^exit,always watch=\/etc\/gshadow perm=wa key=identity/)
|
54
|
+
}
|
55
|
+
its('LIST_RULES') {
|
56
|
+
should contain_match(/^exit,always watch=\/etc\/shadow perm=wa key=identity/)
|
57
|
+
}
|
58
|
+
its('LIST_RULES') {
|
59
|
+
should contain_match(/^exit,always watch=\/etc\/security\/opasswd perm=wa key=identity/)
|
60
|
+
}
|
61
|
+
end
|
62
|
+
|
63
|
+
where each test must declare one (or more) rules to be tested.
|
64
|
+
|
65
|
+
<br>
|
66
|
+
|
67
|
+
## Examples
|
68
|
+
|
69
|
+
The following examples show how to use this InSpec audit resource.
|
70
|
+
|
71
|
+
### Test if a rule contains a matching element that is identified by a regular expression
|
72
|
+
|
73
|
+
For `audit` >= 2.3:
|
74
|
+
|
75
|
+
describe auditd_rules do
|
76
|
+
its('lines') { should contain_match(%r{-w /etc/ssh/sshd_config/}) }
|
77
|
+
end
|
78
|
+
|
79
|
+
For `audit` < 2.3:
|
80
|
+
|
81
|
+
describe audit_daemon_rules do
|
82
|
+
its("LIST_RULES") {
|
83
|
+
should contain_match(/^exit,always arch=.*\
|
84
|
+
key=time-change\
|
85
|
+
syscall=adjtimex,settimeofday/)
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
### Query the audit daemon status
|
91
|
+
|
92
|
+
describe auditd_rules.status('backlog') do
|
93
|
+
it { should cmp 0 }
|
94
|
+
end
|
95
|
+
|
96
|
+
### Query properties of rules targeting specific syscalls or files
|
97
|
+
|
98
|
+
describe auditd_rules.syscall('open').action do
|
99
|
+
it { should eq(['always']) }
|
100
|
+
end
|
101
|
+
|
102
|
+
describe auditd_rules.key('sshd_config') do
|
103
|
+
its('permissions') { should contain_match(/x/) }
|
104
|
+
end
|
105
|
+
|
106
|
+
Filters may be chained. For example:
|
107
|
+
|
108
|
+
describe auditd_rules.syscall('open').action('always').list do
|
109
|
+
it { should eq(['exit']) }
|
110
|
+
end
|
111
|
+
|
112
|
+
<br>
|
113
|
+
|
114
|
+
## Matchers
|
115
|
+
|
116
|
+
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|