
Questa ricetta chef fornisce configurazioni sicure per ssh-client e ssh-server.
[][1]
[
][2]
[
][3]
[
][4]
Questa ricetta fornisce configurazioni sicure per ssh-client e ssh-server. Questa ricetta non fornisce funzionalità per la gestione di utenti e/o chiavi ssh; per questo si prega di utilizzare altre ricette.
Di seguito puoi trovare la documentazione degli attributi e i loro valori predefiniti.
Nota: alcuni valori predefiniti degli attributi di questa ricetta sono impostati nelle ricette. Per sovrascrivere tali attributi dovresti utilizzare un livello di precedenza degli attributi più alto. Tali attributi sono contrassegnati con #override attribute# nell'elenco seguente. Esempio per sovrascrivere un tale attributo:
override['ssh-hardening']['ssh']['server']['listen_to'] = node['ipaddress']
['ssh-hardening']['network']['ipv6']['enable'] - false. Impostare su true se è necessario IPv6['ssh-hardening']['ssh']['ports'] - 22. Porte su cui ssh-server deve rimanere in ascolto e a cui ssh-client deve connettersi['ssh-hardening']['ssh'][{'client', 'server'}]['kex'] - nil per calcolare il miglior scambio di chiavi (KEX) in base alla versione del server, altrimenti specificare una stringa di valori Kex['ssh-hardening']['ssh'][{'client', 'server'}]['mac'] - nil per calcolare i migliori codici di autenticazione del messaggio (MAC) in base alla versione del server, altrimenti specificare una stringa di valori Mac['ssh-hardening']['ssh'][{'client', 'server'}]['cipher'] - nil per calcolare i migliori cifrari in base alla versione del server, altrimenti specificare una stringa di valori Cipher['ssh-hardening']['ssh'][{'client', 'server'}]['cbc_required'] - false. Impostare su true se è richiesto CBC per i cifrari. Questo di solito è necessario solo se meccanismi M2M più vecchi devono comunicare con SSH e non hanno abilitato nessuno dei cifrari sicuri configurati. CBC è un'alternativa debole. Qualsiasi cosa più debole dovrebbe essere evitata e pertanto non è disponibile.['ssh-hardening']['ssh'][{'client', 'server'}]['weak_hmac'] - false. Impostare su true se sono richiesti meccanismi HMAC più deboli. Questo di solito è necessario solo se meccanismi M2M più vecchi devono comunicare con SSH e non hanno abilitato nessuno degli HMAC sicuri configurati.['ssh-hardening']['ssh'][{'client', 'server'}]['weak_kex'] - false. Impostare su true se sono richiesti meccanismi di scambio di chiavi (KEX) più deboli. Questo di solito è necessario solo se meccanismi M2M più vecchi devono comunicare con SSH e non hanno abilitato nessuno dei KEX sicuri configurati.['ssh-hardening']['ssh']['client']['remote_hosts'] - [] - uno o più host a cui ssh-client può connettersi.['ssh-hardening']['ssh']['client']['password_authentication'] - false. Impostare su true se l'autenticazione tramite password deve essere abilitata.['ssh-hardening']['ssh']['client']['roaming'] - false. Impostare su true se deve essere abilitato il roaming sperimentale del client. È noto che ciò può causare potenziali problemi con la divulgazione di segreti a server dannosi e per impostazione predefinita è disabilitato.['ssh-hardening']['ssh']['client']['extras'] - {}. Aggiungi opzioni di configurazione extra, vedi sotto per i dettagli['ssh-hardening']['ssh']['server']['host_key_files'] - nil per calcolare la migliore configurazione delle host key in base alla versione del server, altrimenti specificare un array con i percorsi dei file (es. /etc/ssh/ssh_host_rsa_key)['ssh-hardening']['ssh']['server']['dh_min_prime_size'] - 2048 - Lunghezza minima accettabile del primo in bit in /etc/ssh/moduli. I primi al di sotto di questo numero verranno rimossi. (Vedi questo per maggiori informazioni e contesto)['ssh-hardening']['ssh']['server']['dh_build_primes'] - false - Se devono essere generati primi propri. Questa rigenerazione avviene solo una volta e richiede molto tempo (~ 1,5 - 2 ore su hardware moderno per una lunghezza di 4096).['ssh-hardening']['ssh']['server']['dh_build_primes_size'] - 4096 - Lunghezza del primo che deve essere generata. Questa opzione è valida solo se dh_build_primes è abilitato.['ssh-hardening']['ssh']['server']['listen_to'] #override attribute# - uno o più indirizzi IP a cui ssh-server deve rimanere in ascolto. Il valore predefinito è l'ascolto su tutte le interfacce. Dovrebbe essere configurato per motivi di sicurezza!['ssh-hardening']['ssh']['server']['allow_root_with_key'] - false per disabilitare del tutto l'accesso di root. Impostare su true per consentire a root di accedere tramite meccanismo basato su chiave['ssh-hardening']['ssh']['server']['allow_tcp_forwarding'] - false. Impostare su true per consentire l'inoltro TCP['ssh-hardening']['ssh']['server']['allow_agent_forwarding'] - false. Impostare su true per consentire l'inoltro dell'agente['ssh-hardening']['ssh']['server']['allow_x11_forwarding'] - false. Impostare su true per consentire l'inoltro X11['ssh-hardening']['ssh']['server']['permit_tunnel'] - false per disabilitare l'inoltro dei dispositivi tun. Impostare su true per consentire l'inoltro dei dispositivi tun. Altri valori accettati: 'yes', 'no', 'point-to-point', 'ethernet'. Vedere man sshd_config per i comportamenti esatti. Nota: dovrai anche abilitare allow_tcp_forwarding.['ssh-hardening']['ssh']['server']['use_pam'] - true. Impostare su false per disabilitare l'autenticazione pam di sshd['ssh-hardening']['ssh']['server']['challenge_response_authentication'] - false. Impostare su true per abilitare l'autenticazione a risposta di sfida.['ssh-hardening']['ssh']['server']['deny_users'] - [] per configurare DenyUsers; se specificato, l'accesso è negato per i nomi utente che corrispondono a uno dei modelli.['ssh-hardening']['ssh']['server']['allow_users'] - [] per configurare AllowUsers; se specificato, l'accesso è consentito solo per i nomi utente che corrispondono a uno dei modelli.['ssh-hardening']['ssh']['server']['deny_groups'] - [] per configurare DenyGroups; se specificato, l'accesso è negato per gli utenti il cui gruppo primario o elenco di gruppi supplementari corrisponde a uno dei modelli.['ssh-hardening']['ssh']['server']['allow_groups'] - [] per configurare AllowGroups; se specificato, l'accesso è consentito solo per gli utenti il cui gruppo primario o elenco di gruppi supplementari corrisponde a uno dei modelli.['ssh-hardening']['ssh']['server']['print_motd'] - false. Impostare su true per abilitare la stampa del MOTD['ssh-hardening']['ssh']['server']['print_last_log'] - false. Impostare su true per abilitare la stampa delle informazioni sull'ultimo accesso['ssh-hardening']['ssh']['server']['banner'] - nil. Impostare un percorso come '/etc/issue.net' per abilitare il banner['ssh-hardening']['ssh']['server']['os_banner'] - false per disabilitare le informazioni sulla versione durante l'handshake del protocollo (solo famiglia debian). Impostare su true per abilitarlo['ssh-hardening']['ssh']['server']['use_dns'] - nil per utilizzare il valore predefinito di openssh. Impostare su true o false per abilitare/disabilitare la ricerca DNS e il controllo dell'host remoto