ssh-hardening (Ansible Role)
Atenção: Este role foi migrado para a nossa hardening-collection:
Por favor, abra quaisquer issues e pull requests lá!
Requisitos
Variáveis do Role
network_ipv6_enable
- Padrão: false
- Descrição: true se IPv6 for necessário.
ssh_listen_to também deve ser definido para escutar em endereços IPv6 (por exemplo [::]).
ssh_server_ports
- Padrão: ['22']
- Descrição: portas nas quais o ssh-server deve escutar
ssh_client_port
- Padrão: '22'
- Descrição: porta à qual o ssh-client deve se conectar
ssh_listen_to
- Padrão: ['0.0.0.0']
- Descrição: um ou mais endereços IP, nos quais o ssh-server deve escutar. O padrão são todos os endereços IPv4, mas deve ser configurado para endereços específicos por razões de segurança!
ssh_host_key_files
- Padrão: []
- Descrição: Chaves de host para sshd. Se vazio, ['/etc/ssh/ssh_host_rsa_key', '/etc/ssh/ssh_host_ecdsa_key', '/etc/ssh/ssh_host_ed25519_key'] serão usados, desde que suportados pela versão instalada do sshd
ssh_host_key_algorithms
- Padrão: []
- Descrição: Algoritmos de chave de host que o servidor oferece. Se vazio, a lista padrão será usada; caso contrário, substitui a configuração com a lista especificada de algoritmos
ssh_client_alive_interval
- Padrão: 600
- Descrição: especifica um intervalo para envio de mensagens keepalive
ssh_client_alive_count
- Padrão: 3
- Descrição: define quantas vezes as mensagens keep-alive são enviadas
ssh_permit_tunnel
- Padrão: false
- Descrição: true se o SSH Port Tunneling for necessário
ssh_remote_hosts
- Padrão: []
- Descrição: um ou mais hosts e suas opções personalizadas para o ssh-client. O padrão é vazio. Veja exemplos em
defaults/main.yml.
ssh_permit_root_login
- Padrão: no
- Descrição: Desabilita o root-login. Defina como
without-password ou yes para habilitar o root-login
ssh_allow_tcp_forwarding
- Padrão: no
- Descrição:
'no' para desabilitar o TCP Forwarding. Defina como 'yes' para permitir o TCP Forwarding. Se você estiver usando OpenSSH >= versão 6.2, você pode especificar 'yes', 'no', 'all' ou 'local'.
Nota: os valores passados para esta variável devem ser strings, portanto os valores 'yes' e 'no' devem ser passados com aspas.
ssh_gateway_ports
- Padrão:
false
- Descrição:
false para desabilitar a vinculação de portas encaminhadas a endereços não-loopback. Defina como true para forçar a vinculação no endereço curinga. Defina como clientspecified para permitir que o cliente especifique a qual endereço vincular.
ssh_allow_agent_forwarding
- Padrão: false
- Descrição: false para desabilitar o Agent Forwarding. Defina como true para permitir o Agent Forwarding.
ssh_x11_forwarding
- Padrão: false
- Descrição: false para desabilitar o X11 Forwarding. Defina como true para permitir o X11 Forwarding.
ssh_pam_support
- Padrão: true
- Descrição: true se o SSH tiver suporte a PAM.
ssh_use_pam
- Padrão: true
- Descrição: false para desabilitar a autenticação pam.
ssh_gssapi_support
- Padrão: false
- Descrição: true se o SSH tiver suporte a GSSAPI.
ssh_kerberos_support
- Padrão: true
- Descrição: true se o SSH tiver suporte a Kerberos.
ssh_deny_users
- Padrão: ''
- Descrição: se especificado, o login é desabilitado para nomes de usuário que correspondam a um dos padrões.
ssh_allow_users
- Padrão: ''
- Descrição: se especificado, o login é permitido apenas para nomes de usuário que correspondam a um dos padrões.
ssh_deny_groups
- Padrão: ''
- Descrição: se especificado, o login é desabilitado para usuários cujo grupo primário ou lista de grupos suplementares corresponda a um dos padrões.
ssh_allow_groups
- Padrão: ''
- Descrição: 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_authorized_keys_file
- Padrão: ''
- Descrição: altera o arquivo padrão que contém as chaves públicas que podem ser usadas para autenticação de usuário.
ssh_trusted_user_ca_keys_file
- Padrão: ''
- Descrição: especifica o arquivo que contém as chaves públicas das autoridades certificadoras confiáveis usadas para assinar certificados de usuário.
ssh_trusted_user_ca_keys
- Padrão: []
- Descrição: define as chaves públicas das autoridades certificadoras confiáveis usadas para assinar certificados de usuário. Usado apenas se
ssh_trusted_user_ca_keys_file estiver definido.
ssh_authorized_principals_file
- Padrão: ''
- Descrição: especifica o arquivo que contém os principals permitidos. Usado apenas se
ssh_trusted_user_ca_keys_file estiver definido.
ssh_authorized_principals
- Padrão: []
- Descrição: lista de hashes contendo caminhos de arquivo e principals autorizados, veja
default_custom.yml para todas as opções. Usado apenas se ssh_authorized_principals_file estiver definido.
ssh_print_motd
- Padrão: false
- Descrição: false para desabilitar a impressão do MOTD
ssh_print_pam_motd
- Padrão: false
- Descrição: false para desabilitar a impressão do MOTD via pam (Debian e Ubuntu)
ssh_print_last_log
- Padrão: false
- Descrição: false para desabilitar a exibição das informações do último login
sftp_enabled
- Padrão: false
- Descrição: true para habilitar a configuração do sftp
sftp_umask
- Padrão: '0027'
- Descrição: Especifica o umask para o sftp
sftp_chroot
- Padrão: true
- Descrição: false para desabilitar o chroot para o sftp
sftp_chroot_dir
- Padrão: /home/%u
- Descrição: altera o local padrão do chroot do sftp
ssh_client_roaming
- Padrão: false
- Descrição: habilita o client roaming experimental
sshd_moduli_file
- Padrão: '/etc/ssh/moduli'
- Descrição: caminho para o arquivo de moduli do SSH
sshd_moduli_minimum
- Padrão: 2048
- Descrição: remove parâmetros Diffie-Hellman menores que o tamanho definido para mitigar o logjam
ssh_challengeresponseauthentication
- Padrão: false
- Descrição: Especifica se a autenticação challenge-response é permitida (por exemplo, via PAM)
ssh_client_password_login
- Padrão: false
- Descrição:
true para permitir autenticação baseada em senha com o ssh client
ssh_server_password_login
- Padrão: false
- Descrição:
true para permitir autenticação baseada em senha com o ssh server
ssh_banner
- Padrão:
false
- Descrição:
true para imprimir um banner no login
ssh_banner_path
- Padrão: '/etc/sshd/banner.txt'
- Descrição: caminho para o arquivo de banner do SSH
ssh_client_hardening
- Padrão:
true
- Descrição:
false para parar de endurecer o client
ssh_client_port
- Padrão:
'22'
- Descrição: Especifica o número da porta para conectar no host remoto.
ssh_client_compression
- Padrão:
false
- Descrição: Especifica se o client solicita compressão.
ssh_compression
- Padrão:
false
- Descrição: Especifica se a compressão no lado do servidor é habilitada após o usuário autenticar com sucesso.
ssh_login_grace_time
- Padrão:
30s
- Descrição: especifica o tempo permitido para autenticação bem-sucedida no servidor SSH
ssh_max_auth_retries
- Padrão:
2
- Descrição: Especifica o número máximo de tentativas de autenticação permitidas por conexão.
ssh_max_sessions
- Padrão:
10
- Descrição: Especifica o número máximo de sessões abertas permitidas a partir de uma determinada conexão.
ssh_print_debian_banner
- Padrão:
false
- Descrição:
true para imprimir o banner específico do debian
ssh_server_enabled
- Padrão:
true
- Descrição:
false para desabilitar o servidor opensshd
ssh_server_hardening