inspec-core 2.2.55 → 2.2.61

Sign up to get free protection for your applications and to get access to all the features.
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