inspec 1.31.0 → 1.45.9
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 +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +2599 -1
- data/Gemfile +0 -1
- data/README.md +24 -34
- data/Rakefile +0 -31
- data/docs/dsl_inspec.md +10 -0
- data/docs/matchers.md +29 -0
- data/docs/plugin_kitchen_inspec.md +18 -24
- data/docs/profiles.md +101 -81
- data/docs/resources/aide_conf.md.erb +71 -0
- data/docs/resources/apache_conf.md.erb +19 -33
- data/docs/resources/apt.md.erb +22 -36
- data/docs/resources/audit_policy.md.erb +9 -24
- data/docs/resources/auditd.md.erb +78 -0
- data/docs/resources/auditd_conf.md.erb +20 -34
- data/docs/resources/auditd_rules.md.erb +8 -24
- data/docs/resources/bash.md.erb +4 -26
- data/docs/resources/bond.md.erb +25 -40
- data/docs/resources/bridge.md.erb +5 -25
- data/docs/resources/bsd_service.md.erb +5 -25
- data/docs/resources/command.md.erb +35 -50
- data/docs/resources/cpan.md.erb +62 -0
- data/docs/resources/cran.md.erb +54 -0
- data/docs/resources/crontab.md.erb +9 -23
- data/docs/resources/csv.md.erb +12 -27
- data/docs/resources/dh_params.md +1 -0
- data/docs/resources/directory.md.erb +5 -25
- data/docs/resources/docker.md.erb +61 -58
- data/docs/resources/docker_container.md.erb +23 -19
- data/docs/resources/docker_image.md.erb +20 -16
- data/docs/resources/elasticsearch.md.erb +245 -0
- data/docs/resources/etc_fstab.md.erb +120 -0
- data/docs/resources/etc_group.md.erb +29 -45
- data/docs/resources/etc_hosts.md.erb +68 -0
- data/docs/resources/etc_hosts_allow.md.erb +68 -0
- data/docs/resources/etc_hosts_deny.md.erb +68 -0
- data/docs/resources/file.md.erb +227 -216
- data/docs/resources/firewalld.md.erb +104 -0
- data/docs/resources/gem.md.erb +21 -35
- data/docs/resources/group.md.erb +16 -30
- data/docs/resources/grub_conf.md.erb +9 -24
- data/docs/resources/host.md.erb +32 -49
- data/docs/resources/http.md.erb +38 -44
- data/docs/resources/iis_app.md.erb +25 -35
- data/docs/resources/iis_site.md.erb +26 -40
- data/docs/resources/inetd_conf.md.erb +27 -42
- data/docs/resources/ini.md.erb +9 -23
- data/docs/resources/interface.md.erb +5 -25
- data/docs/resources/iptables.md.erb +15 -29
- data/docs/resources/json.md.erb +12 -27
- data/docs/resources/kernel_module.md.erb +47 -61
- data/docs/resources/kernel_parameter.md.erb +15 -29
- data/docs/resources/key_rsa.md.erb +3 -0
- data/docs/resources/launchd_service.md.erb +5 -25
- data/docs/resources/limits_conf.md.erb +15 -29
- data/docs/resources/login_def.md.erb +15 -30
- data/docs/resources/mount.md.erb +18 -33
- data/docs/resources/mssql_session.md.erb +9 -12
- data/docs/resources/mysql_conf.md.erb +28 -32
- data/docs/resources/mysql_session.md.erb +15 -29
- data/docs/resources/nginx.md.erb +78 -0
- data/docs/resources/nginx_conf.md.erb +127 -0
- data/docs/resources/npm.md.erb +19 -35
- data/docs/resources/ntp_conf.md.erb +20 -37
- data/docs/resources/oneget.md.erb +15 -30
- data/docs/resources/oracledb_session.md.erb +9 -11
- data/docs/resources/os.md.erb +29 -43
- data/docs/resources/os_env.md.erb +23 -44
- data/docs/resources/package.md.erb +34 -36
- data/docs/resources/parse_config.md.erb +5 -25
- data/docs/resources/parse_config_file.md.erb +31 -43
- data/docs/resources/{etc_passwd.md.erb → passwd.md.erb} +24 -39
- data/docs/resources/pip.md.erb +20 -35
- data/docs/resources/port.md.erb +43 -57
- data/docs/resources/postgres_conf.md.erb +17 -31
- data/docs/resources/postgres_hba_conf.md.erb +26 -38
- data/docs/resources/postgres_ident_conf.md.erb +25 -37
- data/docs/resources/postgres_session.md.erb +15 -29
- data/docs/resources/powershell.md.erb +27 -42
- data/docs/resources/processes.md.erb +17 -33
- data/docs/resources/rabbitmq_config.md.erb +9 -24
- data/docs/resources/registry_key.md.erb +27 -42
- data/docs/resources/runit_service.md.erb +5 -25
- data/docs/resources/security_policy.md.erb +12 -27
- data/docs/resources/service.md.erb +27 -42
- data/docs/resources/{etc_shadow.md.erb → shadow.md.erb} +41 -47
- data/docs/resources/ssh_config.md.erb +19 -34
- data/docs/resources/sshd_config.md.erb +19 -34
- data/docs/resources/ssl.md.erb +39 -54
- data/docs/resources/sys_info.md.erb +12 -26
- data/docs/resources/systemd_service.md.erb +5 -25
- data/docs/resources/sysv_service.md.erb +5 -25
- data/docs/resources/upstart_service.md.erb +5 -25
- data/docs/resources/user.md.erb +29 -44
- data/docs/resources/users.md.erb +12 -26
- data/docs/resources/vbscript.md.erb +9 -24
- data/docs/resources/virtualization.md.erb +8 -23
- data/docs/resources/windows_feature.md.erb +15 -30
- data/docs/resources/windows_hotfix.md.erb +50 -0
- data/docs/resources/windows_task.md.erb +12 -26
- data/docs/resources/wmi.md.erb +9 -24
- data/docs/resources/x509_certificate.md.erb +4 -0
- data/docs/resources/xinetd_conf.md.erb +65 -80
- data/docs/resources/xml.md.erb +61 -0
- data/docs/resources/yaml.md.erb +12 -27
- data/docs/resources/yum.md.erb +37 -51
- data/docs/resources/zfs_dataset.md.erb +15 -26
- data/docs/resources/zfs_pool.md.erb +9 -20
- data/docs/ruby_usage.md +0 -1
- data/examples/meta-profile/README.md +1 -1
- 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/inspec.gemspec +3 -3
- data/lib/bundles/inspec-artifact/cli.rb +5 -5
- data/lib/bundles/inspec-compliance/README.md +24 -22
- data/lib/bundles/inspec-compliance/api/login.rb +152 -0
- data/lib/bundles/inspec-compliance/api.rb +46 -16
- data/lib/bundles/inspec-compliance/cli.rb +58 -165
- data/lib/bundles/inspec-compliance/target.rb +2 -3
- data/lib/bundles/inspec-habitat/cli.rb +7 -2
- data/lib/bundles/inspec-habitat/profile.rb +44 -20
- data/lib/bundles/inspec-init/templates/profile/README.md +1 -1
- data/lib/bundles/inspec-init/templates/profile/controls/example.rb +1 -1
- data/lib/bundles/inspec-supermarket/api.rb +1 -1
- data/lib/inspec/backend.rb +8 -0
- data/lib/inspec/cli.rb +1 -1
- data/lib/inspec/control_eval_context.rb +16 -6
- data/lib/inspec/dependencies/requirement.rb +22 -8
- data/lib/inspec/dependencies/resolver.rb +1 -1
- data/lib/inspec/exceptions.rb +4 -0
- data/lib/inspec/file_provider.rb +38 -9
- data/lib/inspec/metadata.rb +17 -3
- data/lib/inspec/objects/attribute.rb +16 -7
- data/lib/inspec/objects/control.rb +10 -2
- data/lib/inspec/plugins/resource.rb +34 -5
- data/lib/inspec/profile.rb +10 -1
- data/lib/inspec/profile_context.rb +3 -1
- data/lib/inspec/resource.rb +17 -5
- data/lib/inspec/rspec_json_formatter.rb +48 -14
- data/lib/inspec/rule.rb +4 -0
- data/lib/inspec/runner.rb +72 -30
- data/lib/inspec/shell.rb +24 -19
- data/lib/inspec/version.rb +1 -1
- data/lib/matchers/matchers.rb +40 -0
- data/lib/resources/aide_conf.rb +162 -0
- data/lib/resources/auditd.rb +231 -0
- data/lib/resources/auditd_rules.rb +3 -1
- data/lib/resources/command.rb +1 -1
- data/lib/resources/cpan.rb +60 -0
- data/lib/resources/cran.rb +66 -0
- data/lib/resources/docker.rb +8 -1
- data/lib/resources/docker_container.rb +19 -2
- data/lib/resources/elasticsearch.rb +172 -0
- data/lib/resources/etc_fstab.rb +102 -0
- data/lib/resources/etc_group.rb +1 -1
- data/lib/resources/etc_hosts.rb +81 -0
- data/lib/resources/etc_hosts_allow_deny.rb +122 -0
- data/lib/resources/file.rb +87 -10
- data/lib/resources/firewalld.rb +144 -0
- data/lib/resources/groups.rb +0 -1
- data/lib/resources/host.rb +30 -15
- data/lib/resources/http.rb +178 -22
- data/lib/resources/mssql_session.rb +3 -3
- data/lib/resources/mysql_conf.rb +10 -0
- data/lib/resources/mysql_session.rb +1 -1
- data/lib/resources/nginx.rb +97 -0
- data/lib/resources/nginx_conf.rb +134 -1
- data/lib/resources/oracledb_session.rb +9 -8
- data/lib/resources/os_env.rb +7 -4
- data/lib/resources/package.rb +14 -2
- data/lib/resources/packages.rb +1 -1
- data/lib/resources/pip.rb +28 -20
- data/lib/resources/port.rb +251 -3
- data/lib/resources/postgres.rb +1 -1
- data/lib/resources/postgres_session.rb +1 -1
- data/lib/resources/processes.rb +106 -20
- data/lib/resources/registry_key.rb +11 -2
- data/lib/resources/service.rb +5 -24
- data/lib/resources/ssh_conf.rb +1 -1
- data/lib/resources/ssl.rb +4 -3
- data/lib/resources/toml.rb +2 -2
- data/lib/resources/windows_hotfix.rb +35 -0
- data/lib/resources/xinetd.rb +4 -6
- data/lib/resources/xml.rb +27 -0
- data/lib/source_readers/inspec.rb +3 -3
- data/lib/utils/find_files.rb +2 -1
- data/lib/utils/nginx_parser.rb +10 -1
- data/lib/utils/object_traversal.rb +35 -10
- data/lib/utils/parser.rb +21 -3
- metadata +48 -18
- data/docs/cli.md +0 -392
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# author: Jonathan Morley
|
|
3
|
+
|
|
4
|
+
module Inspec::Resources
|
|
5
|
+
class XmlConfig < JsonConfig
|
|
6
|
+
name 'xml'
|
|
7
|
+
desc 'Use the xml InSpec resource to test configuration data in an XML file'
|
|
8
|
+
example "
|
|
9
|
+
describe xml('default.xml') do
|
|
10
|
+
its('key/sub_key') { should eq(['value']) }
|
|
11
|
+
end
|
|
12
|
+
"
|
|
13
|
+
|
|
14
|
+
def parse(content)
|
|
15
|
+
require 'rexml/document'
|
|
16
|
+
REXML::Document.new(content)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def value(key)
|
|
20
|
+
REXML::XPath.each(@params, key.first.to_s).map(&:text)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def to_s
|
|
24
|
+
"XML #{@path}"
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -54,21 +54,21 @@ module SourceReaders
|
|
|
54
54
|
tests = @target.files.find_all do |path|
|
|
55
55
|
path.start_with?('controls') && path.end_with?('.rb')
|
|
56
56
|
end
|
|
57
|
-
Hash[tests.map { |x| [x, @target.read(x)] }]
|
|
57
|
+
Hash[tests.map { |x| [x, @target.read(x)] }.delete_if { |_file, contents| contents.nil? }]
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
def load_libs
|
|
61
61
|
tests = @target.files.find_all do |path|
|
|
62
62
|
path.start_with?('libraries') && path.end_with?('.rb')
|
|
63
63
|
end
|
|
64
|
-
Hash[tests.map { |x| [x, @target.read(x)] }]
|
|
64
|
+
Hash[tests.map { |x| [x, @target.read(x)] }.delete_if { |_file, contents| contents.nil? }]
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def load_data_files
|
|
68
68
|
files = @target.files.find_all do |path|
|
|
69
69
|
path.start_with?('files' + File::SEPARATOR)
|
|
70
70
|
end
|
|
71
|
-
Hash[files.map { |x| [x, @target.read(x)] }]
|
|
71
|
+
Hash[files.map { |x| [x, @target.read(x)] }.delete_if { |_file, contents| contents.nil? }]
|
|
72
72
|
end
|
|
73
73
|
end
|
|
74
74
|
end
|
data/lib/utils/find_files.rb
CHANGED
|
@@ -24,9 +24,10 @@ module FindFiles
|
|
|
24
24
|
depth = opts[:depth]
|
|
25
25
|
type = TYPES[opts[:type].to_sym] if opts[:type]
|
|
26
26
|
|
|
27
|
-
cmd = "find #{path}"
|
|
27
|
+
cmd = "sh -c \'find #{path}"
|
|
28
28
|
cmd += " -type #{type}" unless type.nil?
|
|
29
29
|
cmd += " -maxdepth #{depth.to_i}" if depth.to_i > 0
|
|
30
|
+
cmd += "\'"
|
|
30
31
|
|
|
31
32
|
result = inspec.command(cmd)
|
|
32
33
|
exit_status = result.exit_status
|
data/lib/utils/nginx_parser.rb
CHANGED
|
@@ -21,15 +21,24 @@ class NginxParser < Parslet::Parser
|
|
|
21
21
|
(identifier >> values.maybe.as(:args)).as(:assignment) >> str(';') >> filler?
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
rule(:
|
|
24
|
+
rule(:standard_identifier) {
|
|
25
25
|
(match('[a-zA-Z]') >> match('\S').repeat).as(:identifier) >> space >> space.repeat
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
rule(:quoted_identifier) {
|
|
29
|
+
str('"') >> (str('"').absent? >> any).repeat.as(:identifier) >> str('"') >> space.repeat
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
rule(:identifier) {
|
|
33
|
+
standard_identifier | quoted_identifier
|
|
34
|
+
}
|
|
35
|
+
|
|
28
36
|
rule(:value) {
|
|
29
37
|
((match('[#;{]').absent? >> any) >> (
|
|
30
38
|
str('\\') >> any | match('[#;{]|\s').absent? >> any
|
|
31
39
|
).repeat).as(:value) >> space.repeat
|
|
32
40
|
}
|
|
41
|
+
|
|
33
42
|
rule(:values) {
|
|
34
43
|
value.repeat >> space.maybe
|
|
35
44
|
}
|
|
@@ -3,22 +3,47 @@
|
|
|
3
3
|
# author: Christoph Hartmann
|
|
4
4
|
module ObjectTraverser
|
|
5
5
|
def extract_value(keys, value)
|
|
6
|
+
return nil if value.nil?
|
|
7
|
+
|
|
6
8
|
key = keys.shift
|
|
7
|
-
return nil if key.nil?
|
|
9
|
+
return nil if key.nil?
|
|
8
10
|
|
|
9
|
-
if value
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
value = value[key.to_s].nil? ? nil : value[key.to_s]
|
|
17
|
-
end
|
|
11
|
+
# if the current value is not a Hash or Array, it is undefined
|
|
12
|
+
# behavior so value will be assigned nil by default.
|
|
13
|
+
value = if value.is_a?(Array)
|
|
14
|
+
extract_from_array(key, value)
|
|
15
|
+
elsif value.is_a?(Hash)
|
|
16
|
+
extract_from_hash(key, value)
|
|
17
|
+
end
|
|
18
18
|
|
|
19
19
|
# if there are no more keys, just return the value
|
|
20
20
|
return value if keys.first.nil?
|
|
21
21
|
# if there are more keys, extract more
|
|
22
22
|
extract_value(keys.clone, value)
|
|
23
23
|
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
# If the values to return from is an Array, allow returning by index.
|
|
28
|
+
# Otherwise, support methods on the Array itself.
|
|
29
|
+
def extract_from_array(key, value)
|
|
30
|
+
if key.is_a?(Fixnum)
|
|
31
|
+
value[key]
|
|
32
|
+
elsif value.respond_to?(key.to_sym)
|
|
33
|
+
value.send(key.to_sym)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# for Hashes, try to return the value by the key.
|
|
38
|
+
# We first try to find by the raw key before we stringify
|
|
39
|
+
# if the keys themselves are symbols, for example.
|
|
40
|
+
#
|
|
41
|
+
# This will return nil default if we can't find the key.
|
|
42
|
+
def extract_from_hash(key, value)
|
|
43
|
+
if value.key?(key)
|
|
44
|
+
value[key]
|
|
45
|
+
elsif value.key?(key.to_s)
|
|
46
|
+
value[key.to_s]
|
|
47
|
+
end
|
|
48
|
+
end
|
|
24
49
|
end
|
data/lib/utils/parser.rb
CHANGED
|
@@ -67,7 +67,19 @@ module LinuxMountParser
|
|
|
67
67
|
# this parses the output of mount command (only tested on linux)
|
|
68
68
|
# this method expects only one line of the mount output
|
|
69
69
|
def parse_mount_options(mount_line, compatibility = false)
|
|
70
|
-
|
|
70
|
+
if includes_whitespaces?(mount_line)
|
|
71
|
+
# Device-/Sharenames and Mountpoints including whitespaces require special treatment:
|
|
72
|
+
# We use the keyword ' type ' to split up and rebuild the desired array of fields
|
|
73
|
+
type_split = mount_line.split(' type ')
|
|
74
|
+
fs_path = type_split[0]
|
|
75
|
+
other_opts = type_split[1]
|
|
76
|
+
fs, path = fs_path.match(%r{^(.+?)\son\s(/.+?)$}).captures
|
|
77
|
+
mount = [fs, 'on', path, 'type']
|
|
78
|
+
mount.concat(other_opts.scan(/\S+/))
|
|
79
|
+
else
|
|
80
|
+
# ... otherwise we just split the fields by whitespaces
|
|
81
|
+
mount = mount_line.scan(/\S+/)
|
|
82
|
+
end
|
|
71
83
|
|
|
72
84
|
# parse device and type
|
|
73
85
|
mount_options = { device: mount[0], type: mount[4] }
|
|
@@ -92,6 +104,12 @@ module LinuxMountParser
|
|
|
92
104
|
|
|
93
105
|
mount_options
|
|
94
106
|
end
|
|
107
|
+
|
|
108
|
+
# Device-/Sharename or Mountpoint includes whitespaces?
|
|
109
|
+
def includes_whitespaces?(mount_line)
|
|
110
|
+
ws = mount_line.match(/^(.+)\son\s(.+)\stype\s.*$/)
|
|
111
|
+
ws.captures[0].include?(' ') or ws.captures[1].include?(' ')
|
|
112
|
+
end
|
|
95
113
|
end
|
|
96
114
|
|
|
97
115
|
module BsdMountParser
|
|
@@ -199,7 +217,7 @@ module XinetdParser
|
|
|
199
217
|
return [] if dir.nil?
|
|
200
218
|
|
|
201
219
|
unless inspec.file(dir).directory?
|
|
202
|
-
|
|
220
|
+
raise Inspec::Exceptions::ResourceSkipped, "Can't find folder: #{dir}"
|
|
203
221
|
end
|
|
204
222
|
|
|
205
223
|
files = inspec.command("find #{dir} -type f").stdout.split("\n")
|
|
@@ -211,7 +229,7 @@ module XinetdParser
|
|
|
211
229
|
res = {}
|
|
212
230
|
cur_group = nil
|
|
213
231
|
simple_conf = []
|
|
214
|
-
rest = raw
|
|
232
|
+
rest = raw + "\n"
|
|
215
233
|
until rest.empty?
|
|
216
234
|
# extract content line
|
|
217
235
|
nl = rest.index("\n") || (rest.length-1)
|
metadata
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: inspec
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.45.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dominik Richter
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-11-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: train
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
20
|
-
- - "
|
|
19
|
+
version: '0.29'
|
|
20
|
+
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version:
|
|
22
|
+
version: 0.29.1
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
|
-
- - "
|
|
27
|
+
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 0.
|
|
30
|
-
- - "
|
|
29
|
+
version: '0.29'
|
|
30
|
+
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 0.29.1
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: thor
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -219,19 +219,19 @@ dependencies:
|
|
|
219
219
|
- !ruby/object:Gem::Version
|
|
220
220
|
version: 0.9.0
|
|
221
221
|
- !ruby/object:Gem::Dependency
|
|
222
|
-
name:
|
|
222
|
+
name: tomlrb
|
|
223
223
|
requirement: !ruby/object:Gem::Requirement
|
|
224
224
|
requirements:
|
|
225
225
|
- - "~>"
|
|
226
226
|
- !ruby/object:Gem::Version
|
|
227
|
-
version: '
|
|
227
|
+
version: '1.2'
|
|
228
228
|
type: :runtime
|
|
229
229
|
prerelease: false
|
|
230
230
|
version_requirements: !ruby/object:Gem::Requirement
|
|
231
231
|
requirements:
|
|
232
232
|
- - "~>"
|
|
233
233
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: '
|
|
234
|
+
version: '1.2'
|
|
235
235
|
- !ruby/object:Gem::Dependency
|
|
236
236
|
name: addressable
|
|
237
237
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -310,7 +310,6 @@ files:
|
|
|
310
310
|
- bin/inspec
|
|
311
311
|
- docs/.gitignore
|
|
312
312
|
- docs/README.md
|
|
313
|
-
- docs/cli.md
|
|
314
313
|
- docs/dsl_inspec.md
|
|
315
314
|
- docs/dsl_resource.md
|
|
316
315
|
- docs/habitat.md
|
|
@@ -319,9 +318,11 @@ files:
|
|
|
319
318
|
- docs/migration.md
|
|
320
319
|
- docs/plugin_kitchen_inspec.md
|
|
321
320
|
- docs/profiles.md
|
|
321
|
+
- docs/resources/aide_conf.md.erb
|
|
322
322
|
- docs/resources/apache_conf.md.erb
|
|
323
323
|
- docs/resources/apt.md.erb
|
|
324
324
|
- docs/resources/audit_policy.md.erb
|
|
325
|
+
- docs/resources/auditd.md.erb
|
|
325
326
|
- docs/resources/auditd_conf.md.erb
|
|
326
327
|
- docs/resources/auditd_rules.md.erb
|
|
327
328
|
- docs/resources/bash.md.erb
|
|
@@ -329,6 +330,8 @@ files:
|
|
|
329
330
|
- docs/resources/bridge.md.erb
|
|
330
331
|
- docs/resources/bsd_service.md.erb
|
|
331
332
|
- docs/resources/command.md.erb
|
|
333
|
+
- docs/resources/cpan.md.erb
|
|
334
|
+
- docs/resources/cran.md.erb
|
|
332
335
|
- docs/resources/crontab.md.erb
|
|
333
336
|
- docs/resources/csv.md.erb
|
|
334
337
|
- docs/resources/dh_params.md
|
|
@@ -336,10 +339,14 @@ files:
|
|
|
336
339
|
- docs/resources/docker.md.erb
|
|
337
340
|
- docs/resources/docker_container.md.erb
|
|
338
341
|
- docs/resources/docker_image.md.erb
|
|
342
|
+
- docs/resources/elasticsearch.md.erb
|
|
343
|
+
- docs/resources/etc_fstab.md.erb
|
|
339
344
|
- docs/resources/etc_group.md.erb
|
|
340
|
-
- docs/resources/
|
|
341
|
-
- docs/resources/
|
|
345
|
+
- docs/resources/etc_hosts.md.erb
|
|
346
|
+
- docs/resources/etc_hosts_allow.md.erb
|
|
347
|
+
- docs/resources/etc_hosts_deny.md.erb
|
|
342
348
|
- docs/resources/file.md.erb
|
|
349
|
+
- docs/resources/firewalld.md.erb
|
|
343
350
|
- docs/resources/gem.md.erb
|
|
344
351
|
- docs/resources/group.md.erb
|
|
345
352
|
- docs/resources/grub_conf.md.erb
|
|
@@ -362,6 +369,8 @@ files:
|
|
|
362
369
|
- docs/resources/mssql_session.md.erb
|
|
363
370
|
- docs/resources/mysql_conf.md.erb
|
|
364
371
|
- docs/resources/mysql_session.md.erb
|
|
372
|
+
- docs/resources/nginx.md.erb
|
|
373
|
+
- docs/resources/nginx_conf.md.erb
|
|
365
374
|
- docs/resources/npm.md.erb
|
|
366
375
|
- docs/resources/ntp_conf.md.erb
|
|
367
376
|
- docs/resources/oneget.md.erb
|
|
@@ -371,6 +380,7 @@ files:
|
|
|
371
380
|
- docs/resources/package.md.erb
|
|
372
381
|
- docs/resources/parse_config.md.erb
|
|
373
382
|
- docs/resources/parse_config_file.md.erb
|
|
383
|
+
- docs/resources/passwd.md.erb
|
|
374
384
|
- docs/resources/pip.md.erb
|
|
375
385
|
- docs/resources/port.md.erb
|
|
376
386
|
- docs/resources/postgres_conf.md.erb
|
|
@@ -384,6 +394,7 @@ files:
|
|
|
384
394
|
- docs/resources/runit_service.md.erb
|
|
385
395
|
- docs/resources/security_policy.md.erb
|
|
386
396
|
- docs/resources/service.md.erb
|
|
397
|
+
- docs/resources/shadow.md.erb
|
|
387
398
|
- docs/resources/ssh_config.md.erb
|
|
388
399
|
- docs/resources/sshd_config.md.erb
|
|
389
400
|
- docs/resources/ssl.md.erb
|
|
@@ -396,10 +407,12 @@ files:
|
|
|
396
407
|
- docs/resources/vbscript.md.erb
|
|
397
408
|
- docs/resources/virtualization.md.erb
|
|
398
409
|
- docs/resources/windows_feature.md.erb
|
|
410
|
+
- docs/resources/windows_hotfix.md.erb
|
|
399
411
|
- docs/resources/windows_task.md.erb
|
|
400
412
|
- docs/resources/wmi.md.erb
|
|
401
413
|
- docs/resources/x509_certificate.md.erb
|
|
402
414
|
- docs/resources/xinetd_conf.md.erb
|
|
415
|
+
- docs/resources/xml.md.erb
|
|
403
416
|
- docs/resources/yaml.md.erb
|
|
404
417
|
- docs/resources/yum.md.erb
|
|
405
418
|
- docs/resources/zfs_dataset.md.erb
|
|
@@ -444,6 +457,10 @@ files:
|
|
|
444
457
|
- examples/profile-attribute/README.md
|
|
445
458
|
- examples/profile-attribute/controls/example.rb
|
|
446
459
|
- examples/profile-attribute/inspec.yml
|
|
460
|
+
- examples/profile-sensitive/README.md
|
|
461
|
+
- examples/profile-sensitive/controls/sensitive-failures.rb
|
|
462
|
+
- examples/profile-sensitive/controls/sensitive.rb
|
|
463
|
+
- examples/profile-sensitive/inspec.yml
|
|
447
464
|
- examples/profile/README.md
|
|
448
465
|
- examples/profile/controls/example.rb
|
|
449
466
|
- examples/profile/controls/gordon.rb
|
|
@@ -459,6 +476,7 @@ files:
|
|
|
459
476
|
- lib/bundles/inspec-compliance/.kitchen.yml
|
|
460
477
|
- lib/bundles/inspec-compliance/README.md
|
|
461
478
|
- lib/bundles/inspec-compliance/api.rb
|
|
479
|
+
- lib/bundles/inspec-compliance/api/login.rb
|
|
462
480
|
- lib/bundles/inspec-compliance/bootstrap.sh
|
|
463
481
|
- lib/bundles/inspec-compliance/cli.rb
|
|
464
482
|
- lib/bundles/inspec-compliance/configuration.rb
|
|
@@ -552,16 +570,20 @@ files:
|
|
|
552
570
|
- lib/inspec/source_reader.rb
|
|
553
571
|
- lib/inspec/version.rb
|
|
554
572
|
- lib/matchers/matchers.rb
|
|
573
|
+
- lib/resources/aide_conf.rb
|
|
555
574
|
- lib/resources/apache.rb
|
|
556
575
|
- lib/resources/apache_conf.rb
|
|
557
576
|
- lib/resources/apt.rb
|
|
558
577
|
- lib/resources/audit_policy.rb
|
|
578
|
+
- lib/resources/auditd.rb
|
|
559
579
|
- lib/resources/auditd_conf.rb
|
|
560
580
|
- lib/resources/auditd_rules.rb
|
|
561
581
|
- lib/resources/bash.rb
|
|
562
582
|
- lib/resources/bond.rb
|
|
563
583
|
- lib/resources/bridge.rb
|
|
564
584
|
- lib/resources/command.rb
|
|
585
|
+
- lib/resources/cpan.rb
|
|
586
|
+
- lib/resources/cran.rb
|
|
565
587
|
- lib/resources/crontab.rb
|
|
566
588
|
- lib/resources/csv.rb
|
|
567
589
|
- lib/resources/dh_params.rb
|
|
@@ -569,8 +591,13 @@ files:
|
|
|
569
591
|
- lib/resources/docker.rb
|
|
570
592
|
- lib/resources/docker_container.rb
|
|
571
593
|
- lib/resources/docker_image.rb
|
|
594
|
+
- lib/resources/elasticsearch.rb
|
|
595
|
+
- lib/resources/etc_fstab.rb
|
|
572
596
|
- lib/resources/etc_group.rb
|
|
597
|
+
- lib/resources/etc_hosts.rb
|
|
598
|
+
- lib/resources/etc_hosts_allow_deny.rb
|
|
573
599
|
- lib/resources/file.rb
|
|
600
|
+
- lib/resources/firewalld.rb
|
|
574
601
|
- lib/resources/gem.rb
|
|
575
602
|
- lib/resources/groups.rb
|
|
576
603
|
- lib/resources/grub_conf.rb
|
|
@@ -593,6 +620,7 @@ files:
|
|
|
593
620
|
- lib/resources/mysql.rb
|
|
594
621
|
- lib/resources/mysql_conf.rb
|
|
595
622
|
- lib/resources/mysql_session.rb
|
|
623
|
+
- lib/resources/nginx.rb
|
|
596
624
|
- lib/resources/nginx_conf.rb
|
|
597
625
|
- lib/resources/npm.rb
|
|
598
626
|
- lib/resources/ntp_conf.rb
|
|
@@ -626,10 +654,12 @@ files:
|
|
|
626
654
|
- lib/resources/vbscript.rb
|
|
627
655
|
- lib/resources/virtualization.rb
|
|
628
656
|
- lib/resources/windows_feature.rb
|
|
657
|
+
- lib/resources/windows_hotfix.rb
|
|
629
658
|
- lib/resources/windows_task.rb
|
|
630
659
|
- lib/resources/wmi.rb
|
|
631
660
|
- lib/resources/x509_certificate.rb
|
|
632
661
|
- lib/resources/xinetd.rb
|
|
662
|
+
- lib/resources/xml.rb
|
|
633
663
|
- lib/resources/yaml.rb
|
|
634
664
|
- lib/resources/yum.rb
|
|
635
665
|
- lib/resources/zfs_dataset.rb
|
|
@@ -666,7 +696,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
666
696
|
requirements:
|
|
667
697
|
- - ">="
|
|
668
698
|
- !ruby/object:Gem::Version
|
|
669
|
-
version: '2.
|
|
699
|
+
version: '2.3'
|
|
670
700
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
671
701
|
requirements:
|
|
672
702
|
- - ">="
|
|
@@ -674,7 +704,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
674
704
|
version: '0'
|
|
675
705
|
requirements: []
|
|
676
706
|
rubyforge_project:
|
|
677
|
-
rubygems_version: 2.6.
|
|
707
|
+
rubygems_version: 2.6.14
|
|
678
708
|
signing_key:
|
|
679
709
|
specification_version: 4
|
|
680
710
|
summary: Infrastructure and compliance testing.
|