cloud-mu 3.5.0 → 3.6.3

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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +5 -2
  3. data/Berksfile.lock +135 -0
  4. data/ansible/roles/mu-base/README.md +33 -0
  5. data/ansible/roles/mu-base/defaults/main.yml +2 -0
  6. data/ansible/roles/mu-base/files/check_apm.cfg +1 -0
  7. data/ansible/roles/mu-base/files/check_apm.sh +18 -0
  8. data/ansible/roles/mu-base/files/check_disk.cfg +1 -0
  9. data/ansible/roles/mu-base/files/check_elastic_shards.cfg +1 -0
  10. data/ansible/roles/mu-base/files/check_elastic_shards.sh +12 -0
  11. data/ansible/roles/mu-base/files/check_logstash.cfg +1 -0
  12. data/ansible/roles/mu-base/files/check_logstash.sh +14 -0
  13. data/ansible/roles/mu-base/files/check_mem.cfg +1 -0
  14. data/ansible/roles/mu-base/files/check_updates.cfg +1 -0
  15. data/ansible/roles/mu-base/files/logrotate.conf +35 -0
  16. data/ansible/roles/mu-base/files/nrpe-apm-sudo +1 -0
  17. data/ansible/roles/mu-base/files/nrpe-elasticshards-sudo +2 -0
  18. data/ansible/roles/mu-base/handlers/main.yml +5 -0
  19. data/ansible/roles/mu-base/meta/main.yml +53 -0
  20. data/ansible/roles/mu-base/tasks/main.yml +113 -0
  21. data/ansible/roles/mu-base/templates/nrpe.cfg.j2 +231 -0
  22. data/ansible/roles/mu-base/tests/inventory +2 -0
  23. data/ansible/roles/mu-base/tests/test.yml +5 -0
  24. data/ansible/roles/mu-base/vars/main.yml +1 -0
  25. data/ansible/roles/mu-compliance/README.md +33 -0
  26. data/ansible/roles/mu-compliance/defaults/main.yml +2 -0
  27. data/ansible/roles/mu-compliance/files/U_MS_Windows_Server_2016_V2R1_STIG_SCAP_1-2_Benchmark.xml +15674 -0
  28. data/ansible/roles/mu-compliance/files/U_MS_Windows_Server_2019_V2R1_STIG_SCAP_1-2_Benchmark.xml +17553 -0
  29. data/ansible/roles/mu-compliance/handlers/main.yml +2 -0
  30. data/ansible/roles/mu-compliance/meta/main.yml +53 -0
  31. data/ansible/roles/mu-compliance/tasks/main.yml +45 -0
  32. data/ansible/roles/mu-compliance/tests/inventory +2 -0
  33. data/ansible/roles/mu-compliance/tests/test.yml +5 -0
  34. data/ansible/roles/mu-compliance/vars/main.yml +4 -0
  35. data/ansible/roles/mu-elastic/README.md +51 -0
  36. data/ansible/roles/mu-elastic/defaults/main.yml +2 -0
  37. data/ansible/roles/mu-elastic/files/jvm.options +93 -0
  38. data/ansible/roles/mu-elastic/handlers/main.yml +10 -0
  39. data/ansible/roles/mu-elastic/meta/main.yml +52 -0
  40. data/ansible/roles/mu-elastic/tasks/main.yml +186 -0
  41. data/ansible/roles/mu-elastic/templates/elasticsearch.yml.j2 +110 -0
  42. data/ansible/roles/mu-elastic/templates/kibana.yml.j2 +131 -0
  43. data/ansible/roles/mu-elastic/templates/password_set.expect.j2 +19 -0
  44. data/ansible/roles/mu-elastic/tests/inventory +2 -0
  45. data/ansible/roles/mu-elastic/tests/test.yml +5 -0
  46. data/ansible/roles/mu-elastic/vars/main.yml +2 -0
  47. data/ansible/roles/mu-logstash/README.md +51 -0
  48. data/ansible/roles/mu-logstash/defaults/main.yml +2 -0
  49. data/ansible/roles/mu-logstash/files/02-beats-input.conf +5 -0
  50. data/ansible/roles/mu-logstash/files/10-rails-filter.conf +16 -0
  51. data/ansible/roles/mu-logstash/files/jvm.options +84 -0
  52. data/ansible/roles/mu-logstash/files/logstash.yml +304 -0
  53. data/ansible/roles/mu-logstash/handlers/main.yml +20 -0
  54. data/ansible/roles/mu-logstash/meta/main.yml +52 -0
  55. data/ansible/roles/mu-logstash/tasks/main.yml +254 -0
  56. data/ansible/roles/mu-logstash/templates/20-cloudtrail.conf.j2 +28 -0
  57. data/ansible/roles/mu-logstash/templates/30-elasticsearch-output.conf.j2 +19 -0
  58. data/ansible/roles/mu-logstash/templates/apm-server.yml.j2 +33 -0
  59. data/ansible/roles/mu-logstash/templates/heartbeat.yml.j2 +29 -0
  60. data/ansible/roles/mu-logstash/templates/nginx/apm.conf.j2 +25 -0
  61. data/ansible/roles/mu-logstash/templates/nginx/default.conf.j2 +56 -0
  62. data/ansible/roles/mu-logstash/templates/nginx/elastic.conf.j2 +27 -0
  63. data/ansible/roles/mu-logstash/tests/inventory +2 -0
  64. data/ansible/roles/mu-logstash/tests/test.yml +5 -0
  65. data/ansible/roles/mu-logstash/vars/main.yml +2 -0
  66. data/ansible/roles/mu-rdp/README.md +33 -0
  67. data/ansible/roles/mu-rdp/meta/main.yml +53 -0
  68. data/ansible/roles/mu-rdp/tasks/main.yml +9 -0
  69. data/ansible/roles/mu-rdp/tests/inventory +2 -0
  70. data/ansible/roles/mu-rdp/tests/test.yml +5 -0
  71. data/ansible/roles/mu-windows/tasks/main.yml +3 -0
  72. data/bin/mu-ansible-secret +1 -1
  73. data/bin/mu-aws-setup +4 -3
  74. data/bin/mu-azure-setup +5 -5
  75. data/bin/mu-configure +25 -17
  76. data/bin/mu-firewall-allow-clients +1 -0
  77. data/bin/mu-gcp-setup +3 -3
  78. data/bin/mu-load-config.rb +1 -0
  79. data/bin/mu-node-manage +66 -33
  80. data/bin/mu-self-update +2 -2
  81. data/bin/mu-upload-chef-artifacts +6 -1
  82. data/bin/mu-user-manage +1 -1
  83. data/cloud-mu.gemspec +25 -23
  84. data/cookbooks/firewall/CHANGELOG.md +417 -224
  85. data/cookbooks/firewall/LICENSE +202 -0
  86. data/cookbooks/firewall/README.md +153 -126
  87. data/cookbooks/firewall/TODO.md +6 -0
  88. data/cookbooks/firewall/attributes/firewalld.rb +7 -0
  89. data/cookbooks/firewall/attributes/iptables.rb +3 -3
  90. data/cookbooks/firewall/chefignore +115 -0
  91. data/cookbooks/firewall/libraries/helpers.rb +5 -0
  92. data/cookbooks/firewall/libraries/helpers_firewalld.rb +1 -1
  93. data/cookbooks/firewall/libraries/helpers_firewalld_dbus.rb +72 -0
  94. data/cookbooks/firewall/libraries/helpers_iptables.rb +3 -3
  95. data/cookbooks/firewall/libraries/helpers_nftables.rb +170 -0
  96. data/cookbooks/firewall/libraries/helpers_ufw.rb +7 -0
  97. data/cookbooks/firewall/libraries/helpers_windows.rb +8 -9
  98. data/cookbooks/firewall/libraries/provider_firewall_firewalld.rb +9 -9
  99. data/cookbooks/firewall/libraries/provider_firewall_iptables.rb +7 -7
  100. data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu.rb +12 -8
  101. data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu1404.rb +13 -9
  102. data/cookbooks/firewall/libraries/provider_firewall_rule.rb +1 -1
  103. data/cookbooks/firewall/libraries/provider_firewall_ufw.rb +5 -5
  104. data/cookbooks/firewall/libraries/provider_firewall_windows.rb +4 -4
  105. data/cookbooks/firewall/libraries/resource_firewall_rule.rb +3 -3
  106. data/cookbooks/firewall/metadata.json +40 -1
  107. data/cookbooks/firewall/metadata.rb +15 -0
  108. data/cookbooks/firewall/recipes/default.rb +7 -7
  109. data/cookbooks/firewall/recipes/disable_firewall.rb +1 -1
  110. data/cookbooks/firewall/recipes/firewalld.rb +87 -0
  111. data/cookbooks/firewall/renovate.json +18 -0
  112. data/cookbooks/firewall/resources/firewalld.rb +28 -0
  113. data/cookbooks/firewall/resources/firewalld_config.rb +39 -0
  114. data/cookbooks/firewall/resources/firewalld_helpers.rb +106 -0
  115. data/cookbooks/firewall/resources/firewalld_icmptype.rb +88 -0
  116. data/cookbooks/firewall/resources/firewalld_ipset.rb +104 -0
  117. data/cookbooks/firewall/resources/firewalld_policy.rb +115 -0
  118. data/cookbooks/firewall/resources/firewalld_service.rb +98 -0
  119. data/cookbooks/firewall/resources/firewalld_zone.rb +118 -0
  120. data/cookbooks/firewall/resources/nftables.rb +71 -0
  121. data/cookbooks/firewall/resources/nftables_rule.rb +113 -0
  122. data/cookbooks/mu-activedirectory/Berksfile +1 -1
  123. data/cookbooks/mu-activedirectory/metadata.rb +1 -1
  124. data/cookbooks/mu-firewall/metadata.rb +2 -2
  125. data/cookbooks/mu-master/Berksfile +4 -3
  126. data/cookbooks/mu-master/attributes/default.rb +5 -2
  127. data/cookbooks/mu-master/files/default/check_elastic.sh +761 -0
  128. data/cookbooks/mu-master/files/default/check_kibana.rb +45 -0
  129. data/cookbooks/mu-master/libraries/mu.rb +24 -0
  130. data/cookbooks/mu-master/metadata.rb +5 -5
  131. data/cookbooks/mu-master/recipes/default.rb +31 -20
  132. data/cookbooks/mu-master/recipes/firewall-holes.rb +5 -0
  133. data/cookbooks/mu-master/recipes/init.rb +58 -19
  134. data/cookbooks/mu-master/recipes/update_nagios_only.rb +251 -178
  135. data/cookbooks/mu-master/templates/default/nagios.conf.erb +5 -11
  136. data/cookbooks/mu-master/templates/default/web_app.conf.erb +3 -0
  137. data/cookbooks/mu-php54/Berksfile +1 -1
  138. data/cookbooks/mu-php54/metadata.rb +2 -2
  139. data/cookbooks/mu-tools/Berksfile +2 -3
  140. data/cookbooks/mu-tools/attributes/default.rb +3 -4
  141. data/cookbooks/mu-tools/files/amazon/etc/bashrc +90 -0
  142. data/cookbooks/mu-tools/files/amazon/etc/login.defs +292 -0
  143. data/cookbooks/mu-tools/files/amazon/etc/profile +77 -0
  144. data/cookbooks/mu-tools/files/amazon/etc/security/limits.conf +63 -0
  145. data/cookbooks/mu-tools/files/amazon/etc/sysconfig/init +19 -0
  146. data/cookbooks/mu-tools/files/amazon/etc/sysctl.conf +82 -0
  147. data/cookbooks/mu-tools/files/amazon-2023/etc/login.defs +294 -0
  148. data/cookbooks/mu-tools/files/default/logrotate.conf +35 -0
  149. data/cookbooks/mu-tools/files/default/nrpe_conf_d.pp +0 -0
  150. data/cookbooks/mu-tools/libraries/helper.rb +21 -9
  151. data/cookbooks/mu-tools/metadata.rb +4 -4
  152. data/cookbooks/mu-tools/recipes/apply_security.rb +3 -2
  153. data/cookbooks/mu-tools/recipes/aws_api.rb +23 -5
  154. data/cookbooks/mu-tools/recipes/base_repositories.rb +4 -1
  155. data/cookbooks/mu-tools/recipes/gcloud.rb +56 -56
  156. data/cookbooks/mu-tools/recipes/nagios.rb +1 -1
  157. data/cookbooks/mu-tools/recipes/nrpe.rb +20 -2
  158. data/cookbooks/mu-tools/recipes/rsyslog.rb +12 -1
  159. data/cookbooks/mu-tools/recipes/set_local_fw.rb +1 -1
  160. data/data_bags/nagios_services/apm_backend_connect.json +5 -0
  161. data/data_bags/nagios_services/apm_listen.json +5 -0
  162. data/data_bags/nagios_services/elastic_shards.json +5 -0
  163. data/data_bags/nagios_services/logstash.json +5 -0
  164. data/data_bags/nagios_services/rhel7_updates.json +8 -0
  165. data/extras/image-generators/AWS/centos7.yaml +1 -0
  166. data/extras/image-generators/AWS/rhel7.yaml +21 -0
  167. data/extras/image-generators/AWS/win2k12r2.yaml +1 -0
  168. data/extras/image-generators/AWS/win2k16.yaml +1 -0
  169. data/extras/image-generators/AWS/win2k19.yaml +1 -0
  170. data/extras/list-stock-amis +0 -0
  171. data/extras/ruby_rpm/muby.spec +8 -5
  172. data/extras/vault_tools/export_vaults.sh +1 -1
  173. data/extras/vault_tools/recreate_vaults.sh +0 -0
  174. data/extras/vault_tools/test_vaults.sh +0 -0
  175. data/install/deprecated-bash-library.sh +1 -1
  176. data/install/installer +4 -2
  177. data/modules/mommacat.ru +3 -1
  178. data/modules/mu/adoption.rb +1 -1
  179. data/modules/mu/cloud/dnszone.rb +2 -2
  180. data/modules/mu/cloud/machine_images.rb +26 -25
  181. data/modules/mu/cloud/resource_base.rb +213 -182
  182. data/modules/mu/cloud/server_pool.rb +1 -1
  183. data/modules/mu/cloud/ssh_sessions.rb +7 -5
  184. data/modules/mu/cloud/wrappers.rb +2 -2
  185. data/modules/mu/cloud.rb +1 -1
  186. data/modules/mu/config/bucket.rb +1 -1
  187. data/modules/mu/config/function.rb +6 -1
  188. data/modules/mu/config/loadbalancer.rb +24 -2
  189. data/modules/mu/config/ref.rb +12 -0
  190. data/modules/mu/config/role.rb +1 -1
  191. data/modules/mu/config/schema_helpers.rb +42 -9
  192. data/modules/mu/config/server.rb +43 -27
  193. data/modules/mu/config/tail.rb +19 -10
  194. data/modules/mu/config.rb +6 -5
  195. data/modules/mu/defaults/AWS.yaml +78 -114
  196. data/modules/mu/deploy.rb +9 -2
  197. data/modules/mu/groomer.rb +12 -4
  198. data/modules/mu/groomers/ansible.rb +104 -20
  199. data/modules/mu/groomers/chef.rb +15 -6
  200. data/modules/mu/master.rb +9 -4
  201. data/modules/mu/mommacat/daemon.rb +4 -2
  202. data/modules/mu/mommacat/naming.rb +1 -2
  203. data/modules/mu/mommacat/storage.rb +7 -2
  204. data/modules/mu/mommacat.rb +33 -6
  205. data/modules/mu/providers/aws/database.rb +161 -8
  206. data/modules/mu/providers/aws/dnszone.rb +11 -6
  207. data/modules/mu/providers/aws/endpoint.rb +81 -6
  208. data/modules/mu/providers/aws/firewall_rule.rb +254 -172
  209. data/modules/mu/providers/aws/function.rb +65 -3
  210. data/modules/mu/providers/aws/loadbalancer.rb +39 -28
  211. data/modules/mu/providers/aws/log.rb +2 -1
  212. data/modules/mu/providers/aws/role.rb +25 -7
  213. data/modules/mu/providers/aws/server.rb +36 -12
  214. data/modules/mu/providers/aws/server_pool.rb +237 -127
  215. data/modules/mu/providers/aws/storage_pool.rb +7 -1
  216. data/modules/mu/providers/aws/user.rb +1 -1
  217. data/modules/mu/providers/aws/userdata/linux.erb +6 -2
  218. data/modules/mu/providers/aws/userdata/windows.erb +7 -5
  219. data/modules/mu/providers/aws/vpc.rb +49 -25
  220. data/modules/mu/providers/aws.rb +13 -8
  221. data/modules/mu/providers/azure/container_cluster.rb +1 -1
  222. data/modules/mu/providers/azure/loadbalancer.rb +2 -2
  223. data/modules/mu/providers/azure/server.rb +5 -2
  224. data/modules/mu/providers/azure/userdata/linux.erb +1 -1
  225. data/modules/mu/providers/azure.rb +11 -8
  226. data/modules/mu/providers/cloudformation/dnszone.rb +1 -1
  227. data/modules/mu/providers/google/container_cluster.rb +15 -2
  228. data/modules/mu/providers/google/folder.rb +2 -1
  229. data/modules/mu/providers/google/function.rb +130 -4
  230. data/modules/mu/providers/google/habitat.rb +2 -1
  231. data/modules/mu/providers/google/loadbalancer.rb +407 -160
  232. data/modules/mu/providers/google/role.rb +16 -3
  233. data/modules/mu/providers/google/server.rb +5 -1
  234. data/modules/mu/providers/google/user.rb +25 -18
  235. data/modules/mu/providers/google/userdata/linux.erb +1 -1
  236. data/modules/mu/providers/google/vpc.rb +53 -7
  237. data/modules/mu/providers/google.rb +39 -39
  238. data/modules/mu.rb +8 -8
  239. data/modules/tests/elk.yaml +46 -0
  240. data/test/mu-master-test/controls/all_in_one.rb +1 -1
  241. metadata +207 -112
  242. data/cookbooks/firewall/CONTRIBUTING.md +0 -2
  243. data/cookbooks/firewall/MAINTAINERS.md +0 -19
  244. data/cookbooks/firewall/libraries/matchers.rb +0 -30
  245. data/extras/image-generators/AWS/rhel71.yaml +0 -17
