inspec-core 2.2.55 → 2.2.61

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.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -8
  3. data/docs/resources/aide_conf.md.erb +10 -0
  4. data/docs/resources/apache.md.erb +10 -0
  5. data/docs/resources/apache_conf.md.erb +10 -0
  6. data/docs/resources/apt.md.erb +10 -0
  7. data/docs/resources/audit_policy.md.erb +10 -0
  8. data/docs/resources/auditd.md.erb +10 -0
  9. data/docs/resources/auditd_conf.md.erb +10 -0
  10. data/docs/resources/bash.md.erb +10 -0
  11. data/docs/resources/bond.md.erb +10 -0
  12. data/docs/resources/bridge.md.erb +10 -0
  13. data/docs/resources/bsd_service.md.erb +10 -0
  14. data/docs/resources/chocolatey_package.md.erb +10 -0
  15. data/docs/resources/command.md.erb +10 -0
  16. data/docs/resources/cpan.md.erb +10 -0
  17. data/docs/resources/cran.md.erb +10 -0
  18. data/docs/resources/crontab.md.erb +10 -0
  19. data/docs/resources/csv.md.erb +10 -0
  20. data/docs/resources/dh_params.md.erb +10 -0
  21. data/docs/resources/directory.md.erb +10 -0
  22. data/docs/resources/docker.md.erb +21 -0
  23. data/docs/resources/docker_container.md.erb +10 -0
  24. data/docs/resources/docker_image.md.erb +10 -0
  25. data/docs/resources/docker_plugin.md.erb +80 -0
  26. data/docs/resources/docker_service.md.erb +10 -0
  27. data/docs/resources/elasticsearch.md.erb +10 -0
  28. data/docs/resources/etc_fstab.md.erb +10 -0
  29. data/docs/resources/etc_group.md.erb +10 -0
  30. data/docs/resources/etc_hosts.md.erb +10 -0
  31. data/docs/resources/etc_hosts_allow.md.erb +10 -0
  32. data/docs/resources/etc_hosts_deny.md.erb +10 -0
  33. data/docs/resources/file.md.erb +10 -0
  34. data/docs/resources/filesystem.md.erb +10 -0
  35. data/docs/resources/firewalld.md.erb +10 -0
  36. data/docs/resources/gem.md.erb +10 -0
  37. data/docs/resources/group.md.erb +10 -0
  38. data/docs/resources/grub_conf.md.erb +10 -0
  39. data/docs/resources/host.md.erb +10 -0
  40. data/docs/resources/http.md.erb +10 -0
  41. data/docs/resources/iis_app.md.erb +10 -0
  42. data/docs/resources/iis_site.md.erb +10 -0
  43. data/docs/resources/inetd_conf.md.erb +10 -0
  44. data/docs/resources/ini.md.erb +10 -0
  45. data/docs/resources/interface.md.erb +10 -0
  46. data/docs/resources/iptables.md.erb +10 -0
  47. data/docs/resources/json.md.erb +10 -0
  48. data/docs/resources/kernel_module.md.erb +10 -0
  49. data/docs/resources/kernel_parameter.md.erb +10 -0
  50. data/docs/resources/key_rsa.md.erb +10 -0
  51. data/docs/resources/launchd_service.md.erb +10 -0
  52. data/docs/resources/limits_conf.md.erb +10 -0
  53. data/docs/resources/login_defs.md.erb +10 -0
  54. data/docs/resources/mount.md.erb +10 -0
  55. data/docs/resources/mssql_session.md.erb +10 -0
  56. data/docs/resources/mysql_conf.md.erb +10 -0
  57. data/docs/resources/mysql_session.md.erb +10 -0
  58. data/docs/resources/nginx.md.erb +10 -0
  59. data/docs/resources/nginx_conf.md.erb +10 -0
  60. data/docs/resources/npm.md.erb +10 -0
  61. data/docs/resources/ntp_conf.md.erb +10 -0
  62. data/docs/resources/oneget.md.erb +10 -0
  63. data/docs/resources/oracledb_session.md.erb +10 -0
  64. data/docs/resources/os.md.erb +10 -0
  65. data/docs/resources/os_env.md.erb +10 -0
  66. data/docs/resources/package.md.erb +10 -0
  67. data/docs/resources/packages.md.erb +10 -0
  68. data/docs/resources/parse_config.md.erb +10 -0
  69. data/docs/resources/parse_config_file.md.erb +10 -0
  70. data/docs/resources/passwd.md.erb +10 -0
  71. data/docs/resources/pip.md.erb +10 -0
  72. data/docs/resources/port.md.erb +10 -0
  73. data/docs/resources/postgres_conf.md.erb +10 -0
  74. data/docs/resources/postgres_hba_conf.md.erb +10 -0
  75. data/docs/resources/postgres_ident_conf.md.erb +10 -0
  76. data/docs/resources/postgres_session.md.erb +10 -0
  77. data/docs/resources/powershell.md.erb +10 -0
  78. data/docs/resources/processes.md.erb +10 -0
  79. data/docs/resources/rabbitmq_config.md.erb +10 -0
  80. data/docs/resources/registry_key.md.erb +38 -2
  81. data/docs/resources/runit_service.md.erb +10 -0
  82. data/docs/resources/security_policy.md.erb +10 -0
  83. data/docs/resources/service.md.erb +10 -0
  84. data/docs/resources/shadow.md.erb +10 -0
  85. data/docs/resources/ssh_config.md.erb +10 -0
  86. data/docs/resources/sshd_config.md.erb +10 -0
  87. data/docs/resources/ssl.md.erb +10 -0
  88. data/docs/resources/sys_info.md.erb +10 -0
  89. data/docs/resources/systemd_service.md.erb +10 -0
  90. data/docs/resources/sysv_service.md.erb +10 -0
  91. data/docs/resources/upstart_service.md.erb +10 -0
  92. data/docs/resources/user.md.erb +10 -0
  93. data/docs/resources/users.md.erb +10 -0
  94. data/docs/resources/vbscript.md.erb +10 -0
  95. data/docs/resources/virtualization.md.erb +10 -0
  96. data/docs/resources/windows_feature.md.erb +10 -0
  97. data/docs/resources/windows_hotfix.md.erb +10 -0
  98. data/docs/resources/windows_task.md.erb +10 -0
  99. data/docs/resources/wmi.md.erb +10 -0
  100. data/docs/resources/x509_certificate.md.erb +10 -0
  101. data/docs/resources/xinetd_conf.md.erb +10 -0
  102. data/docs/resources/xml.md.erb +10 -0
  103. data/docs/resources/yaml.md.erb +10 -0
  104. data/docs/resources/yum.md.erb +10 -0
  105. data/docs/resources/zfs_dataset.md.erb +10 -0
  106. data/docs/resources/zfs_pool.md.erb +10 -0
  107. data/lib/inspec/base_cli.rb +2 -2
  108. data/lib/inspec/cli.rb +3 -2
  109. data/lib/inspec/resource.rb +2 -0
  110. data/lib/inspec/runner.rb +2 -4
  111. data/lib/inspec/version.rb +1 -1
  112. data/lib/resources/docker.rb +34 -0
  113. data/lib/resources/docker_plugin.rb +63 -0
  114. data/lib/resources/iis_app_pool.rb +116 -0
  115. metadata +5 -2
