inspec-core 2.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +3136 -0
- data/Gemfile +56 -0
- data/LICENSE +14 -0
- data/MAINTAINERS.md +33 -0
- data/MAINTAINERS.toml +52 -0
- data/README.md +453 -0
- data/bin/inspec +12 -0
- data/docs/.gitignore +2 -0
- data/docs/README.md +40 -0
- data/docs/dev/control-eval.md +62 -0
- data/docs/dsl_inspec.md +258 -0
- data/docs/dsl_resource.md +100 -0
- data/docs/glossary.md +99 -0
- data/docs/habitat.md +192 -0
- data/docs/inspec_and_friends.md +114 -0
- data/docs/matchers.md +169 -0
- data/docs/migration.md +293 -0
- data/docs/platforms.md +119 -0
- data/docs/plugin_kitchen_inspec.md +50 -0
- data/docs/profiles.md +378 -0
- data/docs/reporters.md +105 -0
- data/docs/resources/aide_conf.md.erb +76 -0
- data/docs/resources/apache.md.erb +67 -0
- data/docs/resources/apache_conf.md.erb +68 -0
- data/docs/resources/apt.md.erb +71 -0
- data/docs/resources/audit_policy.md.erb +47 -0
- data/docs/resources/auditd.md.erb +79 -0
- data/docs/resources/auditd_conf.md.erb +68 -0
- data/docs/resources/bash.md.erb +75 -0
- data/docs/resources/bond.md.erb +90 -0
- data/docs/resources/bridge.md.erb +57 -0
- data/docs/resources/bsd_service.md.erb +67 -0
- data/docs/resources/chocolatey_package.md.erb +58 -0
- data/docs/resources/command.md.erb +138 -0
- data/docs/resources/cpan.md.erb +79 -0
- data/docs/resources/cran.md.erb +64 -0
- data/docs/resources/crontab.md.erb +89 -0
- data/docs/resources/csv.md.erb +54 -0
- data/docs/resources/dh_params.md.erb +205 -0
- data/docs/resources/directory.md.erb +30 -0
- data/docs/resources/docker.md.erb +219 -0
- data/docs/resources/docker_container.md.erb +103 -0
- data/docs/resources/docker_image.md.erb +94 -0
- data/docs/resources/docker_service.md.erb +114 -0
- data/docs/resources/elasticsearch.md.erb +242 -0
- data/docs/resources/etc_fstab.md.erb +125 -0
- data/docs/resources/etc_group.md.erb +75 -0
- data/docs/resources/etc_hosts.md.erb +78 -0
- data/docs/resources/etc_hosts_allow.md.erb +74 -0
- data/docs/resources/etc_hosts_deny.md.erb +74 -0
- data/docs/resources/file.md.erb +526 -0
- data/docs/resources/filesystem.md.erb +41 -0
- data/docs/resources/firewalld.md.erb +107 -0
- data/docs/resources/gem.md.erb +79 -0
- data/docs/resources/group.md.erb +61 -0
- data/docs/resources/grub_conf.md.erb +101 -0
- data/docs/resources/host.md.erb +86 -0
- data/docs/resources/http.md.erb +197 -0
- data/docs/resources/iis_app.md.erb +122 -0
- data/docs/resources/iis_site.md.erb +135 -0
- data/docs/resources/inetd_conf.md.erb +94 -0
- data/docs/resources/ini.md.erb +76 -0
- data/docs/resources/interface.md.erb +58 -0
- data/docs/resources/iptables.md.erb +64 -0
- data/docs/resources/json.md.erb +63 -0
- data/docs/resources/kernel_module.md.erb +120 -0
- data/docs/resources/kernel_parameter.md.erb +53 -0
- data/docs/resources/key_rsa.md.erb +85 -0
- data/docs/resources/launchd_service.md.erb +57 -0
- data/docs/resources/limits_conf.md.erb +75 -0
- data/docs/resources/login_defs.md.erb +71 -0
- data/docs/resources/mount.md.erb +69 -0
- data/docs/resources/mssql_session.md.erb +60 -0
- data/docs/resources/mysql_conf.md.erb +99 -0
- data/docs/resources/mysql_session.md.erb +74 -0
- data/docs/resources/nginx.md.erb +79 -0
- data/docs/resources/nginx_conf.md.erb +138 -0
- data/docs/resources/npm.md.erb +60 -0
- data/docs/resources/ntp_conf.md.erb +60 -0
- data/docs/resources/oneget.md.erb +53 -0
- data/docs/resources/oracledb_session.md.erb +52 -0
- data/docs/resources/os.md.erb +141 -0
- data/docs/resources/os_env.md.erb +91 -0
- data/docs/resources/package.md.erb +120 -0
- data/docs/resources/packages.md.erb +67 -0
- data/docs/resources/parse_config.md.erb +103 -0
- data/docs/resources/parse_config_file.md.erb +138 -0
- data/docs/resources/passwd.md.erb +141 -0
- data/docs/resources/pip.md.erb +67 -0
- data/docs/resources/port.md.erb +137 -0
- data/docs/resources/postgres_conf.md.erb +79 -0
- data/docs/resources/postgres_hba_conf.md.erb +93 -0
- data/docs/resources/postgres_ident_conf.md.erb +76 -0
- data/docs/resources/postgres_session.md.erb +69 -0
- data/docs/resources/powershell.md.erb +102 -0
- data/docs/resources/processes.md.erb +109 -0
- data/docs/resources/rabbitmq_config.md.erb +41 -0
- data/docs/resources/registry_key.md.erb +158 -0
- data/docs/resources/runit_service.md.erb +57 -0
- data/docs/resources/security_policy.md.erb +47 -0
- data/docs/resources/service.md.erb +121 -0
- data/docs/resources/shadow.md.erb +146 -0
- data/docs/resources/ssh_config.md.erb +73 -0
- data/docs/resources/sshd_config.md.erb +83 -0
- data/docs/resources/ssl.md.erb +119 -0
- data/docs/resources/sys_info.md.erb +42 -0
- data/docs/resources/systemd_service.md.erb +57 -0
- data/docs/resources/sysv_service.md.erb +57 -0
- data/docs/resources/upstart_service.md.erb +57 -0
- data/docs/resources/user.md.erb +140 -0
- data/docs/resources/users.md.erb +127 -0
- data/docs/resources/vbscript.md.erb +55 -0
- data/docs/resources/virtualization.md.erb +57 -0
- data/docs/resources/windows_feature.md.erb +47 -0
- data/docs/resources/windows_hotfix.md.erb +53 -0
- data/docs/resources/windows_task.md.erb +95 -0
- data/docs/resources/wmi.md.erb +81 -0
- data/docs/resources/x509_certificate.md.erb +151 -0
- data/docs/resources/xinetd_conf.md.erb +156 -0
- data/docs/resources/xml.md.erb +85 -0
- data/docs/resources/yaml.md.erb +69 -0
- data/docs/resources/yum.md.erb +98 -0
- data/docs/resources/zfs_dataset.md.erb +53 -0
- data/docs/resources/zfs_pool.md.erb +47 -0
- data/docs/ruby_usage.md +203 -0
- data/docs/shared/matcher_be.md.erb +1 -0
- data/docs/shared/matcher_cmp.md.erb +43 -0
- data/docs/shared/matcher_eq.md.erb +3 -0
- data/docs/shared/matcher_include.md.erb +1 -0
- data/docs/shared/matcher_match.md.erb +1 -0
- data/docs/shell.md +217 -0
- data/examples/README.md +8 -0
- data/examples/inheritance/README.md +65 -0
- data/examples/inheritance/controls/example.rb +14 -0
- data/examples/inheritance/inspec.yml +15 -0
- data/examples/kitchen-ansible/.kitchen.yml +25 -0
- data/examples/kitchen-ansible/Gemfile +19 -0
- data/examples/kitchen-ansible/README.md +53 -0
- data/examples/kitchen-ansible/files/nginx.repo +6 -0
- data/examples/kitchen-ansible/tasks/main.yml +16 -0
- data/examples/kitchen-ansible/test/integration/default/default.yml +5 -0
- data/examples/kitchen-ansible/test/integration/default/web_spec.rb +28 -0
- data/examples/kitchen-chef/.kitchen.yml +20 -0
- data/examples/kitchen-chef/Berksfile +3 -0
- data/examples/kitchen-chef/Gemfile +19 -0
- data/examples/kitchen-chef/README.md +27 -0
- data/examples/kitchen-chef/metadata.rb +7 -0
- data/examples/kitchen-chef/recipes/default.rb +6 -0
- data/examples/kitchen-chef/recipes/nginx.rb +30 -0
- data/examples/kitchen-chef/test/integration/default/web_spec.rb +28 -0
- data/examples/kitchen-puppet/.kitchen.yml +23 -0
- data/examples/kitchen-puppet/Gemfile +20 -0
- data/examples/kitchen-puppet/Puppetfile +25 -0
- data/examples/kitchen-puppet/README.md +53 -0
- data/examples/kitchen-puppet/manifests/site.pp +33 -0
- data/examples/kitchen-puppet/metadata.json +11 -0
- data/examples/kitchen-puppet/modules/.gitkeep +0 -0
- data/examples/kitchen-puppet/test/integration/default/web_spec.rb +28 -0
- data/examples/meta-profile/README.md +37 -0
- data/examples/meta-profile/controls/example.rb +13 -0
- data/examples/meta-profile/inspec.yml +13 -0
- data/examples/profile-attribute.yml +2 -0
- data/examples/profile-attribute/README.md +14 -0
- data/examples/profile-attribute/controls/example.rb +11 -0
- data/examples/profile-attribute/inspec.yml +8 -0
- data/examples/profile-sensitive/README.md +29 -0
- data/examples/profile-sensitive/controls/sensitive-failures.rb +9 -0
- data/examples/profile-sensitive/controls/sensitive.rb +9 -0
- data/examples/profile-sensitive/inspec.yml +8 -0
- data/examples/profile/README.md +48 -0
- data/examples/profile/controls/example.rb +23 -0
- data/examples/profile/controls/gordon.rb +36 -0
- data/examples/profile/controls/meta.rb +34 -0
- data/examples/profile/inspec.yml +10 -0
- data/examples/profile/libraries/gordon_config.rb +59 -0
- data/inspec-core.gemspec +43 -0
- data/lib/bundles/README.md +3 -0
- data/lib/bundles/inspec-artifact.rb +7 -0
- data/lib/bundles/inspec-artifact/README.md +1 -0
- data/lib/bundles/inspec-artifact/cli.rb +277 -0
- data/lib/bundles/inspec-compliance.rb +16 -0
- data/lib/bundles/inspec-compliance/.kitchen.yml +20 -0
- data/lib/bundles/inspec-compliance/README.md +193 -0
- data/lib/bundles/inspec-compliance/api.rb +360 -0
- data/lib/bundles/inspec-compliance/api/login.rb +193 -0
- data/lib/bundles/inspec-compliance/bootstrap.sh +41 -0
- data/lib/bundles/inspec-compliance/cli.rb +260 -0
- data/lib/bundles/inspec-compliance/configuration.rb +103 -0
- data/lib/bundles/inspec-compliance/http.rb +125 -0
- data/lib/bundles/inspec-compliance/images/cc-token.png +0 -0
- data/lib/bundles/inspec-compliance/support.rb +36 -0
- data/lib/bundles/inspec-compliance/target.rb +106 -0
- data/lib/bundles/inspec-compliance/test/integration/default/cli.rb +93 -0
- data/lib/bundles/inspec-habitat.rb +12 -0
- data/lib/bundles/inspec-habitat/cli.rb +36 -0
- data/lib/bundles/inspec-habitat/log.rb +10 -0
- data/lib/bundles/inspec-habitat/profile.rb +391 -0
- data/lib/bundles/inspec-init.rb +8 -0
- data/lib/bundles/inspec-init/README.md +31 -0
- data/lib/bundles/inspec-init/cli.rb +97 -0
- data/lib/bundles/inspec-init/templates/profile/README.md +3 -0
- data/lib/bundles/inspec-init/templates/profile/controls/example.rb +19 -0
- data/lib/bundles/inspec-init/templates/profile/inspec.yml +8 -0
- data/lib/bundles/inspec-init/templates/profile/libraries/.gitkeep +0 -0
- data/lib/bundles/inspec-supermarket.rb +13 -0
- data/lib/bundles/inspec-supermarket/README.md +45 -0
- data/lib/bundles/inspec-supermarket/api.rb +84 -0
- data/lib/bundles/inspec-supermarket/cli.rb +73 -0
- data/lib/bundles/inspec-supermarket/target.rb +34 -0
- data/lib/fetchers/git.rb +163 -0
- data/lib/fetchers/local.rb +74 -0
- data/lib/fetchers/mock.rb +35 -0
- data/lib/fetchers/url.rb +247 -0
- data/lib/inspec.rb +24 -0
- data/lib/inspec/archive/tar.rb +29 -0
- data/lib/inspec/archive/zip.rb +19 -0
- data/lib/inspec/backend.rb +93 -0
- data/lib/inspec/base_cli.rb +368 -0
- data/lib/inspec/cached_fetcher.rb +66 -0
- data/lib/inspec/cli.rb +292 -0
- data/lib/inspec/completions/bash.sh.erb +45 -0
- data/lib/inspec/completions/fish.sh.erb +34 -0
- data/lib/inspec/completions/zsh.sh.erb +61 -0
- data/lib/inspec/control_eval_context.rb +179 -0
- data/lib/inspec/dependencies/cache.rb +72 -0
- data/lib/inspec/dependencies/dependency_set.rb +92 -0
- data/lib/inspec/dependencies/lockfile.rb +115 -0
- data/lib/inspec/dependencies/requirement.rb +123 -0
- data/lib/inspec/dependencies/resolver.rb +86 -0
- data/lib/inspec/describe.rb +27 -0
- data/lib/inspec/dsl.rb +66 -0
- data/lib/inspec/dsl_shared.rb +33 -0
- data/lib/inspec/env_printer.rb +157 -0
- data/lib/inspec/errors.rb +14 -0
- data/lib/inspec/exceptions.rb +12 -0
- data/lib/inspec/expect.rb +45 -0
- data/lib/inspec/fetcher.rb +45 -0
- data/lib/inspec/file_provider.rb +275 -0
- data/lib/inspec/formatters.rb +3 -0
- data/lib/inspec/formatters/base.rb +259 -0
- data/lib/inspec/formatters/json_rspec.rb +20 -0
- data/lib/inspec/formatters/show_progress.rb +12 -0
- data/lib/inspec/library_eval_context.rb +58 -0
- data/lib/inspec/log.rb +11 -0
- data/lib/inspec/metadata.rb +247 -0
- data/lib/inspec/method_source.rb +24 -0
- data/lib/inspec/objects.rb +14 -0
- data/lib/inspec/objects/attribute.rb +75 -0
- data/lib/inspec/objects/control.rb +61 -0
- data/lib/inspec/objects/describe.rb +92 -0
- data/lib/inspec/objects/each_loop.rb +36 -0
- data/lib/inspec/objects/list.rb +15 -0
- data/lib/inspec/objects/or_test.rb +40 -0
- data/lib/inspec/objects/ruby_helper.rb +15 -0
- data/lib/inspec/objects/tag.rb +27 -0
- data/lib/inspec/objects/test.rb +87 -0
- data/lib/inspec/objects/value.rb +27 -0
- data/lib/inspec/plugins.rb +60 -0
- data/lib/inspec/plugins/cli.rb +24 -0
- data/lib/inspec/plugins/fetcher.rb +86 -0
- data/lib/inspec/plugins/resource.rb +135 -0
- data/lib/inspec/plugins/secret.rb +15 -0
- data/lib/inspec/plugins/source_reader.rb +40 -0
- data/lib/inspec/polyfill.rb +12 -0
- data/lib/inspec/profile.rb +513 -0
- data/lib/inspec/profile_context.rb +208 -0
- data/lib/inspec/profile_vendor.rb +66 -0
- data/lib/inspec/reporters.rb +60 -0
- data/lib/inspec/reporters/automate.rb +76 -0
- data/lib/inspec/reporters/base.rb +25 -0
- data/lib/inspec/reporters/cli.rb +356 -0
- data/lib/inspec/reporters/json.rb +116 -0
- data/lib/inspec/reporters/json_min.rb +48 -0
- data/lib/inspec/reporters/junit.rb +78 -0
- data/lib/inspec/require_loader.rb +33 -0
- data/lib/inspec/resource.rb +190 -0
- data/lib/inspec/rule.rb +280 -0
- data/lib/inspec/runner.rb +345 -0
- data/lib/inspec/runner_mock.rb +41 -0
- data/lib/inspec/runner_rspec.rb +175 -0
- data/lib/inspec/runtime_profile.rb +26 -0
- data/lib/inspec/schema.rb +213 -0
- data/lib/inspec/secrets.rb +19 -0
- data/lib/inspec/secrets/yaml.rb +30 -0
- data/lib/inspec/shell.rb +220 -0
- data/lib/inspec/shell_detector.rb +90 -0
- data/lib/inspec/source_reader.rb +29 -0
- data/lib/inspec/version.rb +8 -0
- data/lib/matchers/matchers.rb +339 -0
- data/lib/resources/aide_conf.rb +151 -0
- data/lib/resources/apache.rb +48 -0
- data/lib/resources/apache_conf.rb +149 -0
- data/lib/resources/apt.rb +149 -0
- data/lib/resources/audit_policy.rb +63 -0
- data/lib/resources/auditd.rb +231 -0
- data/lib/resources/auditd_conf.rb +46 -0
- data/lib/resources/bash.rb +35 -0
- data/lib/resources/bond.rb +69 -0
- data/lib/resources/bridge.rb +122 -0
- data/lib/resources/chocolatey_package.rb +78 -0
- data/lib/resources/command.rb +73 -0
- data/lib/resources/cpan.rb +58 -0
- data/lib/resources/cran.rb +64 -0
- data/lib/resources/crontab.rb +169 -0
- data/lib/resources/csv.rb +56 -0
- data/lib/resources/dh_params.rb +77 -0
- data/lib/resources/directory.rb +25 -0
- data/lib/resources/docker.rb +236 -0
- data/lib/resources/docker_container.rb +89 -0
- data/lib/resources/docker_image.rb +83 -0
- data/lib/resources/docker_object.rb +57 -0
- data/lib/resources/docker_service.rb +90 -0
- data/lib/resources/elasticsearch.rb +169 -0
- data/lib/resources/etc_fstab.rb +94 -0
- data/lib/resources/etc_group.rb +154 -0
- data/lib/resources/etc_hosts.rb +66 -0
- data/lib/resources/etc_hosts_allow_deny.rb +112 -0
- data/lib/resources/file.rb +298 -0
- data/lib/resources/filesystem.rb +31 -0
- data/lib/resources/firewalld.rb +143 -0
- data/lib/resources/gem.rb +70 -0
- data/lib/resources/groups.rb +215 -0
- data/lib/resources/grub_conf.rb +227 -0
- data/lib/resources/host.rb +306 -0
- data/lib/resources/http.rb +253 -0
- data/lib/resources/iis_app.rb +101 -0
- data/lib/resources/iis_site.rb +148 -0
- data/lib/resources/inetd_conf.rb +54 -0
- data/lib/resources/ini.rb +29 -0
- data/lib/resources/interface.rb +129 -0
- data/lib/resources/iptables.rb +80 -0
- data/lib/resources/json.rb +111 -0
- data/lib/resources/kernel_module.rb +107 -0
- data/lib/resources/kernel_parameter.rb +58 -0
- data/lib/resources/key_rsa.rb +63 -0
- data/lib/resources/limits_conf.rb +46 -0
- data/lib/resources/login_def.rb +57 -0
- data/lib/resources/mount.rb +88 -0
- data/lib/resources/mssql_session.rb +101 -0
- data/lib/resources/mysql.rb +82 -0
- data/lib/resources/mysql_conf.rb +127 -0
- data/lib/resources/mysql_session.rb +85 -0
- data/lib/resources/nginx.rb +96 -0
- data/lib/resources/nginx_conf.rb +226 -0
- data/lib/resources/npm.rb +48 -0
- data/lib/resources/ntp_conf.rb +51 -0
- data/lib/resources/oneget.rb +71 -0
- data/lib/resources/oracledb_session.rb +139 -0
- data/lib/resources/os.rb +36 -0
- data/lib/resources/os_env.rb +86 -0
- data/lib/resources/package.rb +370 -0
- data/lib/resources/packages.rb +111 -0
- data/lib/resources/parse_config.rb +112 -0
- data/lib/resources/passwd.rb +76 -0
- data/lib/resources/pip.rb +130 -0
- data/lib/resources/platform.rb +109 -0
- data/lib/resources/port.rb +771 -0
- data/lib/resources/postgres.rb +131 -0
- data/lib/resources/postgres_conf.rb +114 -0
- data/lib/resources/postgres_hba_conf.rb +90 -0
- data/lib/resources/postgres_ident_conf.rb +79 -0
- data/lib/resources/postgres_session.rb +71 -0
- data/lib/resources/powershell.rb +67 -0
- data/lib/resources/processes.rb +204 -0
- data/lib/resources/rabbitmq_conf.rb +51 -0
- data/lib/resources/registry_key.rb +297 -0
- data/lib/resources/security_policy.rb +180 -0
- data/lib/resources/service.rb +794 -0
- data/lib/resources/shadow.rb +159 -0
- data/lib/resources/ssh_conf.rb +97 -0
- data/lib/resources/ssl.rb +99 -0
- data/lib/resources/sys_info.rb +28 -0
- data/lib/resources/toml.rb +32 -0
- data/lib/resources/users.rb +654 -0
- data/lib/resources/vbscript.rb +68 -0
- data/lib/resources/virtualization.rb +247 -0
- data/lib/resources/windows_feature.rb +84 -0
- data/lib/resources/windows_hotfix.rb +35 -0
- data/lib/resources/windows_task.rb +102 -0
- data/lib/resources/wmi.rb +110 -0
- data/lib/resources/x509_certificate.rb +137 -0
- data/lib/resources/xinetd.rb +106 -0
- data/lib/resources/xml.rb +46 -0
- data/lib/resources/yaml.rb +43 -0
- data/lib/resources/yum.rb +180 -0
- data/lib/resources/zfs_dataset.rb +60 -0
- data/lib/resources/zfs_pool.rb +49 -0
- data/lib/source_readers/flat.rb +39 -0
- data/lib/source_readers/inspec.rb +75 -0
- data/lib/utils/command_wrapper.rb +27 -0
- data/lib/utils/convert.rb +12 -0
- data/lib/utils/database_helpers.rb +77 -0
- data/lib/utils/enumerable_delegation.rb +9 -0
- data/lib/utils/erlang_parser.rb +192 -0
- data/lib/utils/file_reader.rb +25 -0
- data/lib/utils/filter.rb +273 -0
- data/lib/utils/filter_array.rb +27 -0
- data/lib/utils/find_files.rb +47 -0
- data/lib/utils/hash.rb +41 -0
- data/lib/utils/json_log.rb +18 -0
- data/lib/utils/latest_version.rb +22 -0
- data/lib/utils/modulator.rb +12 -0
- data/lib/utils/nginx_parser.rb +105 -0
- data/lib/utils/object_traversal.rb +49 -0
- data/lib/utils/parser.rb +274 -0
- data/lib/utils/pkey_reader.rb +15 -0
- data/lib/utils/plugin_registry.rb +93 -0
- data/lib/utils/simpleconfig.rb +120 -0
- data/lib/utils/spdx.rb +13 -0
- data/lib/utils/spdx.txt +344 -0
- metadata +713 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
---
|
2
|
+
title: The aide_conf Resource
|
3
|
+
platform: linux
|
4
|
+
---
|
5
|
+
|
6
|
+
# aide_conf
|
7
|
+
|
8
|
+
Use the `aide_conf` InSpec audit resource to test the rules established for the file integrity tool AIDE. Controlled by the aide.conf file typically at /etc/aide.conf.
|
9
|
+
|
10
|
+
<br>
|
11
|
+
|
12
|
+
## Syntax
|
13
|
+
|
14
|
+
An `aide_conf` resource block can be used to determine if the selection lines contain one (or more) directories whose files should be added to the aide database:
|
15
|
+
|
16
|
+
describe aide_conf('path') do
|
17
|
+
its('selection_lines') { should include '/sbin' }
|
18
|
+
end
|
19
|
+
|
20
|
+
where
|
21
|
+
|
22
|
+
* `'selection_lines'` refers to all selection lines found in the aide.conf file
|
23
|
+
* `('path')` is the non-default path to the `aide.conf` file (optional)
|
24
|
+
* `should include 'value'` is the value that is expected
|
25
|
+
|
26
|
+
Use the where clause to match a selection_line to one rule or a particular set of rules found in the aide.conf file:
|
27
|
+
|
28
|
+
describe aide_conf.where { selection_line == '/bin' } do
|
29
|
+
its('rules.flatten') { should include 'r' }
|
30
|
+
end
|
31
|
+
|
32
|
+
describe aide_conf.where { selection_line == '/sbin' } do
|
33
|
+
its('rules') { should include ['p', 'i', 'l', 'n', 'u', 'g', 'sha512'] }
|
34
|
+
end
|
35
|
+
|
36
|
+
<br>
|
37
|
+
|
38
|
+
## Properties
|
39
|
+
|
40
|
+
* `conf_path`, `content`, `rules`, `all_have_rule`
|
41
|
+
|
42
|
+
<br>
|
43
|
+
|
44
|
+
## Property Examples
|
45
|
+
|
46
|
+
The following examples show how to use this InSpec audit resource.
|
47
|
+
|
48
|
+
### Test if all selection lines contain the xattr rule
|
49
|
+
|
50
|
+
describe aide_conf.all_have_rule('xattr') do
|
51
|
+
it { should eq true }
|
52
|
+
end
|
53
|
+
|
54
|
+
### Test whether selection line for /bin contains a particular rule
|
55
|
+
|
56
|
+
describe aide_conf.where { selection_line == '/bin' } do
|
57
|
+
its('rules.flatten') { should include 'r' }
|
58
|
+
end
|
59
|
+
|
60
|
+
### Test whether selection line for /sbin consists of a particular set of rules
|
61
|
+
|
62
|
+
describe aide_conf.where { selection_line == '/sbin' } do
|
63
|
+
its('rules') { should include ['r', 'sha512'] }
|
64
|
+
end
|
65
|
+
|
66
|
+
### The usage of all\_have\_rule will return whether or not all selection lines in audit.conf contain a particular rule:
|
67
|
+
|
68
|
+
describe aide_conf.all_have_rule('sha512') do
|
69
|
+
it { should eq true }
|
70
|
+
end
|
71
|
+
|
72
|
+
<br>
|
73
|
+
|
74
|
+
## Matchers
|
75
|
+
|
76
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
title: About the apache Resource
|
3
|
+
platform: linux
|
4
|
+
---
|
5
|
+
|
6
|
+
# apache
|
7
|
+
|
8
|
+
Use the `apache` InSpec audit resource to test the state of the Apache server on Linux/Unix systems.
|
9
|
+
|
10
|
+
<p class="warning">This resource is deprecated and should not be used. It will be removed in InSpec 3.0.</p>
|
11
|
+
|
12
|
+
<br>
|
13
|
+
|
14
|
+
## Syntax
|
15
|
+
|
16
|
+
An `apache` InSpec audit resource block declares settings that should be tested:
|
17
|
+
|
18
|
+
describe apache do
|
19
|
+
its('setting_name') { should cmp 'value' }
|
20
|
+
end
|
21
|
+
|
22
|
+
where
|
23
|
+
|
24
|
+
* `'setting_name'` is description of the Apache configuration file
|
25
|
+
* `{ should cmp 'value' }` is the value that is expected
|
26
|
+
|
27
|
+
<br>
|
28
|
+
|
29
|
+
## Properties
|
30
|
+
|
31
|
+
* 'service', 'conf_dir', 'conf_path', 'user'
|
32
|
+
|
33
|
+
<br>
|
34
|
+
|
35
|
+
## Property Examples
|
36
|
+
|
37
|
+
The following examples show how to use this InSpec audit resource.
|
38
|
+
|
39
|
+
### Test the service name.
|
40
|
+
|
41
|
+
describe apache do
|
42
|
+
its ('service') { should cmp 'apache2' }
|
43
|
+
end
|
44
|
+
|
45
|
+
### Test the configuration location
|
46
|
+
|
47
|
+
describe apache do
|
48
|
+
its ('conf_dir') { should cmp '/etc/apache2' }
|
49
|
+
end
|
50
|
+
|
51
|
+
### Test the path of the configuration file
|
52
|
+
|
53
|
+
describe apache do
|
54
|
+
its ('conf_path') { should cmp '/etc/apache2/apache2.conf' }
|
55
|
+
end
|
56
|
+
|
57
|
+
### Test the apache user
|
58
|
+
|
59
|
+
describe apache do
|
60
|
+
its ('user') { should cmp 'www-data' }
|
61
|
+
end
|
62
|
+
|
63
|
+
<br>
|
64
|
+
|
65
|
+
## Matchers
|
66
|
+
|
67
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
title: About the apache_conf Resource
|
3
|
+
platform: linux
|
4
|
+
---
|
5
|
+
|
6
|
+
# apache_conf
|
7
|
+
|
8
|
+
Use the `apache_conf` InSpec audit resource to test the configuration settings for Apache. This file is typically located under `/etc/apache2` on the Debian and Ubuntu platforms and under `/etc/httpd` on the Fedora, CentOS, RedHat Enterprise Linux, and ArchLinux platforms. The configuration settings may vary significantly from platform to platform.
|
9
|
+
|
10
|
+
<br>
|
11
|
+
|
12
|
+
## Syntax
|
13
|
+
|
14
|
+
An `apache_conf` InSpec audit resource block declares configuration settings that should be tested:
|
15
|
+
|
16
|
+
describe apache_conf('path') do
|
17
|
+
its('setting_name') { should eq 'value' }
|
18
|
+
end
|
19
|
+
|
20
|
+
where
|
21
|
+
|
22
|
+
* `'setting_name'` is a configuration setting defined in the Apache configuration file
|
23
|
+
* `('path')` is the non-default path to the Apache configuration file
|
24
|
+
* `{ should eq 'value' }` is the value that is expected
|
25
|
+
|
26
|
+
<br>
|
27
|
+
|
28
|
+
## Examples
|
29
|
+
|
30
|
+
The following examples show how to use this InSpec audit resource.
|
31
|
+
|
32
|
+
### Test for blocking .htaccess files on CentOS
|
33
|
+
|
34
|
+
describe apache_conf do
|
35
|
+
its('AllowOverride') { should cmp 'None' }
|
36
|
+
end
|
37
|
+
|
38
|
+
### Test ports for SSL
|
39
|
+
|
40
|
+
describe apache_conf do
|
41
|
+
its('Listen') { should cmp '443' }
|
42
|
+
end
|
43
|
+
|
44
|
+
### Test multiple ports are listening
|
45
|
+
|
46
|
+
describe apache_conf do
|
47
|
+
its('Listen') { should =~ [ '80', '443' ] }
|
48
|
+
end
|
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
|
+
This InSpec audit resource matches any service that is listed in the Apache configuration file:
|
56
|
+
|
57
|
+
its('PidFile') { should_not eq '/var/run/httpd.pid' }
|
58
|
+
|
59
|
+
or:
|
60
|
+
|
61
|
+
its('Timeout') { should cmp '300' }
|
62
|
+
|
63
|
+
For example:
|
64
|
+
|
65
|
+
describe apache_conf do
|
66
|
+
its('MaxClients') { should cmp '100' }
|
67
|
+
its('Listen') { should cmp '443' }
|
68
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
---
|
2
|
+
title: About the apt Resource
|
3
|
+
platform: linux
|
4
|
+
---
|
5
|
+
|
6
|
+
# apt
|
7
|
+
|
8
|
+
Use the `apt` InSpec audit resource to verify Apt repositories on the Debian and Ubuntu platforms, and also PPA repositories on the Ubuntu platform.
|
9
|
+
|
10
|
+
<br>
|
11
|
+
|
12
|
+
## Syntax
|
13
|
+
|
14
|
+
An `apt` resource block tests the contents of Apt and PPA repositories:
|
15
|
+
|
16
|
+
describe apt('path') do
|
17
|
+
it { should exist }
|
18
|
+
it { should be_enabled }
|
19
|
+
end
|
20
|
+
|
21
|
+
where
|
22
|
+
|
23
|
+
* `apt('path')` must specify an Apt or PPA repository
|
24
|
+
* `('path')` may be an `http://` address, a `ppa:` address, or a short `repo-name/ppa` address
|
25
|
+
* `exist` and `be_enabled` are a valid matchers for this resource
|
26
|
+
|
27
|
+
<br>
|
28
|
+
|
29
|
+
## Examples
|
30
|
+
|
31
|
+
The following examples show how to use this InSpec audit resource.
|
32
|
+
|
33
|
+
### Test if apt repository exists and is enabled
|
34
|
+
|
35
|
+
describe apt('http://ppa.launchpad.net/juju/stable/ubuntu') do
|
36
|
+
it { should exist }
|
37
|
+
it { should be_enabled }
|
38
|
+
end
|
39
|
+
|
40
|
+
### Verify that a PPA repository exists and is enabled
|
41
|
+
|
42
|
+
describe apt('ppa:nginx/stable') do
|
43
|
+
it { should exist }
|
44
|
+
it { should be_enabled }
|
45
|
+
end
|
46
|
+
|
47
|
+
### Verify that a repository is not present
|
48
|
+
|
49
|
+
describe apt('ubuntu-wine/ppa') do
|
50
|
+
it { should_not exist }
|
51
|
+
it { should_not be_enabled }
|
52
|
+
end
|
53
|
+
|
54
|
+
<br>
|
55
|
+
|
56
|
+
## Matchers
|
57
|
+
|
58
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
59
|
+
|
60
|
+
|
61
|
+
### be_enabled
|
62
|
+
|
63
|
+
The `be_enabled` matcher tests if a package exists in the repository:
|
64
|
+
|
65
|
+
it { should be_enabled }
|
66
|
+
|
67
|
+
### exist
|
68
|
+
|
69
|
+
The `exist` matcher tests if a package exists on the system:
|
70
|
+
|
71
|
+
it { should exist }
|
@@ -0,0 +1,47 @@
|
|
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
|
+
## Syntax
|
13
|
+
|
14
|
+
An `audit_policy` resource block declares a parameter that belongs to an audit policy category or subcategory:
|
15
|
+
|
16
|
+
describe audit_policy do
|
17
|
+
its('parameter') { should eq 'value' }
|
18
|
+
end
|
19
|
+
|
20
|
+
where
|
21
|
+
|
22
|
+
* `'parameter'` must specify a parameter
|
23
|
+
* `'value'` must be one of `No Auditing`, `Not Specified`, `Success`, `Success and Failure`, or `Failure`
|
24
|
+
|
25
|
+
<br>
|
26
|
+
|
27
|
+
## Examples
|
28
|
+
|
29
|
+
The following examples show how to use this InSpec audit resource.
|
30
|
+
|
31
|
+
### Test that a parameter is not set to "No Auditing"
|
32
|
+
|
33
|
+
describe audit_policy do
|
34
|
+
its('Other Account Logon Events') { should_not eq 'No Auditing' }
|
35
|
+
end
|
36
|
+
|
37
|
+
### Test that a parameter is set to "Success"
|
38
|
+
|
39
|
+
describe audit_policy do
|
40
|
+
its('User Account Management') { should eq 'Success' }
|
41
|
+
end
|
42
|
+
|
43
|
+
<br>
|
44
|
+
|
45
|
+
## Matchers
|
46
|
+
|
47
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -0,0 +1,79 @@
|
|
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
|
+
## Syntax
|
13
|
+
|
14
|
+
An `auditd` resource block declares one (or more) rules to be tested, and then what that rule should do:
|
15
|
+
|
16
|
+
describe auditd do
|
17
|
+
its('lines') { should include %r(-w /etc/ssh/sshd_config) }
|
18
|
+
end
|
19
|
+
|
20
|
+
or test that multiple individual rules are defined:
|
21
|
+
|
22
|
+
describe auditd do
|
23
|
+
its('lines') { should include %r(-a always,exit -F arch=.* -S init_module,delete_module -F key=modules) }
|
24
|
+
its('lines') { should include %r(-a always,exit -F arch=.* -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -F key=.+) }
|
25
|
+
end
|
26
|
+
|
27
|
+
where each test must declare one (or more) rules to be tested.
|
28
|
+
|
29
|
+
<br>
|
30
|
+
|
31
|
+
## Examples
|
32
|
+
|
33
|
+
The following examples show how to use this InSpec audit resource.
|
34
|
+
|
35
|
+
### Test if a rule contains a matching element that is identified by a regular expression
|
36
|
+
|
37
|
+
For `audit` >= 2.3:
|
38
|
+
|
39
|
+
describe auditd do
|
40
|
+
its('lines') { should include %r(-a always,exit -F arch=.* -S chown.* -F auid>=1000 -F auid!=-1 -F key=perm_mod) }
|
41
|
+
end
|
42
|
+
|
43
|
+
### Query the audit daemon status
|
44
|
+
|
45
|
+
describe auditd.status('backlog') do
|
46
|
+
it { should cmp 0 }
|
47
|
+
end
|
48
|
+
|
49
|
+
### Query properties of rules targeting specific syscalls or files - uniq is used to handle multiple rules for the same syscall with redundant field values
|
50
|
+
|
51
|
+
describe auditd.syscall('open') do
|
52
|
+
its('action.uniq') { should eq ['always'] }
|
53
|
+
its('list.uniq') { should eq ['exit'] }
|
54
|
+
end
|
55
|
+
|
56
|
+
describe auditd.file('/etc/sudoers') do
|
57
|
+
its('permissions') { should include ['x'] }
|
58
|
+
end
|
59
|
+
|
60
|
+
The where accessor can be used to filter on fields. For example:
|
61
|
+
|
62
|
+
describe auditd.syscall('chown').where { arch == "b32" } do
|
63
|
+
its('action') { should eq ['always'] }
|
64
|
+
its('list') { should eq ['exit'] }
|
65
|
+
its('exit') { should include ['-EACCES'] }
|
66
|
+
its('exit') { should include ['-EPERM'] }
|
67
|
+
end
|
68
|
+
|
69
|
+
The key filter may be useful in evaluating rules with particular key values:
|
70
|
+
|
71
|
+
describe auditd.where { key == "privileged" } do
|
72
|
+
its('permissions') { should include ['x'] }
|
73
|
+
end
|
74
|
+
|
75
|
+
<br>
|
76
|
+
|
77
|
+
## Matchers
|
78
|
+
|
79
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
@@ -0,0 +1,68 @@
|
|
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
|
+
## Syntax
|
13
|
+
|
14
|
+
A `auditd_conf` resource block declares configuration settings that should be tested:
|
15
|
+
|
16
|
+
describe auditd_conf('path') do
|
17
|
+
its('keyword') { should cmp 'value' }
|
18
|
+
end
|
19
|
+
|
20
|
+
where
|
21
|
+
|
22
|
+
* `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
|
23
|
+
* `('path')` is the non-default path to the `auditd.conf` configuration file
|
24
|
+
* `{ should cmp 'value' }` is the value that is expected
|
25
|
+
|
26
|
+
<br>
|
27
|
+
|
28
|
+
## Properties
|
29
|
+
|
30
|
+
This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
|
31
|
+
|
32
|
+
* `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`
|
33
|
+
|
34
|
+
## Property Examples
|
35
|
+
|
36
|
+
The following examples show how to use this InSpec audit resource.
|
37
|
+
|
38
|
+
### Test the auditd.conf file
|
39
|
+
|
40
|
+
describe auditd_conf do
|
41
|
+
its('log_file') { should cmp '/full/path/to/file' }
|
42
|
+
its('log_format') { should cmp 'raw' }
|
43
|
+
its('flush') { should cmp 'none' }
|
44
|
+
its('freq') { should cmp 1 }
|
45
|
+
its('num_logs') { should cmp 0 }
|
46
|
+
its('max_log_file') { should cmp 6 }
|
47
|
+
its('max_log_file_action') { should cmp 'email' }
|
48
|
+
its('space_left') { should cmp 2 }
|
49
|
+
its('action_mail_acct') { should cmp 'root' }
|
50
|
+
its('space_left_action') { should cmp 'email' }
|
51
|
+
its('admin_space_left') { should cmp 1 }
|
52
|
+
its('admin_space_left_action') { should cmp 'halt' }
|
53
|
+
its('disk_full_action') { should cmp 'halt' }
|
54
|
+
its('disk_error_action') { should cmp 'halt' }
|
55
|
+
end
|
56
|
+
|
57
|
+
<br>
|
58
|
+
|
59
|
+
## Matchers
|
60
|
+
|
61
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
62
|
+
|
63
|
+
### `cmp`
|
64
|
+
|
65
|
+
The `cmp` matcher compares values across types.
|
66
|
+
|
67
|
+
its('freq') { should cmp 1 }
|
68
|
+
|