cloud-mu 1.9.0.pre.beta

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 (618) hide show
  1. checksums.yaml +7 -0
  2. data/Berksfile +56 -0
  3. data/Berksfile.lock +250 -0
  4. data/Jenkinsfile +184 -0
  5. data/LICENSE.md +37 -0
  6. data/README.md +26 -0
  7. data/bin/mu-aws-setup +376 -0
  8. data/bin/mu-cleanup +68 -0
  9. data/bin/mu-configure +1133 -0
  10. data/bin/mu-deploy +166 -0
  11. data/bin/mu-firewall-allow-clients +30 -0
  12. data/bin/mu-gcp-setup +200 -0
  13. data/bin/mu-gen-docs +34 -0
  14. data/bin/mu-gen-env +42 -0
  15. data/bin/mu-load-config.rb +158 -0
  16. data/bin/mu-node-manage +683 -0
  17. data/bin/mu-self-update +228 -0
  18. data/bin/mu-ssh +23 -0
  19. data/bin/mu-tunnel-nagios +144 -0
  20. data/bin/mu-upload-chef-artifacts +757 -0
  21. data/bin/mu-user-manage +275 -0
  22. data/cookbooks/awscli/LICENSE +37 -0
  23. data/cookbooks/awscli/README.md +58 -0
  24. data/cookbooks/awscli/attributes/default.rb +1 -0
  25. data/cookbooks/awscli/libraries/instance_metadata.rb +21 -0
  26. data/cookbooks/awscli/metadata.rb +20 -0
  27. data/cookbooks/awscli/recipes/default.rb +56 -0
  28. data/cookbooks/awscli/templates/default/config.erb +18 -0
  29. data/cookbooks/mu-activedirectory/CHANGELOG.md +13 -0
  30. data/cookbooks/mu-activedirectory/LICENSE +37 -0
  31. data/cookbooks/mu-activedirectory/README.md +6 -0
  32. data/cookbooks/mu-activedirectory/attributes/default.rb +98 -0
  33. data/cookbooks/mu-activedirectory/files/default/password-auth +32 -0
  34. data/cookbooks/mu-activedirectory/files/default/sshd_pol.pp +0 -0
  35. data/cookbooks/mu-activedirectory/files/default/sshd_pol.te +32 -0
  36. data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.pp +0 -0
  37. data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.te +10 -0
  38. data/cookbooks/mu-activedirectory/files/default/system-auth +34 -0
  39. data/cookbooks/mu-activedirectory/files/default/winbindpol.pp +0 -0
  40. data/cookbooks/mu-activedirectory/files/default/winbindpol.te +37 -0
  41. data/cookbooks/mu-activedirectory/libraries/config.rb +106 -0
  42. data/cookbooks/mu-activedirectory/libraries/helper.rb +86 -0
  43. data/cookbooks/mu-activedirectory/metadata.rb +17 -0
  44. data/cookbooks/mu-activedirectory/providers/domain.rb +152 -0
  45. data/cookbooks/mu-activedirectory/providers/domain_controller.rb +89 -0
  46. data/cookbooks/mu-activedirectory/providers/domain_node.rb +275 -0
  47. data/cookbooks/mu-activedirectory/recipes/default.rb +8 -0
  48. data/cookbooks/mu-activedirectory/recipes/domain-controller.rb +44 -0
  49. data/cookbooks/mu-activedirectory/recipes/domain-node.rb +50 -0
  50. data/cookbooks/mu-activedirectory/recipes/domain.rb +43 -0
  51. data/cookbooks/mu-activedirectory/recipes/sssd.rb +185 -0
  52. data/cookbooks/mu-activedirectory/resources/domain.rb +25 -0
  53. data/cookbooks/mu-activedirectory/resources/domain_controller.rb +25 -0
  54. data/cookbooks/mu-activedirectory/resources/domain_node.rb +20 -0
  55. data/cookbooks/mu-activedirectory/templates/default/dhclient-eth0.conf.erb +4 -0
  56. data/cookbooks/mu-activedirectory/templates/default/interface +0 -0
  57. data/cookbooks/mu-activedirectory/templates/default/krb5.conf.erb +23 -0
  58. data/cookbooks/mu-activedirectory/templates/default/ntp.conf.erb +56 -0
  59. data/cookbooks/mu-activedirectory/templates/default/smb.conf.erb +33 -0
  60. data/cookbooks/mu-activedirectory/templates/default/sssd.conf.erb +60 -0
  61. data/cookbooks/mu-activedirectory/templates/windows/Backup.xml.erb +20 -0
  62. data/cookbooks/mu-activedirectory/templates/windows/bkupInfo.xml.erb +1 -0
  63. data/cookbooks/mu-activedirectory/templates/windows/gpreprt.xml.erb +198 -0
  64. data/cookbooks/mu-activedirectory/templates/windows/gptmpl.inf.erb +12 -0
  65. data/cookbooks/mu-activedirectory/templates/windows/manifest.xml.erb +1 -0
  66. data/cookbooks/mu-firewall/CHANGELOG.md +11 -0
  67. data/cookbooks/mu-firewall/LICENSE +37 -0
  68. data/cookbooks/mu-firewall/README.md +5 -0
  69. data/cookbooks/mu-firewall/attributes/default.rb +3 -0
  70. data/cookbooks/mu-firewall/metadata.rb +16 -0
  71. data/cookbooks/mu-firewall/recipes/default.rb +10 -0
  72. data/cookbooks/mu-glusterfs/CHANGELOG.md +13 -0
  73. data/cookbooks/mu-glusterfs/LICENSE +37 -0
  74. data/cookbooks/mu-glusterfs/README.md +5 -0
  75. data/cookbooks/mu-glusterfs/attributes/default.rb +34 -0
  76. data/cookbooks/mu-glusterfs/metadata.rb +17 -0
  77. data/cookbooks/mu-glusterfs/recipes/client.rb +62 -0
  78. data/cookbooks/mu-glusterfs/recipes/default.rb +16 -0
  79. data/cookbooks/mu-glusterfs/recipes/samba.rb +57 -0
  80. data/cookbooks/mu-glusterfs/recipes/server.rb +200 -0
  81. data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +71 -0
  82. data/cookbooks/mu-glusterfs/templates/default/smb.conf.erb +14 -0
  83. data/cookbooks/mu-jenkins/CHANGELOG.md +13 -0
  84. data/cookbooks/mu-jenkins/LICENSE +37 -0
  85. data/cookbooks/mu-jenkins/README.md +105 -0
  86. data/cookbooks/mu-jenkins/attributes/default.rb +42 -0
  87. data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +73 -0
  88. data/cookbooks/mu-jenkins/files/default/deploy_config.xml +44 -0
  89. data/cookbooks/mu-jenkins/metadata.rb +21 -0
  90. data/cookbooks/mu-jenkins/recipes/default.rb +195 -0
  91. data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +54 -0
  92. data/cookbooks/mu-jenkins/recipes/public_key.rb +24 -0
  93. data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +24 -0
  94. data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +14 -0
  95. data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +6 -0
  96. data/cookbooks/mu-master/CHANGELOG.md +13 -0
  97. data/cookbooks/mu-master/LICENSE +37 -0
  98. data/cookbooks/mu-master/README.md +6 -0
  99. data/cookbooks/mu-master/attributes/default.rb +95 -0
  100. data/cookbooks/mu-master/files/default/0-mu-log-server.conf +19 -0
  101. data/cookbooks/mu-master/files/default/addRSA.ldif +8 -0
  102. data/cookbooks/mu-master/files/default/check_mem.pl +197 -0
  103. data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
  104. data/cookbooks/mu-master/files/default/dirsrv_admin.pp +0 -0
  105. data/cookbooks/mu-master/files/default/dirsrv_admin.te +13 -0
  106. data/cookbooks/mu-master/files/default/nagios_selinux.pp +0 -0
  107. data/cookbooks/mu-master/files/default/nagios_selinux.te +51 -0
  108. data/cookbooks/mu-master/files/default/nagios_selinux_7.pp +0 -0
  109. data/cookbooks/mu-master/files/default/nagios_selinux_7.te +17 -0
  110. data/cookbooks/mu-master/files/default/pam_sshd +18 -0
  111. data/cookbooks/mu-master/files/default/ssl_enable.ldif +18 -0
  112. data/cookbooks/mu-master/files/default/syslogd_oddjobd.pp +0 -0
  113. data/cookbooks/mu-master/files/default/syslogd_oddjobd.te +10 -0
  114. data/cookbooks/mu-master/files/default/vimrc +19 -0
  115. data/cookbooks/mu-master/libraries/mu.rb +29 -0
  116. data/cookbooks/mu-master/metadata.rb +30 -0
  117. data/cookbooks/mu-master/providers/user.rb +41 -0
  118. data/cookbooks/mu-master/recipes/389ds.rb +164 -0
  119. data/cookbooks/mu-master/recipes/basepackages.rb +58 -0
  120. data/cookbooks/mu-master/recipes/caching_nameserver.rb +37 -0
  121. data/cookbooks/mu-master/recipes/default.rb +451 -0
  122. data/cookbooks/mu-master/recipes/eks-kubectl.rb +41 -0
  123. data/cookbooks/mu-master/recipes/firewall-holes.rb +70 -0
  124. data/cookbooks/mu-master/recipes/init.rb +542 -0
  125. data/cookbooks/mu-master/recipes/ssl-certs.rb +109 -0
  126. data/cookbooks/mu-master/recipes/sssd.rb +89 -0
  127. data/cookbooks/mu-master/recipes/update_nagios_only.rb +242 -0
  128. data/cookbooks/mu-master/recipes/vault.rb +111 -0
  129. data/cookbooks/mu-master/resources/user.rb +19 -0
  130. data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +28 -0
  131. data/cookbooks/mu-master/templates/default/chef-server.rb.erb +18 -0
  132. data/cookbooks/mu-master/templates/default/dhclient-eth0.conf.erb +9 -0
  133. data/cookbooks/mu-master/templates/default/mu-momma-cat.erb +149 -0
  134. data/cookbooks/mu-master/templates/default/mu.rc.erb +9 -0
  135. data/cookbooks/mu-master/templates/default/openssl.cnf.erb +354 -0
  136. data/cookbooks/mu-master/templates/default/sssd.conf.erb +44 -0
  137. data/cookbooks/mu-master/templates/default/web_app.conf.erb +90 -0
  138. data/cookbooks/mu-mongo/CHANGELOG.md +13 -0
  139. data/cookbooks/mu-mongo/LICENSE +37 -0
  140. data/cookbooks/mu-mongo/README.md +5 -0
  141. data/cookbooks/mu-mongo/attributes/default.rb +22 -0
  142. data/cookbooks/mu-mongo/files/default/keyfile +16 -0
  143. data/cookbooks/mu-mongo/files/default/remove_nodes.js +5 -0
  144. data/cookbooks/mu-mongo/metadata.rb +17 -0
  145. data/cookbooks/mu-mongo/recipes/default.rb +149 -0
  146. data/cookbooks/mu-mongo/recipes/yum-update-rule.rb +18 -0
  147. data/cookbooks/mu-mongo/templates/default/mongo_create_openfema_db.js.erb +2 -0
  148. data/cookbooks/mu-mongo/templates/default/mongo_init.js.erb +1 -0
  149. data/cookbooks/mu-mongo/templates/default/mongo_logrotate.erb +14 -0
  150. data/cookbooks/mu-mongo/templates/default/mongo_replset_addnodes.js.erb +6 -0
  151. data/cookbooks/mu-mongo/templates/default/replset_init.js.erb +2 -0
  152. data/cookbooks/mu-openvpn/CHANGELOG.md +13 -0
  153. data/cookbooks/mu-openvpn/LICENSE +37 -0
  154. data/cookbooks/mu-openvpn/README.md +6 -0
  155. data/cookbooks/mu-openvpn/attributes/default.rb +119 -0
  156. data/cookbooks/mu-openvpn/metadata.rb +18 -0
  157. data/cookbooks/mu-openvpn/recipes/default.rb +108 -0
  158. data/cookbooks/mu-openvpn/templates/default/users.json.erb +42 -0
  159. data/cookbooks/mu-php54/CHANGELOG.md +12 -0
  160. data/cookbooks/mu-php54/LICENSE +37 -0
  161. data/cookbooks/mu-php54/README.md +0 -0
  162. data/cookbooks/mu-php54/files/centos/php.ini +1802 -0
  163. data/cookbooks/mu-php54/files/ubuntu/php.ini +1870 -0
  164. data/cookbooks/mu-php54/metadata.rb +21 -0
  165. data/cookbooks/mu-php54/recipes/default.rb +97 -0
  166. data/cookbooks/mu-splunk/CHANGELOG.md +37 -0
  167. data/cookbooks/mu-splunk/LICENSE +37 -0
  168. data/cookbooks/mu-splunk/README.md +451 -0
  169. data/cookbooks/mu-splunk/attributes/default.rb +95 -0
  170. data/cookbooks/mu-splunk/attributes/upgrade.rb +49 -0
  171. data/cookbooks/mu-splunk/definitions/splunk_installer.rb +103 -0
  172. data/cookbooks/mu-splunk/files/default/splunk-nocheck +10 -0
  173. data/cookbooks/mu-splunk/libraries/helpers.rb +72 -0
  174. data/cookbooks/mu-splunk/libraries/splunk_app_provider.rb +156 -0
  175. data/cookbooks/mu-splunk/libraries/splunk_app_resource.rb +43 -0
  176. data/cookbooks/mu-splunk/metadata.json +30 -0
  177. data/cookbooks/mu-splunk/metadata.rb +17 -0
  178. data/cookbooks/mu-splunk/recipes/client.rb +143 -0
  179. data/cookbooks/mu-splunk/recipes/default.rb +31 -0
  180. data/cookbooks/mu-splunk/recipes/disabled.rb +41 -0
  181. data/cookbooks/mu-splunk/recipes/install_forwarder.rb +23 -0
  182. data/cookbooks/mu-splunk/recipes/install_server.rb +23 -0
  183. data/cookbooks/mu-splunk/recipes/server.rb +53 -0
  184. data/cookbooks/mu-splunk/recipes/service.rb +95 -0
  185. data/cookbooks/mu-splunk/recipes/setup_auth.rb +49 -0
  186. data/cookbooks/mu-splunk/recipes/setup_ssl.rb +63 -0
  187. data/cookbooks/mu-splunk/recipes/upgrade.rb +94 -0
  188. data/cookbooks/mu-splunk/recipes/user.rb +34 -0
  189. data/cookbooks/mu-splunk/templates/default/base_logs_unix_inputs.conf.erb +26 -0
  190. data/cookbooks/mu-splunk/templates/default/inputs.conf.erb +13 -0
  191. data/cookbooks/mu-splunk/templates/default/outputs.conf.erb +9 -0
  192. data/cookbooks/mu-splunk/templates/default/splunk-init.erb +74 -0
  193. data/cookbooks/mu-splunk/templates/default/system-web.conf.erb +7 -0
  194. data/cookbooks/mu-tools/CHANGELOG.md +12 -0
  195. data/cookbooks/mu-tools/LICENSE +37 -0
  196. data/cookbooks/mu-tools/README.md +188 -0
  197. data/cookbooks/mu-tools/attributes/default.rb +142 -0
  198. data/cookbooks/mu-tools/attributes/ebs_rolling_snapshots.rb +3 -0
  199. data/cookbooks/mu-tools/files/amazon/etc/freshclam.conf +235 -0
  200. data/cookbooks/mu-tools/files/centos/CentOS-Base.repo +52 -0
  201. data/cookbooks/mu-tools/files/centos/etc/bashrc +93 -0
  202. data/cookbooks/mu-tools/files/centos/etc/freshclam.conf +235 -0
  203. data/cookbooks/mu-tools/files/centos/etc/login.defs +72 -0
  204. data/cookbooks/mu-tools/files/centos/etc/profile +77 -0
  205. data/cookbooks/mu-tools/files/centos/etc/security/limits.conf +57 -0
  206. data/cookbooks/mu-tools/files/centos/etc/sysconfig/init +19 -0
  207. data/cookbooks/mu-tools/files/centos/etc/sysctl.conf +82 -0
  208. data/cookbooks/mu-tools/files/centos-6/README_MU +0 -0
  209. data/cookbooks/mu-tools/files/centos-6/etc/audit/stig.rules +173 -0
  210. data/cookbooks/mu-tools/files/centos-6/etc/bashrc +90 -0
  211. data/cookbooks/mu-tools/files/centos-6/etc/login.defs +70 -0
  212. data/cookbooks/mu-tools/files/centos-6/etc/pam.d/su +12 -0
  213. data/cookbooks/mu-tools/files/centos-6/etc/profile +83 -0
  214. data/cookbooks/mu-tools/files/centos-6/etc/securetty +12 -0
  215. data/cookbooks/mu-tools/files/centos-6/etc/sysconfig/init +30 -0
  216. data/cookbooks/mu-tools/files/centos-6/etc/sysctl.conf +40 -0
  217. data/cookbooks/mu-tools/files/default/Mu_CA.pem +34 -0
  218. data/cookbooks/mu-tools/files/default/PSWindowsUpdate.zip +0 -0
  219. data/cookbooks/mu-tools/files/default/ebs_snapshots.py +123 -0
  220. data/cookbooks/mu-tools/files/default/etc/BANNER +0 -0
  221. data/cookbooks/mu-tools/files/default/etc/BANNER-FEDERAL +19 -0
  222. data/cookbooks/mu-tools/files/default/gpo_no_uac.zip +0 -0
  223. data/cookbooks/mu-tools/files/default/mypol.pp +0 -0
  224. data/cookbooks/mu-tools/files/default/mypol.te +37 -0
  225. data/cookbooks/mu-tools/files/default/nrpe_c7.pp +0 -0
  226. data/cookbooks/mu-tools/files/default/nrpe_c7.te +31 -0
  227. data/cookbooks/mu-tools/files/default/nrpe_check_disk.pp +0 -0
  228. data/cookbooks/mu-tools/files/default/nrpe_check_disk.te +11 -0
  229. data/cookbooks/mu-tools/files/default/nrpe_disk.pp +0 -0
  230. data/cookbooks/mu-tools/files/default/nrpe_disk.te +10 -0
  231. data/cookbooks/mu-tools/files/default/nrpe_file.pp +0 -0
  232. data/cookbooks/mu-tools/files/default/nrpe_file.te +31 -0
  233. data/cookbooks/mu-tools/files/default/ntrights +0 -0
  234. data/cookbooks/mu-tools/files/default/serverclass.conf +18 -0
  235. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/app.conf +1 -0
  236. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/inputs.conf +13 -0
  237. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/app.conf +1 -0
  238. data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/inputs.conf +8 -0
  239. data/cookbooks/mu-tools/files/default/sshd_pol.pp +0 -0
  240. data/cookbooks/mu-tools/files/default/sshd_pol.te +32 -0
  241. data/cookbooks/mu-tools/files/redhat/etc/bashrc +93 -0
  242. data/cookbooks/mu-tools/files/redhat/etc/freshclam.conf +235 -0
  243. data/cookbooks/mu-tools/files/redhat/etc/login.defs +72 -0
  244. data/cookbooks/mu-tools/files/redhat/etc/profile +77 -0
  245. data/cookbooks/mu-tools/files/redhat/etc/security/limits.conf +57 -0
  246. data/cookbooks/mu-tools/files/redhat/etc/sysconfig/init +19 -0
  247. data/cookbooks/mu-tools/files/redhat/etc/sysctl.conf +82 -0
  248. data/cookbooks/mu-tools/files/redhat-6/README_MU +0 -0
  249. data/cookbooks/mu-tools/files/redhat-6/etc/audit/stig.rules +173 -0
  250. data/cookbooks/mu-tools/files/redhat-6/etc/bashrc +90 -0
  251. data/cookbooks/mu-tools/files/redhat-6/etc/login.defs +70 -0
  252. data/cookbooks/mu-tools/files/redhat-6/etc/pam.d/su +12 -0
  253. data/cookbooks/mu-tools/files/redhat-6/etc/profile +83 -0
  254. data/cookbooks/mu-tools/files/redhat-6/etc/securetty +12 -0
  255. data/cookbooks/mu-tools/files/redhat-6/etc/sysconfig/init +30 -0
  256. data/cookbooks/mu-tools/files/redhat-6/etc/sysctl.conf +40 -0
  257. data/cookbooks/mu-tools/files/redhat-7.1/etc/freshclam.conf +235 -0
  258. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/bash.bashrc +64 -0
  259. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/common-session +30 -0
  260. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/login.defs +338 -0
  261. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/profile +30 -0
  262. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/security/limits.conf +56 -0
  263. data/cookbooks/mu-tools/files/ubuntu-12.04/etc/sysctl.conf +60 -0
  264. data/cookbooks/mu-tools/libraries/helper.rb +292 -0
  265. data/cookbooks/mu-tools/metadata.rb +28 -0
  266. data/cookbooks/mu-tools/recipes/add_admin_ssh_keys.rb +35 -0
  267. data/cookbooks/mu-tools/recipes/apply_security.rb +440 -0
  268. data/cookbooks/mu-tools/recipes/aws_api.rb +23 -0
  269. data/cookbooks/mu-tools/recipes/base_repositories.rb +31 -0
  270. data/cookbooks/mu-tools/recipes/cisbenchmark.rb +59 -0
  271. data/cookbooks/mu-tools/recipes/clamav.rb +53 -0
  272. data/cookbooks/mu-tools/recipes/cloudinit.rb +58 -0
  273. data/cookbooks/mu-tools/recipes/configure_oracle_tools.rb +81 -0
  274. data/cookbooks/mu-tools/recipes/disable-requiretty.rb +22 -0
  275. data/cookbooks/mu-tools/recipes/ebs_rolling_snapshots.rb +75 -0
  276. data/cookbooks/mu-tools/recipes/efs.rb +70 -0
  277. data/cookbooks/mu-tools/recipes/eks.rb +160 -0
  278. data/cookbooks/mu-tools/recipes/gcloud.rb +98 -0
  279. data/cookbooks/mu-tools/recipes/google_api.rb +25 -0
  280. data/cookbooks/mu-tools/recipes/maldet.rb +67 -0
  281. data/cookbooks/mu-tools/recipes/nagios.rb +19 -0
  282. data/cookbooks/mu-tools/recipes/newclient.rb +23 -0
  283. data/cookbooks/mu-tools/recipes/nrpe.rb +115 -0
  284. data/cookbooks/mu-tools/recipes/python_pip.rb +35 -0
  285. data/cookbooks/mu-tools/recipes/retrieve_application.rb +51 -0
  286. data/cookbooks/mu-tools/recipes/rsyslog.rb +65 -0
  287. data/cookbooks/mu-tools/recipes/set_local_fw.rb +57 -0
  288. data/cookbooks/mu-tools/recipes/set_mu_hostname.rb +81 -0
  289. data/cookbooks/mu-tools/recipes/split_var_partitions.rb +86 -0
  290. data/cookbooks/mu-tools/recipes/splunk-client.rb +69 -0
  291. data/cookbooks/mu-tools/recipes/splunk-server.rb +104 -0
  292. data/cookbooks/mu-tools/recipes/store_inspec_attr.rb +8 -0
  293. data/cookbooks/mu-tools/recipes/updates.rb +96 -0
  294. data/cookbooks/mu-tools/recipes/windows-client.rb +202 -0
  295. data/cookbooks/mu-tools/resources/aws_windows.rb +33 -0
  296. data/cookbooks/mu-tools/resources/disk.rb +88 -0
  297. data/cookbooks/mu-tools/resources/mommacat_request.rb +11 -0
  298. data/cookbooks/mu-tools/resources/scheduled_tasks.rb +29 -0
  299. data/cookbooks/mu-tools/resources/sshd_service.rb +45 -0
  300. data/cookbooks/mu-tools/resources/windows_users.rb +242 -0
  301. data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +168 -0
  302. data/cookbooks/mu-tools/templates/centos-6/sshd_config.erb +212 -0
  303. data/cookbooks/mu-tools/templates/centos-7/sshd_config.erb +215 -0
  304. data/cookbooks/mu-tools/templates/default/0-mu-log-client.conf.erb +13 -0
  305. data/cookbooks/mu-tools/templates/default/conf.maldet.erb +137 -0
  306. data/cookbooks/mu-tools/templates/default/etc_hosts.erb +30 -0
  307. data/cookbooks/mu-tools/templates/default/etc_pamd_password-auth.erb +14 -0
  308. data/cookbooks/mu-tools/templates/default/etc_pamd_system-auth.erb +14 -0
  309. data/cookbooks/mu-tools/templates/default/etc_sysconfig_network.erb +12 -0
  310. data/cookbooks/mu-tools/templates/default/kubeconfig.erb +29 -0
  311. data/cookbooks/mu-tools/templates/default/kubelet.service.erb +35 -0
  312. data/cookbooks/mu-tools/templates/default/maldet_scanall.sh.erb +15 -0
  313. data/cookbooks/mu-tools/templates/default/nrpe.cfg.erb +233 -0
  314. data/cookbooks/mu-tools/templates/redhat-6/sshd_config.erb +213 -0
  315. data/cookbooks/mu-tools/templates/redhat-7/sshd_config.erb +215 -0
  316. data/cookbooks/mu-tools/templates/ubuntu-12.04/sshd_config.erb +146 -0
  317. data/cookbooks/mu-tools/templates/ubuntu-14.04/sshd_config.erb +145 -0
  318. data/cookbooks/mu-tools/templates/windows/Backup.xml.erb +20 -0
  319. data/cookbooks/mu-tools/templates/windows/bkupInfo.xml.erb +1 -0
  320. data/cookbooks/mu-tools/templates/windows/gpreprt.xml.erb +214 -0
  321. data/cookbooks/mu-tools/templates/windows/gptmpl.inf.erb +12 -0
  322. data/cookbooks/mu-tools/templates/windows/manifest.xml.erb +1 -0
  323. data/cookbooks/mu-tools/templates/windows/set_ad_dns_scheduled_task.ps1.erb +6 -0
  324. data/cookbooks/mu-tools/templates/windows/sshd_config.erb +136 -0
  325. data/cookbooks/mu-utility/CHANGELOG.md +12 -0
  326. data/cookbooks/mu-utility/LICENSE +37 -0
  327. data/cookbooks/mu-utility/README.md +6 -0
  328. data/cookbooks/mu-utility/attributes/default.rb +1 -0
  329. data/cookbooks/mu-utility/libraries/matchers.rb +21 -0
  330. data/cookbooks/mu-utility/metadata.rb +16 -0
  331. data/cookbooks/mu-utility/recipes/apt.rb +23 -0
  332. data/cookbooks/mu-utility/recipes/cleanup_image_helper.rb +118 -0
  333. data/cookbooks/mu-utility/recipes/iptables.rb +26 -0
  334. data/cookbooks/mu-utility/recipes/luks.rb +18 -0
  335. data/cookbooks/mu-utility/recipes/nat.rb +104 -0
  336. data/cookbooks/mu-utility/recipes/php.rb +33 -0
  337. data/cookbooks/mu-utility/recipes/rdp_gateway.rb +83 -0
  338. data/cookbooks/mu-utility/recipes/remi.rb +44 -0
  339. data/cookbooks/mu-utility/recipes/vim.rb +26 -0
  340. data/cookbooks/mu-utility/recipes/windows_basics.rb +37 -0
  341. data/cookbooks/mu-utility/recipes/zip.rb +26 -0
  342. data/cookbooks/mu-utility/templates/default/BundleConfig.xml.erb +34 -0
  343. data/cookbooks/mu-utility/templates/default/config.xml.erb +60 -0
  344. data/cookbooks/nagios/Berksfile +8 -0
  345. data/cookbooks/nagios/CHANGELOG.md +589 -0
  346. data/cookbooks/nagios/CONTRIBUTING.md +11 -0
  347. data/cookbooks/nagios/LICENSE +37 -0
  348. data/cookbooks/nagios/README.md +328 -0
  349. data/cookbooks/nagios/TESTING.md +2 -0
  350. data/cookbooks/nagios/attributes/config.rb +171 -0
  351. data/cookbooks/nagios/attributes/default.rb +228 -0
  352. data/cookbooks/nagios/chefignore +102 -0
  353. data/cookbooks/nagios/definitions/command.rb +33 -0
  354. data/cookbooks/nagios/definitions/contact.rb +33 -0
  355. data/cookbooks/nagios/definitions/contactgroup.rb +33 -0
  356. data/cookbooks/nagios/definitions/host.rb +33 -0
  357. data/cookbooks/nagios/definitions/hostdependency.rb +33 -0
  358. data/cookbooks/nagios/definitions/hostescalation.rb +34 -0
  359. data/cookbooks/nagios/definitions/hostgroup.rb +33 -0
  360. data/cookbooks/nagios/definitions/nagios_conf.rb +38 -0
  361. data/cookbooks/nagios/definitions/resource.rb +33 -0
  362. data/cookbooks/nagios/definitions/service.rb +33 -0
  363. data/cookbooks/nagios/definitions/servicedependency.rb +33 -0
  364. data/cookbooks/nagios/definitions/serviceescalation.rb +34 -0
  365. data/cookbooks/nagios/definitions/servicegroup.rb +33 -0
  366. data/cookbooks/nagios/definitions/timeperiod.rb +33 -0
  367. data/cookbooks/nagios/libraries/base.rb +314 -0
  368. data/cookbooks/nagios/libraries/command.rb +91 -0
  369. data/cookbooks/nagios/libraries/contact.rb +230 -0
  370. data/cookbooks/nagios/libraries/contactgroup.rb +112 -0
  371. data/cookbooks/nagios/libraries/custom_option.rb +36 -0
  372. data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
  373. data/cookbooks/nagios/libraries/default.rb +90 -0
  374. data/cookbooks/nagios/libraries/host.rb +412 -0
  375. data/cookbooks/nagios/libraries/hostdependency.rb +181 -0
  376. data/cookbooks/nagios/libraries/hostescalation.rb +173 -0
  377. data/cookbooks/nagios/libraries/hostgroup.rb +119 -0
  378. data/cookbooks/nagios/libraries/nagios.rb +282 -0
  379. data/cookbooks/nagios/libraries/resource.rb +59 -0
  380. data/cookbooks/nagios/libraries/service.rb +455 -0
  381. data/cookbooks/nagios/libraries/servicedependency.rb +215 -0
  382. data/cookbooks/nagios/libraries/serviceescalation.rb +195 -0
  383. data/cookbooks/nagios/libraries/servicegroup.rb +144 -0
  384. data/cookbooks/nagios/libraries/timeperiod.rb +160 -0
  385. data/cookbooks/nagios/libraries/users_helper.rb +54 -0
  386. data/cookbooks/nagios/metadata.rb +25 -0
  387. data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
  388. data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
  389. data/cookbooks/nagios/recipes/apache.rb +48 -0
  390. data/cookbooks/nagios/recipes/default.rb +204 -0
  391. data/cookbooks/nagios/recipes/nginx.rb +82 -0
  392. data/cookbooks/nagios/recipes/pagerduty.rb +143 -0
  393. data/cookbooks/nagios/recipes/server_package.rb +40 -0
  394. data/cookbooks/nagios/recipes/server_source.rb +164 -0
  395. data/cookbooks/nagios/templates/default/apache2.conf.erb +96 -0
  396. data/cookbooks/nagios/templates/default/cgi.cfg.erb +266 -0
  397. data/cookbooks/nagios/templates/default/commands.cfg.erb +13 -0
  398. data/cookbooks/nagios/templates/default/contacts.cfg.erb +37 -0
  399. data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +25 -0
  400. data/cookbooks/nagios/templates/default/hosts.cfg.erb +15 -0
  401. data/cookbooks/nagios/templates/default/htpasswd.users.erb +6 -0
  402. data/cookbooks/nagios/templates/default/nagios.cfg.erb +22 -0
  403. data/cookbooks/nagios/templates/default/nginx.conf.erb +62 -0
  404. data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +185 -0
  405. data/cookbooks/nagios/templates/default/resource.cfg.erb +27 -0
  406. data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +15 -0
  407. data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +14 -0
  408. data/cookbooks/nagios/templates/default/services.cfg.erb +14 -0
  409. data/cookbooks/nagios/templates/default/templates.cfg.erb +31 -0
  410. data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +13 -0
  411. data/cookbooks/s3fs/CHANGELOG.md +13 -0
  412. data/cookbooks/s3fs/LICENSE +37 -0
  413. data/cookbooks/s3fs/README.md +6 -0
  414. data/cookbooks/s3fs/attributes/default.rb +15 -0
  415. data/cookbooks/s3fs/files/default/fuse-2.9.3.zip +0 -0
  416. data/cookbooks/s3fs/metadata.rb +16 -0
  417. data/cookbooks/s3fs/recipes/default.rb +91 -0
  418. data/data_bags/demo/app.json +7 -0
  419. data/data_bags/nagios_services/chef.json +6 -0
  420. data/data_bags/nagios_services/linux_diskspace.json +5 -0
  421. data/data_bags/nagios_services/momma_cat.json +6 -0
  422. data/data_bags/nagios_services/mu-master-memory.json +5 -0
  423. data/data_bags/nagios_services/nagios_ui.json +6 -0
  424. data/data_bags/nagios_services/node_ssh.json +6 -0
  425. data/data_bags/nagios_services/ssh.json +6 -0
  426. data/demo/lambda_test.yaml +29 -0
  427. data/environments/DEV.json +8 -0
  428. data/environments/PROD.json +8 -0
  429. data/environments/dev.json +8 -0
  430. data/environments/development.json +8 -0
  431. data/environments/prod.json +8 -0
  432. data/extras/README.md +1 -0
  433. data/extras/admin-role-binding.yaml +16 -0
  434. data/extras/admin-user.yaml +6 -0
  435. data/extras/aws-auth-cm.yaml.erb +12 -0
  436. data/extras/clean-stock-amis +48 -0
  437. data/extras/git-fix-permissions-hook +12 -0
  438. data/extras/gitlab-eks-helper.sh.erb +20 -0
  439. data/extras/image-generators/README.md +2 -0
  440. data/extras/image-generators/aws/centos6.yaml +18 -0
  441. data/extras/image-generators/aws/centos7-govcloud.yaml +24 -0
  442. data/extras/image-generators/aws/centos7.yaml +17 -0
  443. data/extras/image-generators/aws/rhel7.yaml +17 -0
  444. data/extras/image-generators/aws/win2k12.yaml +16 -0
  445. data/extras/image-generators/aws/win2k16.yaml +16 -0
  446. data/extras/image-generators/aws/windows.yaml +18 -0
  447. data/extras/image-generators/gcp/centos6.yaml +17 -0
  448. data/extras/lambda_waf_domain_blacklist.py +103 -0
  449. data/extras/platform_berksfile_base +50 -0
  450. data/extras/ruby_rpm/build.sh +17 -0
  451. data/extras/ruby_rpm/muby.spec +44 -0
  452. data/extras/vault_tools/README.md +6 -0
  453. data/extras/vault_tools/export_vaults.sh +3 -0
  454. data/extras/vault_tools/recreate_vaults.sh +5 -0
  455. data/extras/vault_tools/test_vaults.sh +5 -0
  456. data/install/README.md +8 -0
  457. data/install/cfn_create_mu_master.json +1034 -0
  458. data/install/chef-server.rb.erb +19 -0
  459. data/install/deprecated-bash-library.sh +1891 -0
  460. data/install/images/Usage.png +0 -0
  461. data/install/installer +71 -0
  462. data/install/jenkinskeys.rb +8 -0
  463. data/install/user-dot-murc.erb +14 -0
  464. data/modules/html.erb +19 -0
  465. data/modules/mommacat.ru +426 -0
  466. data/modules/mu/cleanup.rb +339 -0
  467. data/modules/mu/cloud.rb +1446 -0
  468. data/modules/mu/clouds/README.md +201 -0
  469. data/modules/mu/clouds/aws/alarm.rb +319 -0
  470. data/modules/mu/clouds/aws/cache_cluster.rb +1010 -0
  471. data/modules/mu/clouds/aws/collection.rb +373 -0
  472. data/modules/mu/clouds/aws/container_cluster.rb +667 -0
  473. data/modules/mu/clouds/aws/database.rb +1836 -0
  474. data/modules/mu/clouds/aws/dnszone.rb +911 -0
  475. data/modules/mu/clouds/aws/firewall_rule.rb +641 -0
  476. data/modules/mu/clouds/aws/folder.rb +92 -0
  477. data/modules/mu/clouds/aws/function.rb +349 -0
  478. data/modules/mu/clouds/aws/group.rb +251 -0
  479. data/modules/mu/clouds/aws/loadbalancer.rb +888 -0
  480. data/modules/mu/clouds/aws/log.rb +363 -0
  481. data/modules/mu/clouds/aws/msg_queue.rb +480 -0
  482. data/modules/mu/clouds/aws/notification.rb +139 -0
  483. data/modules/mu/clouds/aws/role.rb +656 -0
  484. data/modules/mu/clouds/aws/search_domain.rb +646 -0
  485. data/modules/mu/clouds/aws/server.rb +2294 -0
  486. data/modules/mu/clouds/aws/server_pool.rb +1388 -0
  487. data/modules/mu/clouds/aws/storage_pool.rb +495 -0
  488. data/modules/mu/clouds/aws/user.rb +382 -0
  489. data/modules/mu/clouds/aws/userdata/README.md +4 -0
  490. data/modules/mu/clouds/aws/userdata/linux.erb +179 -0
  491. data/modules/mu/clouds/aws/userdata/windows.erb +278 -0
  492. data/modules/mu/clouds/aws/vpc.rb +1943 -0
  493. data/modules/mu/clouds/aws.rb +1009 -0
  494. data/modules/mu/clouds/cloudformation/alarm.rb +146 -0
  495. data/modules/mu/clouds/cloudformation/cache_cluster.rb +167 -0
  496. data/modules/mu/clouds/cloudformation/collection.rb +117 -0
  497. data/modules/mu/clouds/cloudformation/database.rb +278 -0
  498. data/modules/mu/clouds/cloudformation/dnszone.rb +274 -0
  499. data/modules/mu/clouds/cloudformation/firewall_rule.rb +308 -0
  500. data/modules/mu/clouds/cloudformation/loadbalancer.rb +193 -0
  501. data/modules/mu/clouds/cloudformation/log.rb +170 -0
  502. data/modules/mu/clouds/cloudformation/server.rb +370 -0
  503. data/modules/mu/clouds/cloudformation/server_pool.rb +279 -0
  504. data/modules/mu/clouds/cloudformation/vpc.rb +322 -0
  505. data/modules/mu/clouds/cloudformation.rb +733 -0
  506. data/modules/mu/clouds/docker.rb +30 -0
  507. data/modules/mu/clouds/google/container_cluster.rb +290 -0
  508. data/modules/mu/clouds/google/database.rb +152 -0
  509. data/modules/mu/clouds/google/firewall_rule.rb +267 -0
  510. data/modules/mu/clouds/google/group.rb +164 -0
  511. data/modules/mu/clouds/google/loadbalancer.rb +479 -0
  512. data/modules/mu/clouds/google/server.rb +1510 -0
  513. data/modules/mu/clouds/google/server_pool.rb +274 -0
  514. data/modules/mu/clouds/google/user.rb +266 -0
  515. data/modules/mu/clouds/google/userdata/README.md +4 -0
  516. data/modules/mu/clouds/google/userdata/linux.erb +137 -0
  517. data/modules/mu/clouds/google/userdata/windows.erb +275 -0
  518. data/modules/mu/clouds/google/vpc.rb +890 -0
  519. data/modules/mu/clouds/google.rb +811 -0
  520. data/modules/mu/config/README.md +11 -0
  521. data/modules/mu/config/alarm.rb +271 -0
  522. data/modules/mu/config/cache_cluster.rb +172 -0
  523. data/modules/mu/config/collection.rb +87 -0
  524. data/modules/mu/config/container_cluster.rb +103 -0
  525. data/modules/mu/config/container_cluster.yml +36 -0
  526. data/modules/mu/config/database.rb +458 -0
  527. data/modules/mu/config/database.yml +26 -0
  528. data/modules/mu/config/dnszone.rb +327 -0
  529. data/modules/mu/config/firewall_rule.rb +118 -0
  530. data/modules/mu/config/folder.rb +70 -0
  531. data/modules/mu/config/function.rb +140 -0
  532. data/modules/mu/config/group.rb +64 -0
  533. data/modules/mu/config/loadbalancer.rb +482 -0
  534. data/modules/mu/config/log.rb +47 -0
  535. data/modules/mu/config/log.yml +6 -0
  536. data/modules/mu/config/msg_queue.rb +47 -0
  537. data/modules/mu/config/msg_queue.yml +9 -0
  538. data/modules/mu/config/notification.rb +44 -0
  539. data/modules/mu/config/project.rb +71 -0
  540. data/modules/mu/config/role.rb +102 -0
  541. data/modules/mu/config/search_domain.rb +61 -0
  542. data/modules/mu/config/search_domain.yml +25 -0
  543. data/modules/mu/config/server.rb +587 -0
  544. data/modules/mu/config/server.yml +8 -0
  545. data/modules/mu/config/server_pool.rb +216 -0
  546. data/modules/mu/config/server_pool.yml +71 -0
  547. data/modules/mu/config/storage_pool.rb +145 -0
  548. data/modules/mu/config/user.rb +78 -0
  549. data/modules/mu/config/vpc.rb +743 -0
  550. data/modules/mu/config/vpc.yml +6 -0
  551. data/modules/mu/config.rb +2000 -0
  552. data/modules/mu/defaults/README.md +2 -0
  553. data/modules/mu/defaults/amazon_images.yaml +121 -0
  554. data/modules/mu/defaults/google_images.yaml +16 -0
  555. data/modules/mu/deploy.rb +686 -0
  556. data/modules/mu/groomer.rb +123 -0
  557. data/modules/mu/groomers/README.md +58 -0
  558. data/modules/mu/groomers/chef.rb +1024 -0
  559. data/modules/mu/kittens.rb +11319 -0
  560. data/modules/mu/logger.rb +208 -0
  561. data/modules/mu/master/README.md +27 -0
  562. data/modules/mu/master/chef.rb +471 -0
  563. data/modules/mu/master/ldap.rb +1005 -0
  564. data/modules/mu/master.rb +415 -0
  565. data/modules/mu/mommacat.rb +2703 -0
  566. data/modules/mu-load-config.rb +1 -0
  567. data/modules/mu.rb +724 -0
  568. data/modules/scratchpad.erb +1 -0
  569. data/modules/tests/super_complex_bok.yml +41 -0
  570. data/modules/tests/super_simple_bok.yml +40 -0
  571. data/mu.gemspec +62 -0
  572. data/roles/demo-dbservice-configure.json +19 -0
  573. data/roles/demo-portal-configure.json +19 -0
  574. data/roles/mu-master-jenkins.json +24 -0
  575. data/roles/mu-master-nagios-only.json +13 -0
  576. data/roles/mu-master.json +12 -0
  577. data/roles/mu-node.json +19 -0
  578. data/roles/mu-splunk-server.json +13 -0
  579. data/roles/mu-splunk.json +13 -0
  580. data/test/clean_up.py +25 -0
  581. data/test/demo-test-profile/README.md +3 -0
  582. data/test/demo-test-profile/controls/flask.rb +84 -0
  583. data/test/demo-test-profile/inspec.lock +7 -0
  584. data/test/demo-test-profile/inspec.yml +11 -0
  585. data/test/etco-test-profile/README.md +3 -0
  586. data/test/etco-test-profile/controls/all-in-one.rb +182 -0
  587. data/test/etco-test-profile/inspec.lock +7 -0
  588. data/test/etco-test-profile/inspec.yml +11 -0
  589. data/test/exec_inspec.py +246 -0
  590. data/test/exec_mu_install.py +241 -0
  591. data/test/exec_retry.py +44 -0
  592. data/test/mu-master-test/README.md +3 -0
  593. data/test/mu-master-test/controls/all_in_one.rb +557 -0
  594. data/test/mu-master-test/inspec.lock +3 -0
  595. data/test/mu-master-test/inspec.yml +11 -0
  596. data/test/mu-tools-test/README.md +3 -0
  597. data/test/mu-tools-test/controls/base.rb +265 -0
  598. data/test/mu-tools-test/inspec.lock +3 -0
  599. data/test/mu-tools-test/inspec.yml +8 -0
  600. data/test/simple-server-php-test/README.md +3 -0
  601. data/test/simple-server-php-test/controls/apachephp.rb +25 -0
  602. data/test/simple-server-php-test/controls/example.rb +19 -0
  603. data/test/simple-server-php-test/inspec.lock +7 -0
  604. data/test/simple-server-php-test/inspec.yml +12 -0
  605. data/test/simple-server-rails-test/README.md +3 -0
  606. data/test/simple-server-rails-test/controls/rails.rb +188 -0
  607. data/test/simple-server-rails-test/inspec.lock +7 -0
  608. data/test/simple-server-rails-test/inspec.yml +11 -0
  609. data/test/simple-windows-test/README.md +3 -0
  610. data/test/simple-windows-test/controls/windows.rb +20 -0
  611. data/test/simple-windows-test/inspec.lock +7 -0
  612. data/test/simple-windows-test/inspec.yml +11 -0
  613. data/test/smoke_test.rb +75 -0
  614. data/test/wordpress-test/README.md +3 -0
  615. data/test/wordpress-test/controls/wordpress.rb +97 -0
  616. data/test/wordpress-test/inspec.lock +7 -0
  617. data/test/wordpress-test/inspec.yml +11 -0
  618. metadata +979 -0