@@ -0,0 +1,116 @@
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+ # check for web applications in IIS
4
+ # Note: this is only supported in windows 2012 and later
5
+
6
+ class IisAppPool < Inspec.resource(1)
7
+ name 'iis_app_pool'
8
+ desc 'Tests IIS application pool configuration on windows.'
9
+ example "
10
+ describe iis_app_pool('DefaultAppPool') do
11
+ it { should exist }
12
+ its('enable32bit') { should cmp 'True' }
13
+ its('runtime_version') { should eq 'v4.0' }
14
+ its('pipeline_mode') { should eq 'Integrated' }
15
+ end
16
+ "
17
+
18
+ def initialize(pool_name)
19
+ @pool_name = pool_name
20
+ @pool_path = "IIS:\\AppPools\\#{@pool_name}"
21
+ @cache = nil
22
+
23
+ # verify that this resource is only supported on Windows
24
+ return skip_resource 'The `iis_app_pool` resource is not supported on your OS.' unless inspec.os.windows?
25
+ end
26
+
27
+ def pool_name
28
+ iis_app_pool[:pool_name]
29
+ end
30
+
31
+ def runtime_version
32
+ iis_app_pool[:version]
33
+ end
34
+
35
+ def enable32bit
36
+ iis_app_pool[:e32b]
37
+ end
38
+
39
+ def pipeline_mode
40
+ iis_app_pool[:mode]
41
+ end
42
+
43
+ def max_processes
44
+ iis_app_pool[:processes]
45
+ end
46
+
47
+ def timeout
48
+ iis_app_pool[:timeout]
49
+ end
50
+
51
+ def timeout_days
52
+ iis_app_pool[:timeout_days]
53
+ end
54
+
55
+ def timeout_hours
56
+ iis_app_pool[:timeout_hours]
57
+ end
58
+
59
+ def timeout_minutes
60
+ iis_app_pool[:timeout_minutes]
61
+ end
62
+
63
+ def timeout_seconds
64
+ iis_app_pool[:timeout_seconds]
65
+ end
66
+
67
+ def user_identity_type
68
+ iis_app_pool[:user_identity_type]
69
+ end
70
+
71
+ def username
72
+ iis_app_pool[:username]
73
+ end
74
+
75
+ def exists?
76
+ !iis_app_pool[:pool_name].empty?
77
+ end
78
+
79
+ def to_s
80
+ "iis_app_pool '#{@pool_name}'"
81
+ end
82
+
83
+ private
84
+
85
+ # I cannot think of a way to shorten this method
86
+ # rubocop:disable Metrics/AbcSize
87
+ def iis_app_pool
88
+ return @cache unless @cache.nil?
89
+
90
+ command = "Import-Module WebAdministration; Get-Item '#{@pool_path}' | Select-Object * | ConvertTo-Json"
91
+ cmd = inspec.command(command)
92
+
93
+ begin
94
+ pool = JSON.parse(cmd.stdout)
95
+ rescue JSON::ParserError => _e
96
+ raise Inspec::Exceptions::ResourceFailed, 'Unable to parse app pool JSON'
97
+ end
98
+
99
+ # map our values to a hash table
100
+ @cache = {
101
+ pool_name: pool['name'],
102
+ version: pool['managedRuntimeVersion'],
103
+ e32b: pool['enable32BitAppOnWin64'],
104
+ mode: pool['managedPipelineMode'],
105
+ processes: pool['processModel']['maxProcesses'],
106
+ timeout: "#{pool['processModel']['idleTimeout']['Hours']}:#{pool['processModel']['idleTimeout']['Minutes']}:#{pool['processModel']['idleTimeout']['Seconds']}",
107
+ timeout_days: pool['processModel']['idleTimeout']['Days'],
108
+ timeout_hours: pool['processModel']['idleTimeout']['Hours'],
109
+ timeout_minutes: pool['processModel']['idleTimeout']['Minutes'],
110
+ timeout_seconds: pool['processModel']['idleTimeout']['Seconds'],
111
+ user_identity_type: pool['processModel']['identityType'],
112
+ username: pool['processModel']['userName'],
113
+ }
114
+ end
115
+ # rubocop:enable Metrics/AbcSize
116
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inspec-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.55
4
+ version: 2.2.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominik Richter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-03 00:00:00.000000000 Z
11
+ date: 2018-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: train-core
@@ -327,6 +327,7 @@ files:
327
327
  - docs/resources/docker.md.erb
328
328
  - docs/resources/docker_container.md.erb
329
329
  - docs/resources/docker_image.md.erb
330
+ - docs/resources/docker_plugin.md.erb
330
331
  - docs/resources/docker_service.md.erb
331
332
  - docs/resources/elasticsearch.md.erb
332
333
  - docs/resources/etc_fstab.md.erb
@@ -603,6 +604,7 @@ files:
603
604
  - lib/resources/docker_container.rb
604
605
  - lib/resources/docker_image.rb
605
606
  - lib/resources/docker_object.rb
607
+ - lib/resources/docker_plugin.rb
606
608
  - lib/resources/docker_service.rb
607
609
  - lib/resources/elasticsearch.rb
608
610
  - lib/resources/etc_fstab.rb
@@ -618,6 +620,7 @@ files:
618
620
  - lib/resources/host.rb
619
621
  - lib/resources/http.rb
620
622
  - lib/resources/iis_app.rb
623
+ - lib/resources/iis_app_pool.rb
621
624
  - lib/resources/iis_site.rb
622
625
  - lib/resources/inetd_conf.rb
623
626
  - lib/resources/ini.rb