
This chef cookbook fornece configurações seguras de ssh-client e ssh-server.
[][1]
[
][2]
[
][3]
[
][4]
Este cookbook fornece configurações seguras de ssh-client e ssh-server. Este cookbook não fornece recursos para gerenciamento de usuários e/ou chaves ssh, use outros cookbooks para isso.
Abaixo você pode encontrar a documentação dos atributos e seus valores padrão.
Observação: Alguns dos valores padrão de atributos deste cookbook são definidos nas receitas. Você deve usar um nível mais alto de precedência de atributos para sobrescrever tais atributos. Esses atributos são sinalizados com #override attribute# na lista abaixo. Exemplo de sobrescrita de um desses atributos:
override['ssh-hardening']['ssh']['server']['listen_to'] = node['ipaddress']
['ssh-hardening']['network']['ipv6']['enable'] - false. Defina como true se IPv6 for necessário['ssh-hardening']['ssh']['ports'] - 22. Portas às quais o ssh-server deve escutar e às quais o ssh-client deve se conectar['ssh-hardening']['ssh'][{'client', 'server'}]['kex'] - nil para calcular a melhor troca de chaves (KEX) com base na versão do servidor, caso contrário, especifique uma string de valores Kex['ssh-hardening']['ssh'][{'client', 'server'}]['mac'] - nil para calcular os melhores Códigos de Autenticação de Mensagem (MACs) com base na versão do servidor, caso contrário, especifique uma string de valores Mac['ssh-hardening']['ssh'][{'client', 'server'}]['cipher'] - nil para calcular as melhores cifras com base na versão do servidor, caso contrário, especifique uma string de valores Cipher['ssh-hardening']['ssh'][{'client', 'server'}]['cbc_required'] - false. Defina como true se CBC para cifras for necessário. Isso geralmente só é necessário se mecanismos M2M mais antigos precisarem se comunicar com SSH e não tiverem nenhuma das cifras seguras configuradas habilitadas. CBC é uma alternativa fraca. Qualquer coisa mais fraca deve ser evitada e, portanto, não está disponível.['ssh-hardening']['ssh'][{'client', 'server'}]['weak_hmac'] - false. Defina como true se mecanismos HMAC mais fracos forem necessários. Isso geralmente só é necessário se mecanismos M2M mais antigos precisarem se comunicar com SSH e não tiverem nenhum dos HMACs seguros configurados habilitados.['ssh-hardening']['ssh'][{'client', 'server'}]['weak_kex'] - false. Defina como true se mecanismos de Troca de Chaves (KEX) mais fracos forem necessários. Isso geralmente só é necessário se mecanismos M2M mais antigos precisarem se comunicar com SSH e não tiverem nenhum dos KEXs seguros configurados habilitados.['ssh-hardening']['ssh']['client']['remote_hosts'] - [] - um ou mais hosts, aos quais o ssh-client pode se conectar.['ssh-hardening']['ssh']['client']['password_authentication'] - false. Defina como true se a autenticação por senha deve ser habilitada.['ssh-hardening']['ssh']['client']['roaming'] - false. Defina como true se o roaming experimental do cliente deve ser habilitado. Sabe-se que isso causa possíveis problemas com segredos sendo divulgados para servidores maliciosos e, por padrão, fica desabilitado.['ssh-hardening']['ssh']['client']['extras'] - {}. Adicione opções de configuração extras, veja abaixo para detalhes['ssh-hardening']['ssh']['server']['host_key_files'] - nil para calcular a melhor configuração de hostkey com base na versão do servidor, caso contrário, especifique um array com caminhos de arquivo (ex.: /etc/ssh/ssh_host_rsa_key)['ssh-hardening']['ssh']['server']['dh_min_prime_size'] - 2048 - Tamanho mínimo aceitável do primo em bits em /etc/ssh/moduli. Primos abaixo desse número serão removidos. (Veja isto para mais informações e contexto)['ssh-hardening']['ssh']['server']['dh_build_primes'] - false - Se primos próprios devem ser gerados. Essa regeneração acontece apenas uma vez e leva muito tempo (~ 1,5 - 2h em hardware moderno para comprimento de 4096).['ssh-hardening']['ssh']['server']['dh_build_primes_size'] - 4096 - Comprimento do primo que deve ser gerado. Esta opção só é válida se dh_build_primes estiver habilitado.['ssh-hardening']['ssh']['server']['listen_to'] #override attribute# - um ou mais endereços IP, aos quais o ssh-server deve escutar. O padrão é escutar em todas as interfaces. Deve ser configurado por razões de segurança!['ssh-hardening']['ssh']['server']['allow_root_with_key'] - false para desabilitar o login root por completo. Defina como true para permitir que o root faça login via mecanismo baseado em chave['ssh-hardening']['ssh']['server']['allow_tcp_forwarding'] - false. Defina como true para permitir o Encaminhamento TCP['ssh-hardening']['ssh']['server']['allow_agent_forwarding'] - false. Defina como true para permitir o Encaminhamento de Agente['ssh-hardening']['ssh']['server']['allow_x11_forwarding'] - false. Defina como true para permitir o Encaminhamento X11['ssh-hardening']['ssh']['server']['permit_tunnel'] - false para desabilitar o encaminhamento de dispositivo tun. Defina como true para permitir o encaminhamento de dispositivo tun. Outros valores aceitos: 'yes', 'no', 'point-to-point', 'ethernet'. Veja man sshd_config para comportamentos exatos. Observação: você também precisará habilitar allow_tcp_forwarding.['ssh-hardening']['ssh']['server']['use_pam'] - true. Defina como false para desabilitar a autenticação pam do sshd['ssh-hardening']['ssh']['server']['challenge_response_authentication'] - false. Defina como true para habilitar a autenticação por desafio-resposta.['ssh-hardening']['ssh']['server']['deny_users'] - [] para configurar DenyUsers; se especificado, o login é desabilitado para nomes de usuário que correspondam a um dos padrões.['ssh-hardening']['ssh']['server']['allow_users'] - [] para configurar AllowUsers; se especificado, o login é permitido apenas para nomes de usuário que correspondam a um dos padrões.['ssh-hardening']['ssh']['server']['deny_groups'] - [] para configurar DenyGroups; se especificado, o login é desabilitado para usuários cujo grupo primário ou lista de grupos suplementares corresponda a um dos padrões.['ssh-hardening']['ssh']['server']['allow_groups'] - [] para configurar AllowGroups; se especificado, o login é permitido apenas para usuários cujo grupo primário ou lista de grupos suplementares corresponda a um dos padrões.['ssh-hardening']['ssh']['server']['print_motd'] - false. Defina como true para habilitar a impressão do MOTD['ssh-hardening']['ssh']['server']['print_last_log'] - false. Defina como true para habilitar a impressão das informações do último login['ssh-hardening']['ssh']['server']['banner'] - nil. Defina um caminho como '/etc/issue.net' para habilitar o banner['ssh-hardening']['ssh']['server']['os_banner'] - false para desabilitar informações de versão durante o handshake do protocolo (apenas família debian). Defina como true para habilitá-lo['ssh-hardening']['ssh']['server']['use_dns'] - nil para usar o padrão do openssh. Defina como true ou false para habilitar/desabilitar a consulta DNS e verificação do host remoto