
This chef cookbook fornece inúmeras configurações relacionadas à segurança, oferecendo proteção base abrangente.
[][1]
[
][2]
Este cookbook fornece inúmeras configurações relacionadas à segurança, oferecendo proteção base abrangente.
Ele configura:
pam e pam_limitsEle não irá:
['os-hardening']['components'][COMPONENT_NAME] - permite o controle fino sobre quais componentes devem ser executados por meio da receita padrão. Veja abaixo para mais detalhes['os-hardening']['desktop']['enable'] = false
true se este for um sistema desktop, ou seja, Xorg, KDE/GNOME/Unity/etc['os-hardening']['network']['forwarding'] = false
true se este sistema exigir encaminhamento de pacotes (ex: Roteador), false caso contrário['os-hardening']['network']['ipv6']['enable'] = false['os-hardening']['network']['arp']['restricted'] = true
true se você quiser que o comportamento de anunciar e responder ao ARP seja restrito, false caso contrário['os-hardening']['env']['extra_user_paths'] = []
adicione caminhos adicionais à variável PATH do usuário (o padrão é vazio).['os-hardening']['env']['umask'] = "027"['os-hardening']['env']['root_path'] = "/"
onde o root está montado['os-hardening']['auth']['pw_max_age'] = 60
idade máxima da senha['os-hardening']['auth']['pw_min_age'] = 7
idade mínima da senha (antes de permitir qualquer outra alteração de senha)['os-hardening']['auth']['pw_warn_age'] = 7
número de dias antes da idade máxima da senha para avisar sobre a mudança
iminente['os-hardening']['auth']['uid_min'] = 1000
limite inferior de UIDs atribuídos pelo useradd['os-hardening']['auth']['uid_max'] = 60000
limite superior de UIDs atribuídos pelo useradd['os-hardening']['auth']['gid_min'] = 1000
limite inferior de GIDs atribuídos pelo groupadd['os-hardening']['auth']['gid_max'] = 60000
limite superior de GIDs atribuídos pelo groupadd['os-hardening']['auth']['retries'] = 5
o número máximo de tentativas de autenticação, antes que a conta seja bloqueada por algum tempo['os-hardening']['auth']['lockout_time'] = 600
tempo em segundos que precisa passar, se a conta foi bloqueada devido a muitas tentativas de autenticação falhas['os-hardening']['auth']['timeout'] = 60
tempo limite de autenticação em segundos, então o login será encerrado se esse tempo passar['os-hardening']['auth']['allow_homeless'] = false
true se desejar permitir que usuários sem home façam login['os-hardening']['auth']['pam']['passwdqc']['enable'] = true
true se você quiser usar verificação de senha forte no PAM usando passwdqc['os-hardening']['auth']['pam']['passwdqc']['options'] = "min=disabled,disabled,16,12,8"
defina para qualquer linha de opções (como string) que você queira passar para o passwdqc['os-hardening']['auth']['pam']['passwdqc']['template_cookbook'] = 'os-hardening'
defina para o nome do cookbook do qual o template é obtido para o arquivo /usr/share/pam-configs/passwdqc['os-hardening']['auth']['pam']['tally2']['template_cookbook'] = 'os-hardening'
defina para o nome do cookbook do qual o template é obtido para o arquivo /usr/share/pam-configs/tally2['os-hardening']['auth']['pam']['system-auth']['template_cookbook'] = 'os-hardening'
defina para o nome do cookbook do qual o template é obtido para o arquivo /etc/pam.d/system-auth-ac['os-hardening']['security']['users']['allow'] = []
lista de coisas que um usuário pode fazer. Pode conter: change_user['os-hardening']['security']['kernel']['enable_module_loading'] = true
true se você quiser ter permissão para alterar módulos do kernel enquanto o sistema está em execução (ex: modprobe, rmmod)['os-hardening']['security']['kernel']['disable_filesystems'] = ['cramfs', 'freevxfs', 'jffs2', 'hfs', 'hfsplus', 'squashfs', 'udf', 'vfat']
lista de módulos de sistema de arquivos do kernel que estão na lista negra para carregamento (ex: eles não são usados e podem ser desativados). Defina isso como [] para evitar completamente essa lista negra['os-hardening']['security']['kernel']['enable_sysrq'] = false['os-hardening']['security']['kernel']['enable_core_dump'] = false['os-hardening']['security']['suid_sgid']['enforce'] = true
true se você quiser reduzir os bits SUID/SGID. Já existe uma lista de itens que são pesquisados e configurados, mas você também pode adicionar os seus próprios['os-hardening']['security']['suid_sgid']['blacklist'] = []
uma lista de caminhos que devem ter seus bits SUID/SGID removidos['os-hardening']['security']['suid_sgid']['whitelist'] = []
uma lista de caminhos que não devem ter seus bits SUID/SGID alterados['os-hardening']['security']['suid_sgid']['remove_from_unknown'] = false
true se você quiser remover bits SUID/SGID de qualquer arquivo que não esteja explicitamente configurado em uma blacklist. Isso fará com que cada execução do Chef pesquise nos sistemas de arquivos montados por bits SUID/SGID que não estejam configurados na lista negra padrão e do usuário. Se encontrar um bit SUID/SGID, ele será removido, a menos que este arquivo esteja na sua whitelist.['os-hardening']['security']['suid_sgid']['dry_run_on_unknown'] = false
como remove_from_unknown acima, apenas sem remover os bits SUID/SGID.
Ele ainda pesquisará os sistemas de arquivos em busca de bits SUID/SGID, mas apenas os imprimirá no seu log. Esta opção só é recomendada quando você configura remove_from_unknown pela primeira vez para bits SUID/SGID, para que possa ver os arquivos que estão sendo alterados e fazer ajustes na sua whitelist e blacklist.['os-hardening']['security']['packages']['clean'] = true
remove pacotes com problemas conhecidos.['os-hardening']['security']['packages']['list'] = ['xinetd','inetd','ypserv','telnet-server','rsh-server']
lista de pacotes a remover, por padrão removemos os seguintes pacotes:
['os-hardening']['security']['selinux_mode'] = 'unmanaged'
defina como unmanaged se você quiser deixar a configuração do selinux como está. Defina como enforcing para aplicar ou permissive para SELinux permissivo.default.rb inclui outros componentes com base nos atributos de autodetecção ohai do seu sistema. Ex: não execute selinux em sistemas não-RHEL. Você pode substituir esse comportamento e forçar componentes a serem executados ou não definindo atributos em node['os-hardening']['components'] no nível de override. Exemplo