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.
- checksums.yaml +7 -0
- data/Berksfile +56 -0
- data/Berksfile.lock +250 -0
- data/Jenkinsfile +184 -0
- data/LICENSE.md +37 -0
- data/README.md +26 -0
- data/bin/mu-aws-setup +376 -0
- data/bin/mu-cleanup +68 -0
- data/bin/mu-configure +1133 -0
- data/bin/mu-deploy +166 -0
- data/bin/mu-firewall-allow-clients +30 -0
- data/bin/mu-gcp-setup +200 -0
- data/bin/mu-gen-docs +34 -0
- data/bin/mu-gen-env +42 -0
- data/bin/mu-load-config.rb +158 -0
- data/bin/mu-node-manage +683 -0
- data/bin/mu-self-update +228 -0
- data/bin/mu-ssh +23 -0
- data/bin/mu-tunnel-nagios +144 -0
- data/bin/mu-upload-chef-artifacts +757 -0
- data/bin/mu-user-manage +275 -0
- data/cookbooks/awscli/LICENSE +37 -0
- data/cookbooks/awscli/README.md +58 -0
- data/cookbooks/awscli/attributes/default.rb +1 -0
- data/cookbooks/awscli/libraries/instance_metadata.rb +21 -0
- data/cookbooks/awscli/metadata.rb +20 -0
- data/cookbooks/awscli/recipes/default.rb +56 -0
- data/cookbooks/awscli/templates/default/config.erb +18 -0
- data/cookbooks/mu-activedirectory/CHANGELOG.md +13 -0
- data/cookbooks/mu-activedirectory/LICENSE +37 -0
- data/cookbooks/mu-activedirectory/README.md +6 -0
- data/cookbooks/mu-activedirectory/attributes/default.rb +98 -0
- data/cookbooks/mu-activedirectory/files/default/password-auth +32 -0
- data/cookbooks/mu-activedirectory/files/default/sshd_pol.pp +0 -0
- data/cookbooks/mu-activedirectory/files/default/sshd_pol.te +32 -0
- data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.pp +0 -0
- data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.te +10 -0
- data/cookbooks/mu-activedirectory/files/default/system-auth +34 -0
- data/cookbooks/mu-activedirectory/files/default/winbindpol.pp +0 -0
- data/cookbooks/mu-activedirectory/files/default/winbindpol.te +37 -0
- data/cookbooks/mu-activedirectory/libraries/config.rb +106 -0
- data/cookbooks/mu-activedirectory/libraries/helper.rb +86 -0
- data/cookbooks/mu-activedirectory/metadata.rb +17 -0
- data/cookbooks/mu-activedirectory/providers/domain.rb +152 -0
- data/cookbooks/mu-activedirectory/providers/domain_controller.rb +89 -0
- data/cookbooks/mu-activedirectory/providers/domain_node.rb +275 -0
- data/cookbooks/mu-activedirectory/recipes/default.rb +8 -0
- data/cookbooks/mu-activedirectory/recipes/domain-controller.rb +44 -0
- data/cookbooks/mu-activedirectory/recipes/domain-node.rb +50 -0
- data/cookbooks/mu-activedirectory/recipes/domain.rb +43 -0
- data/cookbooks/mu-activedirectory/recipes/sssd.rb +185 -0
- data/cookbooks/mu-activedirectory/resources/domain.rb +25 -0
- data/cookbooks/mu-activedirectory/resources/domain_controller.rb +25 -0
- data/cookbooks/mu-activedirectory/resources/domain_node.rb +20 -0
- data/cookbooks/mu-activedirectory/templates/default/dhclient-eth0.conf.erb +4 -0
- data/cookbooks/mu-activedirectory/templates/default/interface +0 -0
- data/cookbooks/mu-activedirectory/templates/default/krb5.conf.erb +23 -0
- data/cookbooks/mu-activedirectory/templates/default/ntp.conf.erb +56 -0
- data/cookbooks/mu-activedirectory/templates/default/smb.conf.erb +33 -0
- data/cookbooks/mu-activedirectory/templates/default/sssd.conf.erb +60 -0
- data/cookbooks/mu-activedirectory/templates/windows/Backup.xml.erb +20 -0
- data/cookbooks/mu-activedirectory/templates/windows/bkupInfo.xml.erb +1 -0
- data/cookbooks/mu-activedirectory/templates/windows/gpreprt.xml.erb +198 -0
- data/cookbooks/mu-activedirectory/templates/windows/gptmpl.inf.erb +12 -0
- data/cookbooks/mu-activedirectory/templates/windows/manifest.xml.erb +1 -0
- data/cookbooks/mu-firewall/CHANGELOG.md +11 -0
- data/cookbooks/mu-firewall/LICENSE +37 -0
- data/cookbooks/mu-firewall/README.md +5 -0
- data/cookbooks/mu-firewall/attributes/default.rb +3 -0
- data/cookbooks/mu-firewall/metadata.rb +16 -0
- data/cookbooks/mu-firewall/recipes/default.rb +10 -0
- data/cookbooks/mu-glusterfs/CHANGELOG.md +13 -0
- data/cookbooks/mu-glusterfs/LICENSE +37 -0
- data/cookbooks/mu-glusterfs/README.md +5 -0
- data/cookbooks/mu-glusterfs/attributes/default.rb +34 -0
- data/cookbooks/mu-glusterfs/metadata.rb +17 -0
- data/cookbooks/mu-glusterfs/recipes/client.rb +62 -0
- data/cookbooks/mu-glusterfs/recipes/default.rb +16 -0
- data/cookbooks/mu-glusterfs/recipes/samba.rb +57 -0
- data/cookbooks/mu-glusterfs/recipes/server.rb +200 -0
- data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +71 -0
- data/cookbooks/mu-glusterfs/templates/default/smb.conf.erb +14 -0
- data/cookbooks/mu-jenkins/CHANGELOG.md +13 -0
- data/cookbooks/mu-jenkins/LICENSE +37 -0
- data/cookbooks/mu-jenkins/README.md +105 -0
- data/cookbooks/mu-jenkins/attributes/default.rb +42 -0
- data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +73 -0
- data/cookbooks/mu-jenkins/files/default/deploy_config.xml +44 -0
- data/cookbooks/mu-jenkins/metadata.rb +21 -0
- data/cookbooks/mu-jenkins/recipes/default.rb +195 -0
- data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +54 -0
- data/cookbooks/mu-jenkins/recipes/public_key.rb +24 -0
- data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +24 -0
- data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +14 -0
- data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +6 -0
- data/cookbooks/mu-master/CHANGELOG.md +13 -0
- data/cookbooks/mu-master/LICENSE +37 -0
- data/cookbooks/mu-master/README.md +6 -0
- data/cookbooks/mu-master/attributes/default.rb +95 -0
- data/cookbooks/mu-master/files/default/0-mu-log-server.conf +19 -0
- data/cookbooks/mu-master/files/default/addRSA.ldif +8 -0
- data/cookbooks/mu-master/files/default/check_mem.pl +197 -0
- data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
- data/cookbooks/mu-master/files/default/dirsrv_admin.pp +0 -0
- data/cookbooks/mu-master/files/default/dirsrv_admin.te +13 -0
- data/cookbooks/mu-master/files/default/nagios_selinux.pp +0 -0
- data/cookbooks/mu-master/files/default/nagios_selinux.te +51 -0
- data/cookbooks/mu-master/files/default/nagios_selinux_7.pp +0 -0
- data/cookbooks/mu-master/files/default/nagios_selinux_7.te +17 -0
- data/cookbooks/mu-master/files/default/pam_sshd +18 -0
- data/cookbooks/mu-master/files/default/ssl_enable.ldif +18 -0
- data/cookbooks/mu-master/files/default/syslogd_oddjobd.pp +0 -0
- data/cookbooks/mu-master/files/default/syslogd_oddjobd.te +10 -0
- data/cookbooks/mu-master/files/default/vimrc +19 -0
- data/cookbooks/mu-master/libraries/mu.rb +29 -0
- data/cookbooks/mu-master/metadata.rb +30 -0
- data/cookbooks/mu-master/providers/user.rb +41 -0
- data/cookbooks/mu-master/recipes/389ds.rb +164 -0
- data/cookbooks/mu-master/recipes/basepackages.rb +58 -0
- data/cookbooks/mu-master/recipes/caching_nameserver.rb +37 -0
- data/cookbooks/mu-master/recipes/default.rb +451 -0
- data/cookbooks/mu-master/recipes/eks-kubectl.rb +41 -0
- data/cookbooks/mu-master/recipes/firewall-holes.rb +70 -0
- data/cookbooks/mu-master/recipes/init.rb +542 -0
- data/cookbooks/mu-master/recipes/ssl-certs.rb +109 -0
- data/cookbooks/mu-master/recipes/sssd.rb +89 -0
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +242 -0
- data/cookbooks/mu-master/recipes/vault.rb +111 -0
- data/cookbooks/mu-master/resources/user.rb +19 -0
- data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +28 -0
- data/cookbooks/mu-master/templates/default/chef-server.rb.erb +18 -0
- data/cookbooks/mu-master/templates/default/dhclient-eth0.conf.erb +9 -0
- data/cookbooks/mu-master/templates/default/mu-momma-cat.erb +149 -0
- data/cookbooks/mu-master/templates/default/mu.rc.erb +9 -0
- data/cookbooks/mu-master/templates/default/openssl.cnf.erb +354 -0
- data/cookbooks/mu-master/templates/default/sssd.conf.erb +44 -0
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +90 -0
- data/cookbooks/mu-mongo/CHANGELOG.md +13 -0
- data/cookbooks/mu-mongo/LICENSE +37 -0
- data/cookbooks/mu-mongo/README.md +5 -0
- data/cookbooks/mu-mongo/attributes/default.rb +22 -0
- data/cookbooks/mu-mongo/files/default/keyfile +16 -0
- data/cookbooks/mu-mongo/files/default/remove_nodes.js +5 -0
- data/cookbooks/mu-mongo/metadata.rb +17 -0
- data/cookbooks/mu-mongo/recipes/default.rb +149 -0
- data/cookbooks/mu-mongo/recipes/yum-update-rule.rb +18 -0
- data/cookbooks/mu-mongo/templates/default/mongo_create_openfema_db.js.erb +2 -0
- data/cookbooks/mu-mongo/templates/default/mongo_init.js.erb +1 -0
- data/cookbooks/mu-mongo/templates/default/mongo_logrotate.erb +14 -0
- data/cookbooks/mu-mongo/templates/default/mongo_replset_addnodes.js.erb +6 -0
- data/cookbooks/mu-mongo/templates/default/replset_init.js.erb +2 -0
- data/cookbooks/mu-openvpn/CHANGELOG.md +13 -0
- data/cookbooks/mu-openvpn/LICENSE +37 -0
- data/cookbooks/mu-openvpn/README.md +6 -0
- data/cookbooks/mu-openvpn/attributes/default.rb +119 -0
- data/cookbooks/mu-openvpn/metadata.rb +18 -0
- data/cookbooks/mu-openvpn/recipes/default.rb +108 -0
- data/cookbooks/mu-openvpn/templates/default/users.json.erb +42 -0
- data/cookbooks/mu-php54/CHANGELOG.md +12 -0
- data/cookbooks/mu-php54/LICENSE +37 -0
- data/cookbooks/mu-php54/README.md +0 -0
- data/cookbooks/mu-php54/files/centos/php.ini +1802 -0
- data/cookbooks/mu-php54/files/ubuntu/php.ini +1870 -0
- data/cookbooks/mu-php54/metadata.rb +21 -0
- data/cookbooks/mu-php54/recipes/default.rb +97 -0
- data/cookbooks/mu-splunk/CHANGELOG.md +37 -0
- data/cookbooks/mu-splunk/LICENSE +37 -0
- data/cookbooks/mu-splunk/README.md +451 -0
- data/cookbooks/mu-splunk/attributes/default.rb +95 -0
- data/cookbooks/mu-splunk/attributes/upgrade.rb +49 -0
- data/cookbooks/mu-splunk/definitions/splunk_installer.rb +103 -0
- data/cookbooks/mu-splunk/files/default/splunk-nocheck +10 -0
- data/cookbooks/mu-splunk/libraries/helpers.rb +72 -0
- data/cookbooks/mu-splunk/libraries/splunk_app_provider.rb +156 -0
- data/cookbooks/mu-splunk/libraries/splunk_app_resource.rb +43 -0
- data/cookbooks/mu-splunk/metadata.json +30 -0
- data/cookbooks/mu-splunk/metadata.rb +17 -0
- data/cookbooks/mu-splunk/recipes/client.rb +143 -0
- data/cookbooks/mu-splunk/recipes/default.rb +31 -0
- data/cookbooks/mu-splunk/recipes/disabled.rb +41 -0
- data/cookbooks/mu-splunk/recipes/install_forwarder.rb +23 -0
- data/cookbooks/mu-splunk/recipes/install_server.rb +23 -0
- data/cookbooks/mu-splunk/recipes/server.rb +53 -0
- data/cookbooks/mu-splunk/recipes/service.rb +95 -0
- data/cookbooks/mu-splunk/recipes/setup_auth.rb +49 -0
- data/cookbooks/mu-splunk/recipes/setup_ssl.rb +63 -0
- data/cookbooks/mu-splunk/recipes/upgrade.rb +94 -0
- data/cookbooks/mu-splunk/recipes/user.rb +34 -0
- data/cookbooks/mu-splunk/templates/default/base_logs_unix_inputs.conf.erb +26 -0
- data/cookbooks/mu-splunk/templates/default/inputs.conf.erb +13 -0
- data/cookbooks/mu-splunk/templates/default/outputs.conf.erb +9 -0
- data/cookbooks/mu-splunk/templates/default/splunk-init.erb +74 -0
- data/cookbooks/mu-splunk/templates/default/system-web.conf.erb +7 -0
- data/cookbooks/mu-tools/CHANGELOG.md +12 -0
- data/cookbooks/mu-tools/LICENSE +37 -0
- data/cookbooks/mu-tools/README.md +188 -0
- data/cookbooks/mu-tools/attributes/default.rb +142 -0
- data/cookbooks/mu-tools/attributes/ebs_rolling_snapshots.rb +3 -0
- data/cookbooks/mu-tools/files/amazon/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/centos/CentOS-Base.repo +52 -0
- data/cookbooks/mu-tools/files/centos/etc/bashrc +93 -0
- data/cookbooks/mu-tools/files/centos/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/centos/etc/login.defs +72 -0
- data/cookbooks/mu-tools/files/centos/etc/profile +77 -0
- data/cookbooks/mu-tools/files/centos/etc/security/limits.conf +57 -0
- data/cookbooks/mu-tools/files/centos/etc/sysconfig/init +19 -0
- data/cookbooks/mu-tools/files/centos/etc/sysctl.conf +82 -0
- data/cookbooks/mu-tools/files/centos-6/README_MU +0 -0
- data/cookbooks/mu-tools/files/centos-6/etc/audit/stig.rules +173 -0
- data/cookbooks/mu-tools/files/centos-6/etc/bashrc +90 -0
- data/cookbooks/mu-tools/files/centos-6/etc/login.defs +70 -0
- data/cookbooks/mu-tools/files/centos-6/etc/pam.d/su +12 -0
- data/cookbooks/mu-tools/files/centos-6/etc/profile +83 -0
- data/cookbooks/mu-tools/files/centos-6/etc/securetty +12 -0
- data/cookbooks/mu-tools/files/centos-6/etc/sysconfig/init +30 -0
- data/cookbooks/mu-tools/files/centos-6/etc/sysctl.conf +40 -0
- data/cookbooks/mu-tools/files/default/Mu_CA.pem +34 -0
- data/cookbooks/mu-tools/files/default/PSWindowsUpdate.zip +0 -0
- data/cookbooks/mu-tools/files/default/ebs_snapshots.py +123 -0
- data/cookbooks/mu-tools/files/default/etc/BANNER +0 -0
- data/cookbooks/mu-tools/files/default/etc/BANNER-FEDERAL +19 -0
- data/cookbooks/mu-tools/files/default/gpo_no_uac.zip +0 -0
- data/cookbooks/mu-tools/files/default/mypol.pp +0 -0
- data/cookbooks/mu-tools/files/default/mypol.te +37 -0
- data/cookbooks/mu-tools/files/default/nrpe_c7.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_c7.te +31 -0
- data/cookbooks/mu-tools/files/default/nrpe_check_disk.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_check_disk.te +11 -0
- data/cookbooks/mu-tools/files/default/nrpe_disk.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_disk.te +10 -0
- data/cookbooks/mu-tools/files/default/nrpe_file.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_file.te +31 -0
- data/cookbooks/mu-tools/files/default/ntrights +0 -0
- data/cookbooks/mu-tools/files/default/serverclass.conf +18 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/app.conf +1 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/inputs.conf +13 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/app.conf +1 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/inputs.conf +8 -0
- data/cookbooks/mu-tools/files/default/sshd_pol.pp +0 -0
- data/cookbooks/mu-tools/files/default/sshd_pol.te +32 -0
- data/cookbooks/mu-tools/files/redhat/etc/bashrc +93 -0
- data/cookbooks/mu-tools/files/redhat/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/redhat/etc/login.defs +72 -0
- data/cookbooks/mu-tools/files/redhat/etc/profile +77 -0
- data/cookbooks/mu-tools/files/redhat/etc/security/limits.conf +57 -0
- data/cookbooks/mu-tools/files/redhat/etc/sysconfig/init +19 -0
- data/cookbooks/mu-tools/files/redhat/etc/sysctl.conf +82 -0
- data/cookbooks/mu-tools/files/redhat-6/README_MU +0 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/audit/stig.rules +173 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/bashrc +90 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/login.defs +70 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/pam.d/su +12 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/profile +83 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/securetty +12 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/sysconfig/init +30 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/sysctl.conf +40 -0
- data/cookbooks/mu-tools/files/redhat-7.1/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/bash.bashrc +64 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/common-session +30 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/login.defs +338 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/profile +30 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/security/limits.conf +56 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/sysctl.conf +60 -0
- data/cookbooks/mu-tools/libraries/helper.rb +292 -0
- data/cookbooks/mu-tools/metadata.rb +28 -0
- data/cookbooks/mu-tools/recipes/add_admin_ssh_keys.rb +35 -0
- data/cookbooks/mu-tools/recipes/apply_security.rb +440 -0
- data/cookbooks/mu-tools/recipes/aws_api.rb +23 -0
- data/cookbooks/mu-tools/recipes/base_repositories.rb +31 -0
- data/cookbooks/mu-tools/recipes/cisbenchmark.rb +59 -0
- data/cookbooks/mu-tools/recipes/clamav.rb +53 -0
- data/cookbooks/mu-tools/recipes/cloudinit.rb +58 -0
- data/cookbooks/mu-tools/recipes/configure_oracle_tools.rb +81 -0
- data/cookbooks/mu-tools/recipes/disable-requiretty.rb +22 -0
- data/cookbooks/mu-tools/recipes/ebs_rolling_snapshots.rb +75 -0
- data/cookbooks/mu-tools/recipes/efs.rb +70 -0
- data/cookbooks/mu-tools/recipes/eks.rb +160 -0
- data/cookbooks/mu-tools/recipes/gcloud.rb +98 -0
- data/cookbooks/mu-tools/recipes/google_api.rb +25 -0
- data/cookbooks/mu-tools/recipes/maldet.rb +67 -0
- data/cookbooks/mu-tools/recipes/nagios.rb +19 -0
- data/cookbooks/mu-tools/recipes/newclient.rb +23 -0
- data/cookbooks/mu-tools/recipes/nrpe.rb +115 -0
- data/cookbooks/mu-tools/recipes/python_pip.rb +35 -0
- data/cookbooks/mu-tools/recipes/retrieve_application.rb +51 -0
- data/cookbooks/mu-tools/recipes/rsyslog.rb +65 -0
- data/cookbooks/mu-tools/recipes/set_local_fw.rb +57 -0
- data/cookbooks/mu-tools/recipes/set_mu_hostname.rb +81 -0
- data/cookbooks/mu-tools/recipes/split_var_partitions.rb +86 -0
- data/cookbooks/mu-tools/recipes/splunk-client.rb +69 -0
- data/cookbooks/mu-tools/recipes/splunk-server.rb +104 -0
- data/cookbooks/mu-tools/recipes/store_inspec_attr.rb +8 -0
- data/cookbooks/mu-tools/recipes/updates.rb +96 -0
- data/cookbooks/mu-tools/recipes/windows-client.rb +202 -0
- data/cookbooks/mu-tools/resources/aws_windows.rb +33 -0
- data/cookbooks/mu-tools/resources/disk.rb +88 -0
- data/cookbooks/mu-tools/resources/mommacat_request.rb +11 -0
- data/cookbooks/mu-tools/resources/scheduled_tasks.rb +29 -0
- data/cookbooks/mu-tools/resources/sshd_service.rb +45 -0
- data/cookbooks/mu-tools/resources/windows_users.rb +242 -0
- data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +168 -0
- data/cookbooks/mu-tools/templates/centos-6/sshd_config.erb +212 -0
- data/cookbooks/mu-tools/templates/centos-7/sshd_config.erb +215 -0
- data/cookbooks/mu-tools/templates/default/0-mu-log-client.conf.erb +13 -0
- data/cookbooks/mu-tools/templates/default/conf.maldet.erb +137 -0
- data/cookbooks/mu-tools/templates/default/etc_hosts.erb +30 -0
- data/cookbooks/mu-tools/templates/default/etc_pamd_password-auth.erb +14 -0
- data/cookbooks/mu-tools/templates/default/etc_pamd_system-auth.erb +14 -0
- data/cookbooks/mu-tools/templates/default/etc_sysconfig_network.erb +12 -0
- data/cookbooks/mu-tools/templates/default/kubeconfig.erb +29 -0
- data/cookbooks/mu-tools/templates/default/kubelet.service.erb +35 -0
- data/cookbooks/mu-tools/templates/default/maldet_scanall.sh.erb +15 -0
- data/cookbooks/mu-tools/templates/default/nrpe.cfg.erb +233 -0
- data/cookbooks/mu-tools/templates/redhat-6/sshd_config.erb +213 -0
- data/cookbooks/mu-tools/templates/redhat-7/sshd_config.erb +215 -0
- data/cookbooks/mu-tools/templates/ubuntu-12.04/sshd_config.erb +146 -0
- data/cookbooks/mu-tools/templates/ubuntu-14.04/sshd_config.erb +145 -0
- data/cookbooks/mu-tools/templates/windows/Backup.xml.erb +20 -0
- data/cookbooks/mu-tools/templates/windows/bkupInfo.xml.erb +1 -0
- data/cookbooks/mu-tools/templates/windows/gpreprt.xml.erb +214 -0
- data/cookbooks/mu-tools/templates/windows/gptmpl.inf.erb +12 -0
- data/cookbooks/mu-tools/templates/windows/manifest.xml.erb +1 -0
- data/cookbooks/mu-tools/templates/windows/set_ad_dns_scheduled_task.ps1.erb +6 -0
- data/cookbooks/mu-tools/templates/windows/sshd_config.erb +136 -0
- data/cookbooks/mu-utility/CHANGELOG.md +12 -0
- data/cookbooks/mu-utility/LICENSE +37 -0
- data/cookbooks/mu-utility/README.md +6 -0
- data/cookbooks/mu-utility/attributes/default.rb +1 -0
- data/cookbooks/mu-utility/libraries/matchers.rb +21 -0
- data/cookbooks/mu-utility/metadata.rb +16 -0
- data/cookbooks/mu-utility/recipes/apt.rb +23 -0
- data/cookbooks/mu-utility/recipes/cleanup_image_helper.rb +118 -0
- data/cookbooks/mu-utility/recipes/iptables.rb +26 -0
- data/cookbooks/mu-utility/recipes/luks.rb +18 -0
- data/cookbooks/mu-utility/recipes/nat.rb +104 -0
- data/cookbooks/mu-utility/recipes/php.rb +33 -0
- data/cookbooks/mu-utility/recipes/rdp_gateway.rb +83 -0
- data/cookbooks/mu-utility/recipes/remi.rb +44 -0
- data/cookbooks/mu-utility/recipes/vim.rb +26 -0
- data/cookbooks/mu-utility/recipes/windows_basics.rb +37 -0
- data/cookbooks/mu-utility/recipes/zip.rb +26 -0
- data/cookbooks/mu-utility/templates/default/BundleConfig.xml.erb +34 -0
- data/cookbooks/mu-utility/templates/default/config.xml.erb +60 -0
- data/cookbooks/nagios/Berksfile +8 -0
- data/cookbooks/nagios/CHANGELOG.md +589 -0
- data/cookbooks/nagios/CONTRIBUTING.md +11 -0
- data/cookbooks/nagios/LICENSE +37 -0
- data/cookbooks/nagios/README.md +328 -0
- data/cookbooks/nagios/TESTING.md +2 -0
- data/cookbooks/nagios/attributes/config.rb +171 -0
- data/cookbooks/nagios/attributes/default.rb +228 -0
- data/cookbooks/nagios/chefignore +102 -0
- data/cookbooks/nagios/definitions/command.rb +33 -0
- data/cookbooks/nagios/definitions/contact.rb +33 -0
- data/cookbooks/nagios/definitions/contactgroup.rb +33 -0
- data/cookbooks/nagios/definitions/host.rb +33 -0
- data/cookbooks/nagios/definitions/hostdependency.rb +33 -0
- data/cookbooks/nagios/definitions/hostescalation.rb +34 -0
- data/cookbooks/nagios/definitions/hostgroup.rb +33 -0
- data/cookbooks/nagios/definitions/nagios_conf.rb +38 -0
- data/cookbooks/nagios/definitions/resource.rb +33 -0
- data/cookbooks/nagios/definitions/service.rb +33 -0
- data/cookbooks/nagios/definitions/servicedependency.rb +33 -0
- data/cookbooks/nagios/definitions/serviceescalation.rb +34 -0
- data/cookbooks/nagios/definitions/servicegroup.rb +33 -0
- data/cookbooks/nagios/definitions/timeperiod.rb +33 -0
- data/cookbooks/nagios/libraries/base.rb +314 -0
- data/cookbooks/nagios/libraries/command.rb +91 -0
- data/cookbooks/nagios/libraries/contact.rb +230 -0
- data/cookbooks/nagios/libraries/contactgroup.rb +112 -0
- data/cookbooks/nagios/libraries/custom_option.rb +36 -0
- data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
- data/cookbooks/nagios/libraries/default.rb +90 -0
- data/cookbooks/nagios/libraries/host.rb +412 -0
- data/cookbooks/nagios/libraries/hostdependency.rb +181 -0
- data/cookbooks/nagios/libraries/hostescalation.rb +173 -0
- data/cookbooks/nagios/libraries/hostgroup.rb +119 -0
- data/cookbooks/nagios/libraries/nagios.rb +282 -0
- data/cookbooks/nagios/libraries/resource.rb +59 -0
- data/cookbooks/nagios/libraries/service.rb +455 -0
- data/cookbooks/nagios/libraries/servicedependency.rb +215 -0
- data/cookbooks/nagios/libraries/serviceescalation.rb +195 -0
- data/cookbooks/nagios/libraries/servicegroup.rb +144 -0
- data/cookbooks/nagios/libraries/timeperiod.rb +160 -0
- data/cookbooks/nagios/libraries/users_helper.rb +54 -0
- data/cookbooks/nagios/metadata.rb +25 -0
- data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
- data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
- data/cookbooks/nagios/recipes/apache.rb +48 -0
- data/cookbooks/nagios/recipes/default.rb +204 -0
- data/cookbooks/nagios/recipes/nginx.rb +82 -0
- data/cookbooks/nagios/recipes/pagerduty.rb +143 -0
- data/cookbooks/nagios/recipes/server_package.rb +40 -0
- data/cookbooks/nagios/recipes/server_source.rb +164 -0
- data/cookbooks/nagios/templates/default/apache2.conf.erb +96 -0
- data/cookbooks/nagios/templates/default/cgi.cfg.erb +266 -0
- data/cookbooks/nagios/templates/default/commands.cfg.erb +13 -0
- data/cookbooks/nagios/templates/default/contacts.cfg.erb +37 -0
- data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +25 -0
- data/cookbooks/nagios/templates/default/hosts.cfg.erb +15 -0
- data/cookbooks/nagios/templates/default/htpasswd.users.erb +6 -0
- data/cookbooks/nagios/templates/default/nagios.cfg.erb +22 -0
- data/cookbooks/nagios/templates/default/nginx.conf.erb +62 -0
- data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +185 -0
- data/cookbooks/nagios/templates/default/resource.cfg.erb +27 -0
- data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +15 -0
- data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +14 -0
- data/cookbooks/nagios/templates/default/services.cfg.erb +14 -0
- data/cookbooks/nagios/templates/default/templates.cfg.erb +31 -0
- data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +13 -0
- data/cookbooks/s3fs/CHANGELOG.md +13 -0
- data/cookbooks/s3fs/LICENSE +37 -0
- data/cookbooks/s3fs/README.md +6 -0
- data/cookbooks/s3fs/attributes/default.rb +15 -0
- data/cookbooks/s3fs/files/default/fuse-2.9.3.zip +0 -0
- data/cookbooks/s3fs/metadata.rb +16 -0
- data/cookbooks/s3fs/recipes/default.rb +91 -0
- data/data_bags/demo/app.json +7 -0
- data/data_bags/nagios_services/chef.json +6 -0
- data/data_bags/nagios_services/linux_diskspace.json +5 -0
- data/data_bags/nagios_services/momma_cat.json +6 -0
- data/data_bags/nagios_services/mu-master-memory.json +5 -0
- data/data_bags/nagios_services/nagios_ui.json +6 -0
- data/data_bags/nagios_services/node_ssh.json +6 -0
- data/data_bags/nagios_services/ssh.json +6 -0
- data/demo/lambda_test.yaml +29 -0
- data/environments/DEV.json +8 -0
- data/environments/PROD.json +8 -0
- data/environments/dev.json +8 -0
- data/environments/development.json +8 -0
- data/environments/prod.json +8 -0
- data/extras/README.md +1 -0
- data/extras/admin-role-binding.yaml +16 -0
- data/extras/admin-user.yaml +6 -0
- data/extras/aws-auth-cm.yaml.erb +12 -0
- data/extras/clean-stock-amis +48 -0
- data/extras/git-fix-permissions-hook +12 -0
- data/extras/gitlab-eks-helper.sh.erb +20 -0
- data/extras/image-generators/README.md +2 -0
- data/extras/image-generators/aws/centos6.yaml +18 -0
- data/extras/image-generators/aws/centos7-govcloud.yaml +24 -0
- data/extras/image-generators/aws/centos7.yaml +17 -0
- data/extras/image-generators/aws/rhel7.yaml +17 -0
- data/extras/image-generators/aws/win2k12.yaml +16 -0
- data/extras/image-generators/aws/win2k16.yaml +16 -0
- data/extras/image-generators/aws/windows.yaml +18 -0
- data/extras/image-generators/gcp/centos6.yaml +17 -0
- data/extras/lambda_waf_domain_blacklist.py +103 -0
- data/extras/platform_berksfile_base +50 -0
- data/extras/ruby_rpm/build.sh +17 -0
- data/extras/ruby_rpm/muby.spec +44 -0
- data/extras/vault_tools/README.md +6 -0
- data/extras/vault_tools/export_vaults.sh +3 -0
- data/extras/vault_tools/recreate_vaults.sh +5 -0
- data/extras/vault_tools/test_vaults.sh +5 -0
- data/install/README.md +8 -0
- data/install/cfn_create_mu_master.json +1034 -0
- data/install/chef-server.rb.erb +19 -0
- data/install/deprecated-bash-library.sh +1891 -0
- data/install/images/Usage.png +0 -0
- data/install/installer +71 -0
- data/install/jenkinskeys.rb +8 -0
- data/install/user-dot-murc.erb +14 -0
- data/modules/html.erb +19 -0
- data/modules/mommacat.ru +426 -0
- data/modules/mu/cleanup.rb +339 -0
- data/modules/mu/cloud.rb +1446 -0
- data/modules/mu/clouds/README.md +201 -0
- data/modules/mu/clouds/aws/alarm.rb +319 -0
- data/modules/mu/clouds/aws/cache_cluster.rb +1010 -0
- data/modules/mu/clouds/aws/collection.rb +373 -0
- data/modules/mu/clouds/aws/container_cluster.rb +667 -0
- data/modules/mu/clouds/aws/database.rb +1836 -0
- data/modules/mu/clouds/aws/dnszone.rb +911 -0
- data/modules/mu/clouds/aws/firewall_rule.rb +641 -0
- data/modules/mu/clouds/aws/folder.rb +92 -0
- data/modules/mu/clouds/aws/function.rb +349 -0
- data/modules/mu/clouds/aws/group.rb +251 -0
- data/modules/mu/clouds/aws/loadbalancer.rb +888 -0
- data/modules/mu/clouds/aws/log.rb +363 -0
- data/modules/mu/clouds/aws/msg_queue.rb +480 -0
- data/modules/mu/clouds/aws/notification.rb +139 -0
- data/modules/mu/clouds/aws/role.rb +656 -0
- data/modules/mu/clouds/aws/search_domain.rb +646 -0
- data/modules/mu/clouds/aws/server.rb +2294 -0
- data/modules/mu/clouds/aws/server_pool.rb +1388 -0
- data/modules/mu/clouds/aws/storage_pool.rb +495 -0
- data/modules/mu/clouds/aws/user.rb +382 -0
- data/modules/mu/clouds/aws/userdata/README.md +4 -0
- data/modules/mu/clouds/aws/userdata/linux.erb +179 -0
- data/modules/mu/clouds/aws/userdata/windows.erb +278 -0
- data/modules/mu/clouds/aws/vpc.rb +1943 -0
- data/modules/mu/clouds/aws.rb +1009 -0
- data/modules/mu/clouds/cloudformation/alarm.rb +146 -0
- data/modules/mu/clouds/cloudformation/cache_cluster.rb +167 -0
- data/modules/mu/clouds/cloudformation/collection.rb +117 -0
- data/modules/mu/clouds/cloudformation/database.rb +278 -0
- data/modules/mu/clouds/cloudformation/dnszone.rb +274 -0
- data/modules/mu/clouds/cloudformation/firewall_rule.rb +308 -0
- data/modules/mu/clouds/cloudformation/loadbalancer.rb +193 -0
- data/modules/mu/clouds/cloudformation/log.rb +170 -0
- data/modules/mu/clouds/cloudformation/server.rb +370 -0
- data/modules/mu/clouds/cloudformation/server_pool.rb +279 -0
- data/modules/mu/clouds/cloudformation/vpc.rb +322 -0
- data/modules/mu/clouds/cloudformation.rb +733 -0
- data/modules/mu/clouds/docker.rb +30 -0
- data/modules/mu/clouds/google/container_cluster.rb +290 -0
- data/modules/mu/clouds/google/database.rb +152 -0
- data/modules/mu/clouds/google/firewall_rule.rb +267 -0
- data/modules/mu/clouds/google/group.rb +164 -0
- data/modules/mu/clouds/google/loadbalancer.rb +479 -0
- data/modules/mu/clouds/google/server.rb +1510 -0
- data/modules/mu/clouds/google/server_pool.rb +274 -0
- data/modules/mu/clouds/google/user.rb +266 -0
- data/modules/mu/clouds/google/userdata/README.md +4 -0
- data/modules/mu/clouds/google/userdata/linux.erb +137 -0
- data/modules/mu/clouds/google/userdata/windows.erb +275 -0
- data/modules/mu/clouds/google/vpc.rb +890 -0
- data/modules/mu/clouds/google.rb +811 -0
- data/modules/mu/config/README.md +11 -0
- data/modules/mu/config/alarm.rb +271 -0
- data/modules/mu/config/cache_cluster.rb +172 -0
- data/modules/mu/config/collection.rb +87 -0
- data/modules/mu/config/container_cluster.rb +103 -0
- data/modules/mu/config/container_cluster.yml +36 -0
- data/modules/mu/config/database.rb +458 -0
- data/modules/mu/config/database.yml +26 -0
- data/modules/mu/config/dnszone.rb +327 -0
- data/modules/mu/config/firewall_rule.rb +118 -0
- data/modules/mu/config/folder.rb +70 -0
- data/modules/mu/config/function.rb +140 -0
- data/modules/mu/config/group.rb +64 -0
- data/modules/mu/config/loadbalancer.rb +482 -0
- data/modules/mu/config/log.rb +47 -0
- data/modules/mu/config/log.yml +6 -0
- data/modules/mu/config/msg_queue.rb +47 -0
- data/modules/mu/config/msg_queue.yml +9 -0
- data/modules/mu/config/notification.rb +44 -0
- data/modules/mu/config/project.rb +71 -0
- data/modules/mu/config/role.rb +102 -0
- data/modules/mu/config/search_domain.rb +61 -0
- data/modules/mu/config/search_domain.yml +25 -0
- data/modules/mu/config/server.rb +587 -0
- data/modules/mu/config/server.yml +8 -0
- data/modules/mu/config/server_pool.rb +216 -0
- data/modules/mu/config/server_pool.yml +71 -0
- data/modules/mu/config/storage_pool.rb +145 -0
- data/modules/mu/config/user.rb +78 -0
- data/modules/mu/config/vpc.rb +743 -0
- data/modules/mu/config/vpc.yml +6 -0
- data/modules/mu/config.rb +2000 -0
- data/modules/mu/defaults/README.md +2 -0
- data/modules/mu/defaults/amazon_images.yaml +121 -0
- data/modules/mu/defaults/google_images.yaml +16 -0
- data/modules/mu/deploy.rb +686 -0
- data/modules/mu/groomer.rb +123 -0
- data/modules/mu/groomers/README.md +58 -0
- data/modules/mu/groomers/chef.rb +1024 -0
- data/modules/mu/kittens.rb +11319 -0
- data/modules/mu/logger.rb +208 -0
- data/modules/mu/master/README.md +27 -0
- data/modules/mu/master/chef.rb +471 -0
- data/modules/mu/master/ldap.rb +1005 -0
- data/modules/mu/master.rb +415 -0
- data/modules/mu/mommacat.rb +2703 -0
- data/modules/mu-load-config.rb +1 -0
- data/modules/mu.rb +724 -0
- data/modules/scratchpad.erb +1 -0
- data/modules/tests/super_complex_bok.yml +41 -0
- data/modules/tests/super_simple_bok.yml +40 -0
- data/mu.gemspec +62 -0
- data/roles/demo-dbservice-configure.json +19 -0
- data/roles/demo-portal-configure.json +19 -0
- data/roles/mu-master-jenkins.json +24 -0
- data/roles/mu-master-nagios-only.json +13 -0
- data/roles/mu-master.json +12 -0
- data/roles/mu-node.json +19 -0
- data/roles/mu-splunk-server.json +13 -0
- data/roles/mu-splunk.json +13 -0
- data/test/clean_up.py +25 -0
- data/test/demo-test-profile/README.md +3 -0
- data/test/demo-test-profile/controls/flask.rb +84 -0
- data/test/demo-test-profile/inspec.lock +7 -0
- data/test/demo-test-profile/inspec.yml +11 -0
- data/test/etco-test-profile/README.md +3 -0
- data/test/etco-test-profile/controls/all-in-one.rb +182 -0
- data/test/etco-test-profile/inspec.lock +7 -0
- data/test/etco-test-profile/inspec.yml +11 -0
- data/test/exec_inspec.py +246 -0
- data/test/exec_mu_install.py +241 -0
- data/test/exec_retry.py +44 -0
- data/test/mu-master-test/README.md +3 -0
- data/test/mu-master-test/controls/all_in_one.rb +557 -0
- data/test/mu-master-test/inspec.lock +3 -0
- data/test/mu-master-test/inspec.yml +11 -0
- data/test/mu-tools-test/README.md +3 -0
- data/test/mu-tools-test/controls/base.rb +265 -0
- data/test/mu-tools-test/inspec.lock +3 -0
- data/test/mu-tools-test/inspec.yml +8 -0
- data/test/simple-server-php-test/README.md +3 -0
- data/test/simple-server-php-test/controls/apachephp.rb +25 -0
- data/test/simple-server-php-test/controls/example.rb +19 -0
- data/test/simple-server-php-test/inspec.lock +7 -0
- data/test/simple-server-php-test/inspec.yml +12 -0
- data/test/simple-server-rails-test/README.md +3 -0
- data/test/simple-server-rails-test/controls/rails.rb +188 -0
- data/test/simple-server-rails-test/inspec.lock +7 -0
- data/test/simple-server-rails-test/inspec.yml +11 -0
- data/test/simple-windows-test/README.md +3 -0
- data/test/simple-windows-test/controls/windows.rb +20 -0
- data/test/simple-windows-test/inspec.lock +7 -0
- data/test/simple-windows-test/inspec.yml +11 -0
- data/test/smoke_test.rb +75 -0
- data/test/wordpress-test/README.md +3 -0
- data/test/wordpress-test/controls/wordpress.rb +97 -0
- data/test/wordpress-test/inspec.lock +7 -0
- data/test/wordpress-test/inspec.yml +11 -0
- 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
|