@@ -0,0 +1,90 @@
1
+ # /etc/bashrc
2
+
3
+ # System wide functions and aliases
4
+ # Environment stuff goes in /etc/profile
5
+
6
+ # It's NOT a good idea to change this file unless you know what you
7
+ # are doing. It's much better to create a custom.sh shell script in
8
+ # /etc/profile.d/ to make custom changes to your environment, as this
9
+ # will prevent the need for merging in future updates.
10
+
11
+ # Prevent doublesourcing
12
+ if [ -z "$BASHRCSOURCED" ]; then
13
+ BASHRCSOURCED="Y"
14
+
15
+ # are we an interactive shell?
16
+ if [ "$PS1" ]; then
17
+ if [ -z "$PROMPT_COMMAND" ]; then
18
+ case $TERM in
19
+ xterm*|vte*)
20
+ if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
21
+ PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
22
+ elif [ "${VTE_VERSION:-0}" -ge 3405 ]; then
23
+ PROMPT_COMMAND="__vte_prompt_command"
24
+ else
25
+ PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
26
+ fi
27
+ ;;
28
+ screen*)
29
+ if [ -e /etc/sysconfig/bash-prompt-screen ]; then
30
+ PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
31
+ else
32
+ PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
33
+ fi
34
+ ;;
35
+ *)
36
+ [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
37
+ ;;
38
+ esac
39
+ fi
40
+ # Turn on parallel history
41
+ shopt -s histappend
42
+ history -a
43
+ # Turn on checkwinsize
44
+ shopt -s checkwinsize
45
+ [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
46
+ # You might want to have e.g. tty in prompt (e.g. more virtual machines)
47
+ # and console windows
48
+ # If you want to do so, just add e.g.
49
+ # if [ "$PS1" ]; then
50
+ # PS1="[\u@\h:\l \W]\\$ "
51
+ # fi
52
+ # to your custom modification shell script in /etc/profile.d/ directory
53
+ fi
54
+
55
+ if ! shopt -q login_shell ; then # We're not a login shell
56
+ # Need to redefine pathmunge, it gets undefined at the end of /etc/profile
57
+ pathmunge () {
58
+ case ":${PATH}:" in
59
+ *:"$1":*)
60
+ ;;
61
+ *)
62
+ if [ "$2" = "after" ] ; then
63
+ PATH=$PATH:$1
64
+ else
65
+ PATH=$1:$PATH
66
+ fi
67
+ esac
68
+ }
69
+
70
+ umask 077
71
+
72
+ SHELL=/bin/bash
73
+ # Only display echos from profile.d scripts if we are no login shell
74
+ # and interactive - otherwise just process them to set envvars
75
+ for i in /etc/profile.d/*.sh; do
76
+ if [ -r "$i" ]; then
77
+ if [ "$PS1" ]; then
78
+ . "$i"
79
+ else
80
+ . "$i" >/dev/null
81
+ fi
82
+ fi
83
+ done
84
+
85
+ unset i
86
+ unset -f pathmunge
87
+ fi
88
+
89
+ fi
90
+ # vim:ts=4:sw=4
@@ -0,0 +1,292 @@
1
+ # Please note that the parameters in this configuration file control the
2
+ # tools uses the PAM mechanism, and the utilities that use PAM (such as the
3
+ # passwd command) should therefore be configured elsewhere. Refer to
4
+ # /etc/pam.d/system-auth for more information.
5
+ #
6
+
7
+ #
8
+ # Delay in seconds before being allowed another attempt after a login failure
9
+ # Note: When PAM is used, some modules may enforce a minimum delay (e.g.
10
+ # pam_unix(8) enforces a 2s delay)
11
+ #
12
+ #FAIL_DELAY 3
13
+
14
+ # Currently FAILLOG_ENAB is not supported
15
+
16
+ #
17
+ # Enable display of unknown usernames when login(1) failures are recorded.
18
+ #
19
+ #LOG_UNKFAIL_ENAB no
20
+
21
+ # Currently LOG_OK_LOGINS is not supported
22
+
23
+ # Currently LASTLOG_ENAB is not supported
24
+
25
+ #
26
+ # Limit the highest user ID number for which the lastlog entries should
27
+ # be updated.
28
+ #
29
+ # No LASTLOG_UID_MAX means that there is no user ID limit for writing
30
+ # lastlog entries.
31
+ #
32
+ #LASTLOG_UID_MAX
33
+
34
+ # Currently MAIL_CHECK_ENAB is not supported
35
+
36
+ # Currently OBSCURE_CHECKS_ENAB is not supported
37
+
38
+ # Currently PORTTIME_CHECKS_ENAB is not supported
39
+
40
+ # Currently QUOTAS_ENAB is not supported
41
+
42
+ # Currently SYSLOG_SU_ENAB is not supported
43
+
44
+ #
45
+ # Enable "syslog" logging of newgrp(1) and sg(1) activity.
46
+ #
47
+ #SYSLOG_SG_ENAB yes
48
+
49
+ # Currently CONSOLE is not supported
50
+
51
+ # Currently SULOG_FILE is not supported
52
+
53
+ # Currently MOTD_FILE is not supported
54
+
55
+ # Currently ISSUE_FILE is not supported
56
+
57
+ # Currently TTYTYPE_FILE is not supported
58
+
59
+ # Currently FTMP_FILE is not supported
60
+
61
+ # Currently NOLOGINS_FILE is not supported
62
+
63
+ # Currently SU_NAME is not supported
64
+
65
+ # *REQUIRED*
66
+ # Directory where mailboxes reside, _or_ name of file, relative to the
67
+ # home directory. If you _do_ define both, MAIL_DIR takes precedence.
68
+ #
69
+ MAIL_DIR /var/spool/mail
70
+ #MAIL_FILE .mail
71
+
72
+ #
73
+ # If defined, file which inhibits all the usual chatter during the login
74
+ # sequence. If a full pathname, then hushed mode will be enabled if the
75
+ # user's name or shell are found in the file. If not a full pathname, then
76
+ # hushed mode will be enabled if the file exists in the user's home directory.
77
+ #
78
+ #HUSHLOGIN_FILE .hushlogin
79
+ #HUSHLOGIN_FILE /etc/hushlogins
80
+
81
+ # Currently ENV_TZ is not supported
82
+
83
+ # Currently ENV_HZ is not supported
84
+
85
+ #
86
+ # The default PATH settings, for superuser and normal users.
87
+ #
88
+ # (they are minimal, add the rest in the shell startup files)
89
+ #ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
90
+ #ENV_PATH PATH=/bin:/usr/bin
91
+
92
+ #
93
+ # Terminal permissions
94
+ #
95
+ # TTYGROUP Login tty will be assigned this group ownership.
96
+ # TTYPERM Login tty will be set to this permission.
97
+ #
98
+ # If you have a write(1) program which is "setgid" to a special group
99
+ # which owns the terminals, define TTYGROUP as the number of such group
100
+ # and TTYPERM as 0620. Otherwise leave TTYGROUP commented out and
101
+ # set TTYPERM to either 622 or 600.
102
+ #
103
+ #TTYGROUP tty
104
+ #TTYPERM 0600
105
+
106
+ # Currently ERASECHAR, KILLCHAR and ULIMIT are not supported
107
+
108
+ # Default initial "umask" value used by login(1) on non-PAM enabled systems.
109
+ # Default "umask" value for pam_umask(8) on PAM enabled systems.
110
+ # UMASK is also used by useradd(8) and newusers(8) to set the mode for new
111
+ # home directories if HOME_MODE is not set.
112
+ # 022 is the default value, but 027, or even 077, could be considered
113
+ # for increased privacy. There is no One True Answer here: each sysadmin
114
+ # must make up their mind.
115
+ UMASK 077
116
+
117
+ # HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
118
+ # home directories.
119
+ # If HOME_MODE is not set, the value of UMASK is used to create the mode.
120
+ HOME_MODE 0700
121
+
122
+ # Password aging controls:
123
+ #
124
+ # PASS_MAX_DAYS Maximum number of days a password may be used.
125
+ # PASS_MIN_DAYS Minimum number of days allowed between password changes.
126
+ # PASS_MIN_LEN Minimum acceptable password length.
127
+ # PASS_WARN_AGE Number of days warning given before a password expires.
128
+ #
129
+ PASS_MAX_DAYS 90
130
+ PASS_MIN_DAYS 7
131
+ PASS_MIN_LEN 12
132
+ PASS_WARN_AGE 14
133
+
134
+ # Currently PASS_MIN_LEN is not supported
135
+
136
+ # Currently SU_WHEEL_ONLY is not supported
137
+
138
+ # Currently CRACKLIB_DICTPATH is not supported
139
+
140
+ #
141
+ # Min/max values for automatic uid selection in useradd(8)
142
+ #
143
+ UID_MIN 1000
144
+ UID_MAX 60000
145
+ # System accounts
146
+ SYS_UID_MIN 201
147
+ SYS_UID_MAX 999
148
+ # Extra per user uids
149
+ SUB_UID_MIN 100000
150
+ SUB_UID_MAX 600100000
151
+ SUB_UID_COUNT 65536
152
+
153
+ #
154
+ # Min/max values for automatic gid selection in groupadd(8)
155
+ #
156
+ GID_MIN 1000
157
+ GID_MAX 60000
158
+ # System accounts
159
+ SYS_GID_MIN 201
160
+ SYS_GID_MAX 999
161
+ # Extra per user group ids
162
+ SUB_GID_MIN 100000
163
+ SUB_GID_MAX 600100000
164
+ SUB_GID_COUNT 65536
165
+
166
+ #
167
+ # Max number of login(1) retries if password is bad
168
+ #
169
+ #LOGIN_RETRIES 3
170
+
171
+ #
172
+ # Max time in seconds for login(1)
173
+ #
174
+ #LOGIN_TIMEOUT 60
175
+
176
+ # Currently PASS_CHANGE_TRIES is not supported
177
+
178
+ # Currently PASS_ALWAYS_WARN is not supported
179
+
180
+ # Currently PASS_MAX_LEN is not supported
181
+
182
+ # Currently CHFN_AUTH is not supported
183
+
184
+ #
185
+ # Which fields may be changed by regular users using chfn(1) - use
186
+ # any combination of letters "frwh" (full name, room number, work
187
+ # phone, home phone). If not defined, no changes are allowed.
188
+ # For backward compatibility, "yes" = "rwh" and "no" = "frwh".
189
+ #
190
+ #CHFN_RESTRICT rwh
191
+
192
+ # Currently LOGIN_STRING is not supported
193
+
194
+ # Currently MD5_CRYPT_ENAB is not supported
195
+
196
+ #
197
+ # If set to MD5, MD5-based algorithm will be used for encrypting password
198
+ # If set to SHA256, SHA256-based algorithm will be used for encrypting password
199
+ # If set to SHA512, SHA512-based algorithm will be used for encrypting password
200
+ # If set to DES, DES-based algorithm will be used for encrypting password (default)
201
+ #
202
+ ENCRYPT_METHOD SHA512
203
+
204
+ #
205
+ # Only works if ENCRYPT_METHOD is set to SHA256 or SHA512.
206
+ #
207
+ # Define the number of SHA rounds.
208
+ # With a lot of rounds, it is more difficult to brute-force the password.
209
+ # However, more CPU resources will be needed to authenticate users if
210
+ # this value is increased.
211
+ #
212
+ # If not specified, the libc will choose the default number of rounds (5000).
213
+ # The values must be within the 1000-999999999 range.
214
+ #
215
+ #SHA_CRYPT_MAX_ROUNDS 5000
216
+
217
+ # Currently SHA_CRYPT_MIN_ROUNDS is not supported
218
+
219
+ #
220
+ # Only works if ENCRYPT_METHOD is set to BCRYPT.
221
+ #
222
+ # Define the number of BCRYPT rounds.
223
+ # With a lot of rounds, it is more difficult to brute-force the password.
224
+ # However, more CPU resources will be needed to authenticate users if
225
+ # this value is increased.
226
+ #
227
+ # If not specified, 13 rounds will be attempted.
228
+ # If only one of the MIN or MAX values is set, then this value will be used.
229
+ # If MIN > MAX, the highest value will be used.
230
+ #
231
+ #BCRYPT_MIN_ROUNDS 13
232
+ #BCRYPT_MAX_ROUNDS 31
233
+
234
+ #
235
+ # Only works if ENCRYPT_METHOD is set to YESCRYPT.
236
+ #
237
+ # Define the YESCRYPT cost factor.
238
+ # With a higher cost factor, it is more difficult to brute-force the password.
239
+ # However, more CPU time and more memory will be needed to authenticate users
240
+ # if this value is increased.
241
+ #
242
+ # If not specified, a cost factor of 5 will be used.
243
+ # The value must be within the 1-11 range.
244
+ #
245
+ #YESCRYPT_COST_FACTOR 5
246
+
247
+ # Currently CONSOLE_GROUPS is not supported
248
+
249
+ #
250
+ # Should login be allowed if we can't cd to the home directory?
251
+ # Default is yes.
252
+ #
253
+ #DEFAULT_HOME yes
254
+
255
+ # Currently ENVIRON_FILE is not supported
256
+
257
+ #
258
+ # If defined, this command is run when removing a user.
259
+ # It should remove any at/cron/print jobs etc. owned by
260
+ # the user to be removed (passed as the first argument).
261
+ #
262
+ #USERDEL_CMD /usr/sbin/userdel_local
263
+
264
+ #
265
+ # Enables userdel(8) to remove user groups if no members exist.
266
+ #
267
+ USERGROUPS_ENAB yes
268
+
269
+ #
270
+ # If set to a non-zero number, the shadow utilities will make sure that
271
+ # groups never have more than this number of users on one line.
272
+ # This permits to support split groups (groups split into multiple lines,
273
+ # with the same group ID, to avoid limitation of the line length in the
274
+ # group file).
275
+ #
276
+ # 0 is the default value and disables this feature.
277
+ #
278
+ #MAX_MEMBERS_PER_GROUP 0
279
+
280
+ #
281
+ # If useradd(8) should create home directories for users by default (non
282
+ # system users only).
283
+ # This option is overridden with the -M or -m flags on the useradd(8)
284
+ # command-line.
285
+ #
286
+ CREATE_HOME yes
287
+
288
+ #
289
+ # Force use shadow, even if shadow passwd & shadow group files are
290
+ # missing.
291
+ #
292
+ #FORCE_SHADOW yes
@@ -0,0 +1,77 @@
1
+ # /etc/profile
2
+
3
+ # System wide environment and startup programs, for login setup
4
+ # Functions and aliases go in /etc/bashrc
5
+
6
+ # It's NOT a good idea to change this file unless you know what you
7
+ # are doing. It's much better to create a custom.sh shell script in
8
+ # /etc/profile.d/ to make custom changes to your environment, as this
9
+ # will prevent the need for merging in future updates.
10
+
11
+ pathmunge () {
12
+ case ":${PATH}:" in
13
+ *:"$1":*)
14
+ ;;
15
+ *)
16
+ if [ "$2" = "after" ] ; then
17
+ PATH=$PATH:$1
18
+ else
19
+ PATH=$1:$PATH
20
+ fi
21
+ esac
22
+ }
23
+
24
+
25
+ if [ -x /usr/bin/id ]; then
26
+ if [ -z "$EUID" ]; then
27
+ # ksh workaround
28
+ EUID=`/usr/bin/id -u`
29
+ UID=`/usr/bin/id -ru`
30
+ fi
31
+ USER="`/usr/bin/id -un`"
32
+ LOGNAME=$USER
33
+ MAIL="/var/spool/mail/$USER"
34
+ fi
35
+
36
+ # Path manipulation
37
+ if [ "$EUID" = "0" ]; then
38
+ pathmunge /usr/sbin
39
+ pathmunge /usr/local/sbin
40
+ else
41
+ pathmunge /usr/local/sbin after
42
+ pathmunge /usr/sbin after
43
+ fi
44
+
45
+ HOSTNAME=`/usr/bin/hostnamectl --transient 2>/dev/null`
46
+ HISTSIZE=1000
47
+ if [ "$HISTCONTROL" = "ignorespace" ] ; then
48
+ export HISTCONTROL=ignoreboth
49
+ else
50
+ export HISTCONTROL=ignoredups
51
+ fi
52
+
53
+ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
54
+
55
+ for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
56
+ if [ -r "$i" ]; then
57
+ if [ "${-#*i}" != "$-" ]; then
58
+ . "$i"
59
+ else
60
+ . "$i" >/dev/null
61
+ fi
62
+ fi
63
+ done
64
+
65
+ unset i
66
+ unset -f pathmunge
67
+
68
+ umask 077
69
+
70
+ if [ -n "${BASH_VERSION-}" ] ; then
71
+ if [ -f /etc/bashrc ] ; then
72
+ # Bash login shells run only /etc/profile
73
+ # Bash non-login shells run only /etc/bashrc
74
+ # Check for double sourcing is done in /etc/bashrc.
75
+ . /etc/bashrc
76
+ fi
77
+ fi
@@ -0,0 +1,63 @@
1
+ # /etc/security/limits.conf
2
+ #
3
+ #This file sets the resource limits for the users logged in via PAM.
4
+ #It does not affect resource limits of the system services.
5
+ #
6
+ #Also note that configuration files in /etc/security/limits.d directory,
7
+ #which are read in alphabetical order, override the settings in this
8
+ #file in case the domain is the same or more specific.
9
+ #That means, for example, that setting a limit for wildcard domain here
10
+ #can be overridden with a wildcard setting in a config file in the
11
+ #subdirectory, but a user specific setting here can be overridden only
12
+ #with a user specific setting in the subdirectory.
13
+ #
14
+ #Each line describes a limit for a user in the form:
15
+ #
16
+ #<domain> <type> <item> <value>
17
+ #
18
+ #Where:
19
+ #<domain> can be:
20
+ # - a user name
21
+ # - a group name, with @group syntax
22
+ # - the wildcard *, for default entry
23
+ # - the wildcard %, can be also used with %group syntax,
24
+ # for maxlogin limit
25
+ #
26
+ #<type> can have the two values:
27
+ # - "soft" for enforcing the soft limits
28
+ # - "hard" for enforcing hard limits
29
+ #
30
+ #<item> can be one of the following:
31
+ # - core - limits the core file size (KB)
32
+ # - data - max data size (KB)
33
+ # - fsize - maximum filesize (KB)
34
+ # - memlock - max locked-in-memory address space (KB)
35
+ # - nofile - max number of open file descriptors
36
+ # - rss - max resident set size (KB)
37
+ # - stack - max stack size (KB)
38
+ # - cpu - max CPU time (MIN)
39
+ # - nproc - max number of processes
40
+ # - as - address space limit (KB)
41
+ # - maxlogins - max number of logins for this user
42
+ # - maxsyslogins - max number of logins on the system
43
+ # - priority - the priority to run user process with
44
+ # - locks - max number of file locks the user can hold
45
+ # - sigpending - max number of pending signals
46
+ # - msgqueue - max memory used by POSIX message queues (bytes)
47
+ # - nice - max nice priority allowed to raise to values: [-20, 19]
48
+ # - rtprio - max realtime priority
49
+ #
50
+ #<domain> <type> <item> <value>
51
+ #
52
+
53
+ #* soft core 0
54
+ #* hard rss 10000
55
+ #@student hard nproc 20
56
+ #@faculty soft nproc 20
57
+ #@faculty hard nproc 50
58
+ #ftp hard nproc 0
59
+ #@student - maxlogins 4
60
+
61
+ * hard core 0
62
+
63
+ # End of file
@@ -0,0 +1,19 @@
1
+ # color => new RH6.0 bootup
2
+ # verbose => old-style bootup
3
+ # anything else => new style bootup without ANSI colors or positioning
4
+ BOOTUP=color
5
+ # column to start "[ OK ]" label in
6
+ RES_COL=60
7
+ # terminal sequence to move to that column. You could change this
8
+ # to something like "tput hpa ${RES_COL}" if your terminal supports it
9
+ MOVE_TO_COL="echo -en \\033[${RES_COL}G"
10
+ # terminal sequence to set color to a 'success' color (currently: green)
11
+ SETCOLOR_SUCCESS="echo -en \\033[0;32m"
12
+ # terminal sequence to set color to a 'failure' color (currently: red)
13
+ SETCOLOR_FAILURE="echo -en \\033[0;31m"
14
+ # terminal sequence to set color to a 'warning' color (currently: yellow)
15
+ SETCOLOR_WARNING="echo -en \\033[0;33m"
16
+ # terminal sequence to reset to the default color.
17
+ SETCOLOR_NORMAL="echo -en \\033[0;39m"
18
+
19
+ umask 027
@@ -0,0 +1,82 @@
1
+ # Kernel sysctl configuration file for Red Hat Linux
2
+ #
3
+ # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
4
+ # sysctl.conf(5) for more details.
5
+
6
+ # Controls IP packet forwarding
7
+ net.ipv4.ip_forward = 0
8
+
9
+ # Controls source route verification
10
+ net.ipv4.conf.default.rp_filter = 1
11
+
12
+ # Do not accept source routing
13
+ net.ipv4.conf.default.accept_source_route = 0
14
+
15
+ # Controls the System Request debugging functionality of the kernel
16
+ kernel.sysrq = 0
17
+
18
+ # Controls whether core dumps will append the PID to the core filename.
19
+ # Useful for debugging multi-threaded applications.
20
+ kernel.core_uses_pid = 1
21
+
22
+ # Controls the use of TCP syncookies
23
+ net.ipv4.tcp_syncookies = 1
24
+
25
+ # Disable netfilter on bridges.
26
+ net.bridge.bridge-nf-call-ip6tables = 0
27
+ net.bridge.bridge-nf-call-iptables = 0
28
+ net.bridge.bridge-nf-call-arptables = 0
29
+
30
+ # Controls the default maxmimum size of a mesage queue
31
+ kernel.msgmnb = 65536
32
+
33
+ # Controls the maximum size of a message, in bytes
34
+ kernel.msgmax = 65536
35
+
36
+ # Controls the maximum shared segment size, in bytes
37
+ kernel.shmmax = 68719476736
38
+
39
+ # Controls the maximum number of shared memory segments, in pages
40
+ kernel.shmall = 4294967296
41
+ #
42
+ # CAP specific modifications
43
+ #
44
+ # 1.6.1 Restrict Core Dumps
45
+ fs.suid_dumpable = 0
46
+
47
+ # 4.1.2 Disable Send Packet Redirects
48
+ net.ipv4.conf.all.send_redirects = 0
49
+ net.ipv4.conf.default.send_redirects = 0
50
+
51
+ # 4.2.1 Disable Source Routed Packet Acceptance
52
+ net.ipv4.conf.all.accept_source_route = 0
53
+
54
+ # 4.2.2 Disable ICMP Redirect Acceptance
55
+ net.ipv4.conf.all.accept_redirects = 0
56
+ net.ipv4.conf.default.accept_redirects = 0
57
+
58
+ # 4.2.4 Log Suspicious Packets
59
+ net.ipv4.conf.all.log_martians=1
60
+ net.ipv4.conf.default.log_martians=1
61
+
62
+ # 4.2.5 Enable Ignore Broadcast Requests
63
+ net.ipv4.icmp_echo_ignore_broadcasts = 1
64
+
65
+ # 4.2.6 Enable Bad Error Message Protection
66
+ net.ipv4.icmp_ignore_bogus_error_responses = 1
67
+
68
+ # added security settings
69
+ net.ipv4.tcp_max_syn_backlog = 4096
70
+ net.ipv4.conf.all.rp_filter = 1
71
+ net.ipv4.conf.all.secure_redirects = 0
72
+ net.ipv4.conf.default.secure_redirects = 0
73
+ net.ipv4.icmp_echo_ignore_all = 0
74
+
75
+ # 4.4.1 Configure IPv6
76
+ net.ipv6.conf.all.accept_ra=0
77
+ net.ipv6.conf.default.accept_ra=0
78
+
79
+ #4.4.1.2 Disable IPv6 Redirect Acceptance
80
+ net.ipv6.conf.all.accept_redirects=0
81
+ net.ipv6.conf.default.accept_redirects=0
82
+