
Этот chef-поваренный рецепт (cookbook) предоставляет множество конфигураций, связанных с безопасностью, обеспечивая всестороннюю базовую защиту.
[][1]
[
][2]
Этот cookbook предоставляет множество конфигураций, связанных с безопасностью, обеспечивая всестороннюю базовую защиту.
Он настраивает:
pam и pam_limitsОн не будет:
['os-hardening']['components'][COMPONENT_NAME] — позволяет точно контролировать, какие компоненты должны выполняться через рецепт по умолчанию. Подробнее см. ниже['os-hardening']['desktop']['enable'] = false
true, если это настольная система, т.е. Xorg, KDE/GNOME/Unity и т.д.['os-hardening']['network']['forwarding'] = false
true, если этой системе требуется пересылка пакетов (например, маршрутизатор), иначе false['os-hardening']['network']['ipv6']['enable'] = false['os-hardening']['network']['arp']['restricted'] = true
true, если вы хотите ограничить поведение анонсирования и ответа на ARP, иначе false['os-hardening']['env']['extra_user_paths'] = []
добавьте дополнительные пути в переменную PATH пользователя (по умолчанию пусто).['os-hardening']['env']['umask'] = "027"['os-hardening']['env']['root_path'] = "/"
где смонтирован корневой раздел['os-hardening']['auth']['pw_max_age'] = 60
максимальный срок действия пароля['os-hardening']['auth']['pw_min_age'] = 7
минимальный срок действия пароля (до разрешения любого другого изменения пароля)['os-hardening']['auth']['pw_warn_age'] = 7
количество дней до истечения максимального срока действия пароля для предупреждения о предстоящем
изменении['os-hardening']['auth']['uid_min'] = 1000
нижняя граница UID, назначаемых useradd['os-hardening']['auth']['uid_max'] = 60000
верхняя граница UID, назначаемых useradd['os-hardening']['auth']['gid_min'] = 1000
нижняя граница GID, назначаемых groupadd['os-hardening']['auth']['gid_max'] = 60000
верхняя граница GID, назначаемых groupadd['os-hardening']['auth']['retries'] = 5
максимальное количество попыток аутентификации, прежде чем учетная запись будет заблокирована на некоторое время['os-hardening']['auth']['lockout_time'] = 600
время в секундах, которое должно пройти, если учетная запись была заблокирована из-за слишком большого количества неудачных попыток аутентификации['os-hardening']['auth']['timeout'] = 60
тайм-аут аутентификации в секундах, поэтому вход в систему будет завершен, если это время истечет['os-hardening']['auth']['allow_homeless'] = false
true, если разрешить вход пользователям без домашнего каталога['os-hardening']['auth']['pam']['passwdqc']['enable'] = true
true, если вы хотите использовать строгую проверку паролей в PAM с помощью passwdqc['os-hardening']['auth']['pam']['passwdqc']['options'] = "min=disabled,disabled,16,12,8"
установите любую строку параметров, которую вы хотите передать в passwdqc['os-hardening']['auth']['pam']['passwdqc']['template_cookbook'] = 'os-hardening'
установите имя cookbook, из которого берется шаблон для файла /usr/share/pam-configs/passwdqc['os-hardening']['auth']['pam']['tally2']['template_cookbook'] = 'os-hardening'
установите имя cookbook, из которого берется шаблон для файла /usr/share/pam-configs/tally2['os-hardening']['auth']['pam']['system-auth']['template_cookbook'] = 'os-hardening'
установите имя cookbook, из которого берется шаблон для файла /etc/pam.d/system-auth-ac['os-hardening']['security']['users']['allow'] = []
список действий, которые пользователю разрешено выполнять. Может содержать: change_user['os-hardening']['security']['kernel']['enable_module_loading'] = true
true, если вы хотите разрешить изменение модулей ядра после запуска системы (например, modprobe, rmmod)['os-hardening']['security']['kernel']['disable_filesystems'] = ['cramfs', 'freevxfs', 'jffs2', 'hfs', 'hfsplus', 'squashfs', 'udf', 'vfat']
список модулей файловых систем ядра, которые занесены в черный список для загрузки (например, они не используются и могут быть отключены). Установите значение [], чтобы полностью избежать этого черного списка['os-hardening']['security']['kernel']['enable_sysrq'] = false['os-hardening']['security']['kernel']['enable_core_dump'] = false['os-hardening']['security']['suid_sgid']['enforce'] = true
true, если вы хотите уменьшить количество SUID/SGID-битов. Уже существует список элементов, которые настроены для поиска, но вы также можете добавить свои собственные['os-hardening']['security']['suid_sgid']['blacklist'] = []
список путей, у которых должны быть удалены SUID/SGID-биты['os-hardening']['security']['suid_sgid']['whitelist'] = []
список путей, у которых не должны изменяться SUID/SGID-биты['os-hardening']['security']['suid_sgid']['remove_from_unknown'] = false
true, если вы хотите удалять SUID/SGID-биты с любых файлов, которые явно не настроены в blacklist. Это заставит каждый запуск Chef выполнять поиск по смонтированным файловым системам на предмет SUID/SGID-битов, которые не настроены в черном списке по умолчанию и пользовательском черном списке. Если будет найден SUID/SGID-бит, он будет удален, если только этот файл не находится в вашем whitelist.['os-hardening']['security']['suid_sgid']['dry_run_on_unknown'] = false
как и remove_from_unknown выше, только SUID/SGID-биты не удаляются.
Он по-прежнему будет выполнять поиск по файловым системам на предмет SUID/SGID-битов, но будет только выводить их в ваш журнал. Эта опция рекомендуется только тогда, когда вы впервые настраиваете remove_from_unknown для SUID/SGID-битов, чтобы вы могли видеть файлы, которые изменяются, и вносить корректировки в свой whitelist и blacklist.['os-hardening']['security']['packages']['clean'] = true
удаляет пакеты с известными проблемами.['os-hardening']['security']['packages']['list'] = ['xinetd','inetd','ypserv','telnet-server','rsh-server']
список пакетов для удаления, по умолчанию мы удаляем следующие пакеты:
['os-hardening']['security']['selinux_mode'] = 'unmanaged'
установите unmanaged, если вы хотите оставить конфигурацию selinux как есть. Установите enforcing для принудительного применения или permissive для разрешающего режима SELinux.