ssh-hardening (Ruolo Ansible)
Attenzione: Questo ruolo è stato migrato nella nostra hardening-collection:
Si prega di aprire eventuali issue e pull request lì!
Requisiti
Variabili del Ruolo
network_ipv6_enable
- Default: false
- Descrizione: true se è necessario IPv6.
ssh_listen_to deve essere impostato anche per ascoltare su indirizzi IPv6 (ad esempio [::]).
ssh_server_ports
- Default: ['22']
- Descrizione: porte su cui il server ssh dovrebbe ascoltare
ssh_client_port
- Default: '22'
- Descrizione: porta a cui il client ssh dovrebbe connettersi
ssh_listen_to
- Default: ['0.0.0.0']
- Descrizione: uno o più indirizzi IP, a cui il server ssh dovrebbe ascoltare. Il default è tutti gli indirizzi IPv4, ma per motivi di sicurezza dovrebbe essere configurato su indirizzi specifici!
ssh_host_key_files
- Default: []
- Descrizione: chiavi host per sshd. Se vuoto, verranno usati ['/etc/ssh/ssh_host_rsa_key', '/etc/ssh/ssh_host_ecdsa_key', '/etc/ssh/ssh_host_ed25519_key'], per quanto supportati dalla versione di sshd installata
ssh_host_key_algorithms
- Default: []
- Descrizione: algoritmi delle chiavi host che il server offre. Se vuoto, verrà usata la lista di default, altrimenti sovrascrive l'impostazione con la lista di algoritmi specificata
ssh_client_alive_interval
- Default: 600
- Descrizione: specifica un intervallo per l'invio di messaggi keepalive
ssh_client_alive_count
- Default: 3
- Descrizione: definisce quante volte vengono inviati i messaggi keep-alive
ssh_permit_tunnel
- Default: false
- Descrizione: true se è richiesto il tunneling delle porte SSH
ssh_remote_hosts
- Default: []
- Descrizione: uno o più host e le loro opzioni personalizzate per il client ssh. Il default è vuoto. Vedi gli esempi in
defaults/main.yml.
ssh_permit_root_login
- Default: no
- Descrizione: disabilita il login di root. Impostare a
without-password o yes per abilitare il login di root
ssh_allow_tcp_forwarding
- Default: no
- Descrizione:
'no' per disabilitare il TCP Forwarding. Impostare a 'yes' per consentire il TCP Forwarding. Se si utilizza OpenSSH >= 6.2, è possibile specificare 'yes', 'no', 'all' o 'local'.
Nota: i valori passati a questa variabile devono essere stringhe, quindi i valori 'yes' e 'no' devono essere passati con le virgolette.
ssh_gateway_ports
- Default:
false
- Descrizione:
false per disabilitare il binding delle porte inoltrate a indirizzi non loopback. Impostare a true per forzare il binding sull'indirizzo wildcard. Impostare a clientspecified per consentire al client di specificare a quale indirizzo fare il binding.
ssh_allow_agent_forwarding
- Default: false
- Descrizione: false per disabilitare l'Agent Forwarding. Impostare a true per consentire l'Agent Forwarding.
ssh_x11_forwarding
- Default: false
- Descrizione: false per disabilitare l'X11 Forwarding. Impostare a true per consentire l'X11 Forwarding.
ssh_pam_support
- Default: true
- Descrizione: true se SSH ha il supporto PAM.
ssh_use_pam
- Default: true
- Descrizione: false per disabilitare l'autenticazione pam.
ssh_gssapi_support
- Default: false
- Descrizione: true se SSH ha il supporto GSSAPI.
ssh_kerberos_support
- Default: true
- Descrizione: true se SSH ha il supporto Kerberos.
ssh_deny_users
- Default: ''
- Descrizione: se specificato, il login è disabilitato per i nomi utente che corrispondono a uno dei pattern.
ssh_allow_users
- Default: ''
- Descrizione: se specificato, il login è consentito solo per i nomi utente che corrispondono a uno dei pattern.
ssh_deny_groups
- Default: ''
- Descrizione: se specificato, il login è disabilitato per gli utenti il cui gruppo primario o elenco di gruppi supplementari corrisponde a uno dei pattern.
ssh_allow_groups
- Default: ''
- Descrizione: se specificato, il login è consentito solo per gli utenti il cui gruppo primario o elenco di gruppi supplementari corrisponde a uno dei pattern.
ssh_authorized_keys_file
- Default: ''
- Descrizione: modifica il file predefinito che contiene le chiavi pubbliche che possono essere utilizzate per l'autenticazione dell'utente.
ssh_trusted_user_ca_keys_file
- Default: ''
- Descrizione: specifica il file contenente le chiavi pubbliche delle autorità di certificazione attendibili utilizzate per firmare i certificati utente.
ssh_trusted_user_ca_keys
- Default: []
- Descrizione: imposta le chiavi pubbliche delle autorità di certificazione attendibili utilizzate per firmare i certificati utente. Utilizzato solo se
ssh_trusted_user_ca_keys_file è impostato.
ssh_authorized_principals_file
- Default: ''
- Descrizione: specifica il file contenente i principal consentiti. Utilizzato solo se
ssh_trusted_user_ca_keys_file è impostato.
ssh_authorized_principals
- Default: []
- Descrizione: elenco di hash contenenti percorsi di file e principal autorizzati, vedi
default_custom.yml per tutte le opzioni. Utilizzato solo se ssh_authorized_principals_file è impostato.
ssh_print_motd
- Default: false
- Descrizione: false per disabilitare la stampa del MOTD
ssh_print_pam_motd
- Default: false
- Descrizione: false per disabilitare la stampa del MOTD tramite pam (Debian e Ubuntu)
ssh_print_last_log
- Default: false
- Descrizione: false per disabilitare la visualizzazione delle informazioni sull'ultimo login
sftp_enabled
- Default: false
- Descrizione: true per abilitare la configurazione sftp
sftp_umask
- Default: '0027'
- Descrizione: specifica l'umask per sftp
sftp_chroot
- Default: true
- Descrizione: false per disabilitare il chroot per sftp
sftp_chroot_dir
- Default: /home/%u
- Descrizione: modifica la posizione predefinita del chroot sftp
ssh_client_roaming
- Default: false
- Descrizione: abilita il roaming sperimentale del client
sshd_moduli_file
- Default: '/etc/ssh/moduli'
- Descrizione: percorso del file moduli SSH
sshd_moduli_minimum
- Default: 2048
- Descrizione: rimuove i parametri Diffie-Hellman più piccoli della dimensione definita per mitigare logjam
ssh_challengeresponseauthentication
- Default: false
- Descrizione: specifica se è consentita l'autenticazione challenge-response (ad es. tramite PAM)
ssh_client_password_login
- Default: false
- Descrizione:
true per consentire l'autenticazione basata su password con il client ssh
ssh_server_password_login
- Default: false
- Descrizione:
true per consentire l'autenticazione basata su password con il server ssh
ssh_banner
- Default:
false
- Descrizione:
true per stampare un banner al login
ssh_banner_path
- Default: '/etc/sshd/banner.txt'
- Descrizione: percorso del file banner SSH
ssh_client_hardening
- Default:
true
- Descrizione:
false per interrompere l'hardening del client
ssh_client_port
- Default:
'22'
- Descrizione: specifica il numero di porta su cui connettersi all'host remoto.
ssh_client_compression
- Default:
false
- Descrizione: specifica se il client richiede la compressione.
ssh_compression
- Default:
false
- Descrizione: specifica se la compressione lato server è abilitata dopo che l'utente si è autenticato con successo.
ssh_login_grace_time
- Default:
30s
- Descrizione: specifica il tempo consentito per l'autenticazione riuscita al server SSH
ssh_max_auth_retries
- Default:
2
- Descrizione: specifica il numero massimo di tentativi di autenticazione consentiti per connessione.
ssh_max_sessions
- Default:
10
- Descrizione: specifica il numero massimo di sessioni aperte consentite da una data connessione.