
Dieses Chef-Cookbook bietet sichere ssh-client- und ssh-server-Konfigurationen.
[][1]
[
][2]
[
][3]
[
][4]
Dieses Cookbook stellt sichere Konfigurationen für ssh-client und ssh-server bereit. Dieses Cookbook bietet keine Funktionen zur Verwaltung von Benutzern und/oder SSH-Schlüsseln; dafür bitte andere Cookbooks verwenden.
Nachfolgend finden Sie die Attributdokumentation und deren Standardwerte.
Hinweis: Einige Attribut-Standardwerte dieses Cookbooks werden in den Rezepten gesetzt. Für das Überschreiben solcher Attribute sollten Sie eine höhere Attribut-Prioritätsebene verwenden. Solche Attribute sind in der folgenden Liste mit #override attribute# gekennzeichnet. Beispiel für das Überschreiben eines solchen Attributs:
override['ssh-hardening']['ssh']['server']['listen_to'] = node['ipaddress']
['ssh-hardening']['network']['ipv6']['enable'] - false. Auf true setzen, wenn IPv6 benötigt wird['ssh-hardening']['ssh']['ports'] - 22. Ports, auf denen der ssh-server lauschen und zu denen sich der ssh-client verbinden soll['ssh-hardening']['ssh'][{'client', 'server'}]['kex'] - nil, um den besten Schlüsselaustausch (KEX) basierend auf der Serverversion zu berechnen, andernfalls einen String mit Kex-Werten angeben['ssh-hardening']['ssh'][{'client', 'server'}]['mac'] - nil, um die besten Message Authentication Codes (MACs) basierend auf der Serverversion zu berechnen, andernfalls einen String mit Mac-Werten angeben['ssh-hardening']['ssh'][{'client', 'server'}]['cipher'] - nil, um die besten Cipher basierend auf der Serverversion zu berechnen, andernfalls einen String mit Cipher-Werten angeben['ssh-hardening']['ssh'][{'client', 'server'}]['cbc_required'] - false. Auf true setzen, wenn CBC für Cipher erforderlich ist. Dies ist in der Regel nur notwendig, wenn ältere M2M-Mechanismen mit SSH kommunizieren müssen, die keinen der konfigurierten sicheren Cipher aktiviert haben. CBC ist eine schwache Alternative. Alles Schwächere sollte vermieden werden und ist daher nicht verfügbar.['ssh-hardening']['ssh'][{'client', 'server'}]['weak_hmac'] - false. Auf true setzen, wenn schwächere HMAC-Mechanismen erforderlich sind. Dies ist in der Regel nur notwendig, wenn ältere M2M-Mechanismen mit SSH kommunizieren müssen, die keinen der konfigurierten sicheren HMACs aktiviert haben.['ssh-hardening']['ssh'][{'client', 'server'}]['weak_kex'] - false. Auf true setzen, wenn schwächere Schlüsselaustausch-Mechanismen (KEX) erforderlich sind. Dies ist in der Regel nur notwendig, wenn ältere M2M-Mechanismen mit SSH kommunizieren müssen, die keinen der konfigurierten sicheren KEXs aktiviert haben.['ssh-hardening']['ssh']['client']['remote_hosts'] - [] - ein oder mehrere Hosts, zu denen sich der ssh-client verbinden kann.['ssh-hardening']['ssh']['client']['password_authentication'] - false. Auf true setzen, wenn die Passwortauthentifizierung aktiviert werden soll.['ssh-hardening']['ssh']['client']['roaming'] - false. Auf true setzen, wenn experimentelles Client-Roaming aktiviert werden soll. Dies ist bekanntermaßen mit potenziellen Problemen verbunden, bei denen Geheimnisse an bösartige Server weitergegeben werden können, und ist standardmäßig deaktiviert.['ssh-hardening']['ssh']['client']['extras'] - {}. Zusätzliche Konfigurationsoptionen hinzufügen, siehe unten für Details['ssh-hardening']['ssh']['server']['host_key_files'] - nil, um die beste Hostkey-Konfiguration basierend auf der Serverversion zu berechnen, andernfalls ein Array mit Dateipfaden angeben (z. B. /etc/ssh/ssh_host_rsa_key)['ssh-hardening']['ssh']['server']['dh_min_prime_size'] - 2048 - Minimale akzeptable Primzahlenlänge in Bits in /etc/ssh/moduli. Primzahlen unterhalb dieser Zahl werden entfernt. (Siehe hier für weitere Informationen und Hintergründe)['ssh-hardening']['ssh']['server']['dh_build_primes'] - false - Ob eigene Primzahlen erstellt werden sollen. Dieser Neuaufbau erfolgt nur einmal und dauert lange (~ 1,5 - 2 Stunden auf moderner Hardware für 4096 Länge).['ssh-hardening']['ssh']['server']['dh_build_primes_size'] - 4096 - Primzahlenlänge, die generiert werden soll. Diese Option ist nur gültig, wenn dh_build_primes aktiviert ist.['ssh-hardening']['ssh']['server']['listen_to'] #override attribute# - eine oder mehrere IP-Adressen, auf denen der ssh-server lauschen soll. Standardmäßig wird auf allen Schnittstellen gelauscht. Es sollte aus Sicherheitsgründen konfiguriert werden!['ssh-hardening']['ssh']['server']['allow_root_with_key'] - false, um die Root-Anmeldung insgesamt zu deaktivieren. Auf true setzen, um Root die Anmeldung über schlüsselbasierte Mechanismen zu erlauben['ssh-hardening']['ssh']['server']['allow_tcp_forwarding'] - false. Auf true setzen, um TCP-Forwarding zu erlauben['ssh-hardening']['ssh']['server']['allow_agent_forwarding'] - false. Auf true setzen, um Agent-Forwarding zu erlauben['ssh-hardening']['ssh']['server']['allow_x11_forwarding'] - false. Auf true setzen, um X11-Forwarding zu erlauben['ssh-hardening']['ssh']['server']['permit_tunnel'] - false, um die Weiterleitung von tun-Geräten zu deaktivieren. Auf true setzen, um die Weiterleitung von tun-Geräten zu erlauben. Andere akzeptierte Werte: 'yes', 'no', 'point-to-point', 'ethernet'. Siehe man sshd_config für genaue Verhaltensweisen. Hinweis: Sie müssen auch allow_tcp_forwarding aktivieren.['ssh-hardening']['ssh']['server']['use_pam'] - true. Auf false setzen, um die PAM-Authentifizierung von sshd zu deaktivieren['ssh-hardening']['ssh']['server']['challenge_response_authentication'] - false. Auf true setzen, um die Challenge-Response-Authentifizierung zu aktivieren.['ssh-hardening']['ssh']['server']['deny_users'] - [], um DenyUsers zu konfigurieren. Wenn angegeben, ist die Anmeldung für Benutzernamen, die einem der Muster entsprechen, nicht erlaubt.['ssh-hardening']['ssh']['server']['allow_users'] - [], um AllowUsers zu konfigurieren. Wenn angegeben, ist die Anmeldung nur für Benutzernamen erlaubt, die einem der Muster entsprechen.['ssh-hardening']['ssh']['server']['deny_groups'] - [], um DenyGroups zu konfigurieren. Wenn angegeben, ist die Anmeldung für Benutzer nicht erlaubt, deren primäre Gruppe oder ergänzende Gruppenliste einem der Muster entspricht.['ssh-hardening']['ssh']['server']['allow_groups'] - [], um AllowGroups zu konfigurieren. Wenn angegeben, ist die Anmeldung nur für Benutzer erlaubt, deren primäre Gruppe oder ergänzende Gruppenliste einem der Muster entspricht.['ssh-hardening']['ssh']['server']['print_motd'] - false. Auf true setzen, um das Anzeigen der MOTD zu aktivieren['ssh-hardening']['ssh']['server']['print_last_log'] - false. Auf true setzen, um das Anzeigen der letzten Anmeldeinformationen zu aktivieren['ssh-hardening']['ssh']['server']['banner'] - nil. Einen Pfad wie '/etc/issue.net' setzen, um das Banner zu aktivieren['ssh-hardening']['ssh']['server']['os_banner'] - false, um Versionsinformationen während des Protokoll-Handshakes zu deaktivieren (nur Debian-Familie). Auf true setzen, um es zu aktivieren