@@ -0,0 +1,440 @@
1
+ # Cookbook Name:: mu-tools
2
+ # Recipe:: apply_security
3
+ #
4
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
5
+ #
6
+ # Licensed under the BSD-3 license (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License in the root of the project or at
9
+ #
10
+ # http://egt-labs.com/mu/LICENSE.html
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ # Apply security patterns for hardening
19
+
20
+ if !node['application_attributes']['skip_recipes'].include?('apply_security')
21
+ case node['platform']
22
+ when platform_family?('rhel')
23
+ include_recipe "mu-tools::aws_api"
24
+ include_recipe "mu-tools::google_api"
25
+
26
+
27
+ %w{ policycoreutils-python authconfig ntp aide }.each do |pkg|
28
+ package "apply_security package #{pkg}" do
29
+ package_name pkg
30
+ end
31
+ end
32
+
33
+ execute "enable manual auditd restarts" do
34
+ command "sed -i s/RefuseManualStop=yes/#RefuseManualStop=yes/ /usr/lib/systemd/system/auditd.service ; pkill auditd"
35
+ ignore_failure true
36
+ action :nothing
37
+ only_if "grep ^RefuseManualStop=yes /usr/lib/systemd/system/auditd.service"
38
+ end
39
+
40
+ service "auditd" do
41
+ action :nothing
42
+ notifies :run, "execute[enable manual auditd restarts]", :before
43
+ end
44
+
45
+ if node['platform_version'].to_i < 7
46
+ cookbook_file "/etc/audit/audit.rules" do
47
+ source "etc/audit/stig.rules"
48
+ notifies :restart, "service[auditd]", :delayed
49
+ end
50
+ end
51
+
52
+ file "/etc/profile.d/tmout.sh" do
53
+ content "TMOUT=900
54
+ readonly TMOUT
55
+ export TMOUT
56
+ "
57
+ end
58
+
59
+ file "/etc/profile.d/autologout.csh" do
60
+ content "set -r autologout 15\n"
61
+ end
62
+
63
+ bash "NTP" do
64
+ user "root"
65
+ code <<-EOH
66
+ chkconfig ntpd on
67
+ ntpdate pool.ntp.org
68
+ service ntpd start
69
+ EOH
70
+ end
71
+
72
+ #File integrity checking. Default configuration
73
+ bash "AIDE" do
74
+ code <<-EOH
75
+ aide --init
76
+ mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
77
+ EOH
78
+ not_if { File.exists?("/var/lib/aide/aide.db.gz") }
79
+ end
80
+ cron "AIDE daily scan" do
81
+ action :create
82
+ minute "0"
83
+ hour "5"
84
+ user "root"
85
+ command "/usr/sbin/aide --check"
86
+ only_if { File.exists?("/usr/sbin/aide") }
87
+ end
88
+
89
+ cookbook_file "/etc/security/limits.conf" do
90
+ source "etc/security/limits.conf"
91
+ mode 0644
92
+ owner "root"
93
+ group "root"
94
+ end
95
+ cookbook_file "/etc/sysctl.conf" do
96
+ source "etc/sysctl.conf"
97
+ mode 0644
98
+ owner "root"
99
+ group "root"
100
+ end
101
+
102
+ cookbook_file "/etc/sysconfig/init" do
103
+ source "etc/sysconfig/init"
104
+ mode 0644
105
+ owner "root"
106
+ group "root"
107
+ end
108
+
109
+
110
+ bash "Logging and Auditing" do
111
+ code <<-EOH
112
+ #4.1.4 Create and Set Permissions on rsyslog Log Files
113
+ #find `awk '/^ *[^#$]/ { print $2 }' /etc/rsyslog.conf | egrep -o "/.*"` -perm /o+rwx
114
+ chmod og-rwx /var/log/boot.log
115
+ EOH
116
+ end
117
+
118
+ bash "Network Configuration and Firewalls" do
119
+ code <<-EOH
120
+ #5.1.2 Disable Send Packet Redirects
121
+ sysctl -w net.ipv4.conf.default.send_redirects=0
122
+ sysctl -w net.ipv4.conf.all.send_redirects=0
123
+ sysctl -w net.ipv4.route.flush=1
124
+
125
+ #5.2.2 Disable ICMP Redirect Acceptance
126
+ sysctl -w net.ipv4.conf.all.accept_redirects=0
127
+ sysctl -w net.ipv4.conf.default.accept_redirects=0
128
+ sysctl -w net.ipv4.route.flush=1
129
+
130
+ #5.2.4 Log Suspicious Packets
131
+ sysctl -w net.ipv4.conf.all.log_martians=1
132
+ sysctl -w net.ipv4.conf.default.log_martians=1
133
+ sysctl -w net.ipv4.route.flush=1
134
+
135
+ #5.4.1.1 Disable IPv6 Router Advertisements
136
+ sysctl -w net.ipv6.conf.all.accept_ra=0
137
+ sysctl -w net.ipv6.conf.default.accept_ra=0
138
+ sysctl -w net.ipv6.route.flush=1
139
+
140
+ #5.4.1.2 Disable IPv6 Redirect Acceptance
141
+ sysctl -w net.ipv6.conf.all.accept_redirects=0
142
+ sysctl -w net.ipv6.conf.default.accept_redirects=0
143
+ sysctl -w net.ipv6.route.flush=1
144
+ EOH
145
+ end
146
+
147
+
148
+ if node.normal.root_login_disabled
149
+ #some code
150
+ end
151
+
152
+
153
+ bash "System Access, Authentication and Authorization" do
154
+ user "root"
155
+ code <<-EOH
156
+ #6.1 Configure cron and anacron
157
+
158
+ #6.1.11 Restrict at/cron to Authorized Users
159
+ rm -f /etc/cron.deny
160
+
161
+ #6.1.3 Set User/Group Owner and Permission on /etc/anacrontab
162
+ chmod og-rwx /etc/anacrontab
163
+
164
+ #6.1.4 Set User/Group Owner and Permission on /etc/crontab
165
+ chmod og-rwx /etc/crontab
166
+
167
+ #6.1.5 Set User/Group Owner and Permission on /etc/cron.hourly
168
+ chmod og-rwx /etc/cron.hourly
169
+
170
+ #6.1.6 Set User/Group Owner and Permission on /etc/cron.daily
171
+ chmod og-rwx /etc/cron.daily
172
+
173
+ #6.1.7 Set User/Group Owner and Permission on /etc/cron.weekly
174
+ chmod og-rwx /etc/cron.weekly
175
+
176
+ #6.1.8 Set User/Group Owner and Permission on /etc/cron.monthly
177
+ chmod og-rwx /etc/cron.monthly
178
+
179
+ #6.1.9 Set User/Group Owner and Permission on /etc/cron.d
180
+ chmod og-rwx /etc/cron.d
181
+
182
+ #6.1.10 Restrict at Daemon
183
+ touch /etc/at.allow
184
+ chown root:root /etc/at.allow
185
+ chmod og-rwx /etc/at.allow
186
+
187
+ #6.1.11 Restrict at/cron to Authorized Users
188
+ touch /etc/cron.allow
189
+ chown root:root /etc/cron.allow
190
+ chmod og-rwx /etc/cron.allow
191
+
192
+ EOH
193
+ end
194
+
195
+ # 6.2 Configure SSH
196
+ begin
197
+ resources('service[sshd]')
198
+ rescue Chef::Exceptions::ResourceNotFound
199
+ service "sshd" do
200
+ action [:enable, :start]
201
+ end
202
+ end
203
+
204
+ # Make sure we don't lock ourselves out of nodes when setting AllowGroups
205
+ # in sshd.
206
+ if !node['application_attributes']['sshd_allow_groups'].empty?
207
+ group "mu_sshd_system_login"
208
+ ['root', 'centos', 'ec2-user'].each { |sys_login|
209
+ group "add #{sys_login} to mu_sshd_system_login" do
210
+ group_name "mu_sshd_system_login"
211
+ members sys_login
212
+ append true
213
+ ignore_failure true
214
+ end
215
+ }
216
+ node.override['application_attributes']['sshd_allow_groups'] = "mu_sshd_system_login "+node['application_attributes']['sshd_allow_groups']
217
+ end rescue NoMethodError
218
+
219
+ template "/etc/ssh/sshd_config" do
220
+ source "sshd_config.erb"
221
+ owner "root"
222
+ group "root"
223
+ mode 0600
224
+ cookbook "mu-tools"
225
+ notifies :restart, "service[sshd]", :immediately
226
+ end
227
+
228
+ cookbook_file "/etc/issue.net" do
229
+ source node['banner']['path']
230
+ mode 0644
231
+ owner "root"
232
+ group "root"
233
+ end
234
+
235
+ cookbook_file "/etc/issue" do
236
+ source node['banner']['path']
237
+ mode 0644
238
+ owner "root"
239
+ group "root"
240
+ end
241
+ # cookbook_file "/etc/motd" do
242
+ # source node['banner']['path']
243
+ # mode 0644
244
+ # owner "root"
245
+ # group "root"
246
+ # end
247
+ # cookbook_file "/etc/pam.d/su" do
248
+ # source "etc/pam.d/su"
249
+ # mode 0644
250
+ # owner "root"
251
+ # group "root"
252
+ # end
253
+ # 6.3 Configure PAM
254
+ # 6.3.2 Set Password Creation Requirement Parameters Using pam_cracklib
255
+ template "/etc/pam.d/password-auth-local" do
256
+ source "etc_pamd_password-auth.erb"
257
+ mode 0644
258
+ end
259
+ link "/etc/pam.d/password-auth" do
260
+ to "/etc/pam.d/password-auth-local"
261
+ end
262
+ #6.3.3 Set Lockout for Failed Password Attempts
263
+ template "/etc/pam.d/system-auth-local" do
264
+ source "etc_pamd_system-auth.erb"
265
+ mode 0644
266
+ end
267
+ link "/etc/pam.d/system-auth" do
268
+ to "/etc/pam.d/system-auth-local"
269
+ end
270
+
271
+ #SV-50303r1_rule/SV-50304r1_rule
272
+ execute "chown root:root /etc/shadow"
273
+ #SV-50305r1_rule
274
+ execute "chmod 0000 /etc/shadow"
275
+ #SV-50243r1_rule/SV-50248r1_rule
276
+ execute "chown root:root /etc/gshadow"
277
+ #SV-50249r1_rule
278
+ execute "chmod 0000 /etc/gshadow"
279
+ #SV-50250r1_rule/SV-50251r1_rule
280
+ execute "chown root:root /etc/passwd"
281
+ #SV-50257r1_rule
282
+ execute "chmod 0644 /etc/passwd"
283
+ #SV-50258r1_rule/SV-50259r1_rule
284
+ execute "chown root:root /etc/group"
285
+ #SV-50261r1_rule
286
+ execute "chmod 0644 /etc/group"
287
+
288
+ %w{ /lib /lib64 /usr/lib /usr/lib64 }.each do |dir|
289
+ execute "chown -R root #{dir}"
290
+ end
291
+
292
+
293
+ # 7.1 Set Shadow Password Suite Parameters (/etc/login.defs)
294
+ cookbook_file "/etc/login.defs" do
295
+ source "etc/login.defs"
296
+ mode 0644
297
+ owner "root"
298
+ group "root"
299
+ end
300
+
301
+ # 7.4 Set default umask for users
302
+ cookbook_file "/etc/bashrc" do
303
+ source "etc/bashrc"
304
+ mode 0644
305
+ owner "root"
306
+ group "root"
307
+ end
308
+
309
+ cookbook_file "/etc/profile" do
310
+ source "etc/profile"
311
+ mode 0644
312
+ owner "root"
313
+ group "root"
314
+ end
315
+
316
+ # 7.5 Lock Inactive User Accounts
317
+ bash "Lock Inactive Accounts" do
318
+ user "root"
319
+ code <<-EOH
320
+ useradd -D -f 35
321
+ EOH
322
+ end
323
+
324
+ # disable some filesystems
325
+ ["cramfs", "freevxfs", "jffs2", "hfs", "hfsplus", "squashfs", "udf"].each { |fs|
326
+ execute "disable #{fs}" do
327
+ command "echo 'install #{fs} /bin/true' >> /etc/modprobe.d/dist.conf"
328
+ not_if "grep '^install #{fs} ' /etc/modprobe.d/dist.conf"
329
+ end
330
+ }
331
+
332
+ mu_tools_disk "/home" do
333
+ device node['application_attributes']['home']['mount_device']
334
+ size node['application_attributes']['home']['volume_size_gb']
335
+ preserve_data true
336
+ not_if "awk '{print $2}' < /etc/mtab | grep '^/home$'"
337
+ end
338
+
339
+ Chef::Log.info("Value of login_disabled is #{node.normal.root_login_disabled}")
340
+
341
+ ruby_block "do a bunch of weird stuff" do
342
+ block do
343
+ cmd = Mixlib::ShellOut.new('chcon -Rv --type=user_home_t /home')
344
+ cmd.run_command
345
+ cmd = Mixlib::ShellOut.new('rm -rf /tmp/moveusers.tgz')
346
+ cmd.run_command
347
+ # `chcon -Rv --type=user_home_t /home`
348
+ # `rm -rf /tmp/moveusers.tgz`
349
+ valid_users="AllowUsers root"
350
+ node['etc']['passwd'].each do |user, data|
351
+ if data['uid'] >= 500 && data['shell'] !~ /nologin/ then
352
+ valid_users += " " + user
353
+ end
354
+ end
355
+ Chef::Log.info("Enabling ssh users #{valid_users}")
356
+ fe = Chef::Util::FileEdit.new("/etc/ssh/sshd_config")
357
+ fe.search_file_replace_line(/^AllowUsers.*$/, valid_users)
358
+ fe.write_file
359
+ end
360
+ only_if { ::File.exists?("/tmp/moveusers.tgz") }
361
+ end
362
+
363
+ execute "mount -oremount /dev/shm" do
364
+ action :nothing
365
+ end
366
+ mount "/dev/shm" do
367
+ device "tmpfs"
368
+ options "nodev,nosuid,noexec"
369
+ action [:enable, :mount]
370
+ notifies :run, "execute[mount -oremount /dev/shm]", :immediately
371
+ end
372
+
373
+ # XXX This is where ephemeral storage seems to land, usually. Usually. We'd
374
+ # probably like a more robust way of identifying it.
375
+ if !node['tmp_dev'].nil?
376
+ if node['platform_version'].to_i == 6
377
+ execute "mkfs.ext4 #{node['tmp_dev']}" do
378
+ not_if "tune2fs -l #{node['tmp_dev']}"
379
+ end
380
+ elsif node['platform_version'].to_i == 7
381
+ execute "mkfs.xfs -i size=512 #{node['tmp_dev']}" do
382
+ not_if "xfs_info #{node['tmp_dev']}"
383
+ end
384
+ end
385
+
386
+ mount "/tmp" do
387
+ device node['tmp_dev']
388
+ options "nodev,nosuid,noexec"
389
+ action [:mount, :enable]
390
+ notifies :run, "execute[fix /tmp permissions]", :immediately
391
+ end
392
+ mount "/var/tmp" do
393
+ device "/tmp"
394
+ options "bind"
395
+ action [:mount, :enable]
396
+ end
397
+ execute "fix /tmp permissions" do
398
+ command "chmod 1777 /tmp ; /sbin/restorecon -R /tmp"
399
+ end
400
+ end rescue NoMethodError
401
+
402
+ when "ubuntu"
403
+ # Make sure we don't lock ourselves out of nodes when setting AllowGroups
404
+ # in sshd.
405
+ if !node['application_attributes']['sshd_allow_groups'].empty?
406
+ group "mu_sshd_system_login"
407
+ ['root', 'ubuntu'].each { |sys_login|
408
+ group "mu_sshd_system_login" do
409
+ members sys_login
410
+ append true
411
+ ignore_failure true
412
+ end
413
+ }
414
+ node.override['application_attributes']['sshd_allow_groups'] = "mu_sshd_system_login "+node['application_attributes']['sshd_allow_groups']
415
+ end rescue NoMethodError
416
+
417
+ template "/etc/ssh/sshd_config" do
418
+ source "sshd_config.erb"
419
+ owner "root"
420
+ group "root"
421
+ mode 0600
422
+ cookbook "mu-tools"
423
+ notifies :restart, "service[sshd]", :immediately
424
+ end
425
+ cookbook_file "/etc/issue.net" do
426
+ source node['banner']['path']
427
+ mode 0644
428
+ owner "root"
429
+ group "root"
430
+ end
431
+ cookbook_file "/etc/motd.tail" do
432
+ source node['banner']['path']
433
+ mode 0644
434
+ owner "root"
435
+ group "root"
436
+ end
437
+ else
438
+ Chef::Log.info("Unsupported platform #{node['platform']}")
439
+ end
440
+ end
@@ -0,0 +1,23 @@
1
+ #
2
+ # Cookbook Name::mu-tools
3
+ # Recipe::aws_api
4
+ #
5
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
6
+ #
7
+ # Licensed under the BSD-3 license (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License in the root of the project or at
10
+ #
11
+ # http://egt-labs.com/mu/LICENSE.html
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ chef_gem "aws-sdk-core" do
20
+ compile_time true
21
+ version "2.6.50"
22
+ action :install
23
+ end
@@ -0,0 +1,31 @@
1
+ # Cookbook Name:: mu-tools
2
+ # Recipe:: base_repositories
3
+ #
4
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
5
+ #
6
+ # Licensed under the BSD-3 license (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License in the root of the project or at
9
+ #
10
+ # http://egt-labs.com/mu/LICENSE.html
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ # Install the EPEL yum repository for CentOS.
19
+
20
+ if !node['application_attributes']['skip_recipes'].include?('base_repositories')
21
+ case node['platform_family']
22
+ when "rhel", "redhat"
23
+ # Workaround for EOL CentOS 5 repos
24
+ if node['platform'] != "amazon" and node['platform_version'].to_i == 5
25
+ cookbook_file "/etc/yum.repos.d/CentOS-Base.repo" do
26
+ source "CentOS-Base.repo"
27
+ end
28
+ end
29
+ include_recipe "yum-epel"
30
+ end
31
+ end
@@ -0,0 +1,59 @@
1
+ #
2
+ # Cookbook Name:: mu-tools
3
+ # Recipe:: cisbenchmark
4
+ #
5
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
6
+ #
7
+ # Licensed under the BSD-3 license (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License in the root of the project or at
10
+ #
11
+ # http://egt-labs.com/mu/LICENSE.html
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ include_recipe "mu-utility::zip"
20
+ include_recipe "java"
21
+
22
+ remote_file "#{Chef::Config[:file_cache_path]}/cis-cat-full.zip" do
23
+ source "https://s3.amazonaws.com/femadata-sandbox-public/ciscat-full-bundle.zip"
24
+ end
25
+
26
+ execute "unzip -u #{Chef::Config[:file_cache_path]}/cis-cat-full.zip" do
27
+ cwd Chef::Config[:file_cache_path]
28
+ end
29
+
30
+ file "#{Chef::Config[:file_cache_path]}/cis-cat-full/CIS-CAT.sh" do
31
+ mode "744"
32
+ end
33
+
34
+ execute "Run CIS Benchmark" do
35
+ command "./CIS-CAT.sh -t -a -b benchmarks/CIS_CentOS_Linux_6_Benchmark_v1.0.0.xml"
36
+ cwd "#{Chef::Config[:file_cache_path]}/cis-cat-full"
37
+ end
38
+
39
+ execute "zip -r /tmp/cis-results.zip /root/CIS-CAT_Results"
40
+
41
+ package "mailx"
42
+
43
+ bash "mail results" do
44
+ user "root"
45
+ code <<-EOH
46
+ echo "The node has been configured and the security file can be found in /tmp/cis-cat-full.zip directory" | mailx -a /tmp/cis-results.zip -s "#{node.name} security report" -- #{node['admins'].first}
47
+ EOH
48
+ end
49
+
50
+ #Don't Keep old scans so we won't get confused
51
+ directory "/root/CIS-CAT_Results" do
52
+ recursive true
53
+ action :delete
54
+ end
55
+
56
+ file "/tmp/cis-results.zip" do
57
+ action :delete
58
+ end
59
+
@@ -0,0 +1,53 @@
1
+ #
2
+ # Cookbook Name:: mu-tools
3
+ # Recipe:: clamav
4
+ #
5
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
6
+ #
7
+ # Licensed under the BSD-3 license (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License in the root of the project or at
10
+ #
11
+ # http://egt-labs.com/mu/LICENSE.html
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+
20
+ if !node['application_attributes']['skip_recipes'].include?('clamav')
21
+ if platform_family?("rhel")
22
+ include_recipe "yum-epel"
23
+ if node['platform_version'].to_i >= 7
24
+ package "clamav-update"
25
+ end
26
+ cookbook_file "/etc/freshclam.conf" do
27
+ source "etc/freshclam.conf"
28
+ mode 0644
29
+ owner "root"
30
+ group "root"
31
+ end
32
+ freshclam = "/usr/bin/freshclam"
33
+ freshclam = "/bin/freshclam" if File.exist?("/bin/freshclam")
34
+ execute freshclam do
35
+ action :nothing
36
+ end
37
+ package "clamav" do
38
+ # notifies :run, "execute[#{freshclam}]", :delayed
39
+ end
40
+ package "clamav-devel"
41
+ if node['platform_version'].to_i < 7
42
+ package "clamav-milter"
43
+ end
44
+ elsif platform_family?("debian")
45
+ include_recipe "mu-utility::apt"
46
+ package "clamav"
47
+ package "clamav-daemon"
48
+ package "clamav-freshclam" # this is a daemon, no need to run explicitly
49
+ package "clamav-milter"
50
+ package "libclamav-dev"
51
+ else
52
+ end
53
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # Cookbook Name:: mu-utility
3
+ # Recipe:: cloudinit
4
+ #
5
+ # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
6
+ #
7
+ # Licensed under the BSD-3 license (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License in the root of the project or at
10
+ #
11
+ # http://egt-labs.com/mu/LICENSE.html
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # Make sure cloud-init or equivalent gets installed. Kind of trivial for the
20
+ # common Linux platforms.
21
+
22
+ if !node['application_attributes']['skip_recipes'].include?('epel') and !node['application_attributes']['skip_recipes'].include?('base_repositories')
23
+ if platform_family?("rhel")
24
+ include_recipe "yum-epel"
25
+ package "cloud-init" do
26
+ ignore_failure true
27
+ end
28
+
29
+ if node['platform_version'].to_i == 6
30
+ bash "allow ssh as root" do
31
+ only_if "grep 'disable_root: 1' /etc/cloud/cloud.cfg"
32
+ code <<-EOH
33
+ sed -i 's/disable_root: 1/disable_root: 0/' /etc/cloud/cloud.cfg
34
+ EOH
35
+ end
36
+ ["puppet", "chef", "salt-minion", "mcollective", "disable-ec2-metadata"].each { |cfgline|
37
+ bash "disabled cloudinit #{cfgline} module" do
38
+ only_if "grep '^ - #{cfgline}$' /etc/cloud/cloud.cfg"
39
+ code <<-EOH
40
+ sed -i 's/^ - #{cfgline}$//' /etc/cloud/cloud.cfg
41
+ EOH
42
+ end
43
+ }
44
+ elsif node['platform_version'].to_i == 7
45
+ # making sure hostname is kept across reboot
46
+ execute "sed -i '/ssh_pwauth/a preserve_hostname: true' /etc/cloud/cloud.cfg" do
47
+ not_if "grep 'preserve_hostname: true' /etc/cloud/cloud.cfg"
48
+ end
49
+ end
50
+
51
+ elsif platform_family?("debian")
52
+ package "cloud-init"
53
+ elsif platform_family?("windows")
54
+ Chef::Log.info ("Windows use ec2config, no cloud-init package is necessary")
55
+ else
56
+ Chef::Log.info("Unsupported platform #{node['platform']}")
57
+ end
58
+ end