ssh-hardening (Ansible-Rolle)
Achtung: Diese Rolle wurde in unsere hardening-collection migriert:
Bitte öffnen Sie dort alle Issues und Pull Requests!
Anforderungen
Rollenvariablen
network_ipv6_enable
- Standard: false
- Beschreibung: true, wenn IPv6 benötigt wird.
ssh_listen_to muss ebenfalls gesetzt werden, um auf IPv6-Adressen zu lauschen (z. B. [::]).
ssh_server_ports
- Standard: ['22']
- Beschreibung: Ports, auf denen der SSH-Server lauschen soll
ssh_client_port
- Standard: '22'
- Beschreibung: Port, mit dem der SSH-Client eine Verbindung herstellen soll
ssh_listen_to
- Standard: ['0.0.0.0']
- Beschreibung: eine oder mehrere IP-Adressen, auf denen der SSH-Server lauschen soll. Standard sind alle IPv4-Adressen, sollte aber aus Sicherheitsgründen auf bestimmte Adressen konfiguriert werden!
ssh_host_key_files
- Standard: []
- Beschreibung: Host-Keys für sshd. Wenn leer, werden ['/etc/ssh/ssh_host_rsa_key', '/etc/ssh/ssh_host_ecdsa_key', '/etc/ssh/ssh_host_ed25519_key'] verwendet, sofern von der installierten sshd-Version unterstützt
ssh_host_key_algorithms
- Standard: []
- Beschreibung: Host-Key-Algorithmen, die der Server anbietet. Wenn leer, wird die Standardliste verwendet, andernfalls überschreibt die Einstellung mit der angegebenen Liste von Algorithmen
ssh_client_alive_interval
- Standard: 600
- Beschreibung: gibt ein Intervall für das Senden von Keepalive-Nachrichten an
ssh_client_alive_count
- Standard: 3
- Beschreibung: legt fest, wie oft Keep-Alive-Nachrichten gesendet werden
ssh_permit_tunnel
- Standard: false
- Beschreibung: true, wenn SSH-Port-Tunneling erforderlich ist
ssh_remote_hosts
- Standard: []
- Beschreibung: ein oder mehrere Hosts und deren benutzerdefinierte Optionen für den SSH-Client. Standard ist leer. Siehe Beispiele in
defaults/main.yml.
ssh_permit_root_login
- Standard: no
- Beschreibung: Root-Login deaktivieren. Setzen Sie
without-password oder yes, um Root-Login zu aktivieren
ssh_allow_tcp_forwarding
- Standard: no
- Beschreibung:
'no' zum Deaktivieren von TCP-Forwarding. Setzen Sie 'yes', um TCP-Forwarding zu erlauben. Wenn Sie OpenSSH >= 6.2 verwenden, können Sie 'yes', 'no', 'all' oder 'local' angeben.
Hinweis: Werte, die an diese Variable übergeben werden, müssen Strings sein, daher sollten die Werte 'yes' und 'no' mit Anführungszeichen übergeben werden.
ssh_gateway_ports
- Standard:
false
- Beschreibung:
false zum Deaktivieren der Bindung weitergeleiteter Ports an Nicht-Loopback-Adressen. Setzen Sie true, um die Bindung an die Wildcard-Adresse zu erzwingen. Setzen Sie clientspecified, um dem Client zu erlauben, die zu bindende Adresse anzugeben.
ssh_allow_agent_forwarding
- Standard: false
- Beschreibung: false zum Deaktivieren von Agent-Forwarding. Setzen Sie true, um Agent-Forwarding zu erlauben.
ssh_x11_forwarding
- Standard: false
- Beschreibung: false zum Deaktivieren von X11-Forwarding. Setzen Sie true, um X11-Forwarding zu erlauben.
ssh_pam_support
- Standard: true
- Beschreibung: true, wenn SSH PAM-Unterstützung hat.
ssh_use_pam
- Standard: true
- Beschreibung: false zum Deaktivieren der PAM-Authentifizierung.
ssh_gssapi_support
- Standard: false
- Beschreibung: true, wenn SSH GSSAPI-Unterstützung hat.
ssh_kerberos_support
- Standard: true
- Beschreibung: true, wenn SSH Kerberos-Unterstützung hat.
ssh_deny_users
- Standard: ''
- Beschreibung: wenn angegeben, ist der Login für Benutzernamen, die einem der Muster entsprechen, nicht erlaubt.
ssh_allow_users
- Standard: ''
- Beschreibung: wenn angegeben, ist der Login nur für Benutzernamen erlaubt, die einem der Muster entsprechen.
ssh_deny_groups
- Standard: ''
- Beschreibung: wenn angegeben, ist der Login für Benutzer, deren primäre Gruppe oder Liste zusätzlicher Gruppen einem der Muster entspricht, nicht erlaubt.
ssh_allow_groups
- Standard: ''
- Beschreibung: wenn angegeben, ist der Login nur für Benutzer erlaubt, deren primäre Gruppe oder Liste zusätzlicher Gruppen einem der Muster entspricht.
ssh_authorized_keys_file
- Standard: ''
- Beschreibung: ändert die Standarddatei, die die öffentlichen Schlüssel enthält, die für die Benutzerauthentifizierung verwendet werden können.
ssh_trusted_user_ca_keys_file
- Standard: ''
- Beschreibung: gibt die Datei an, die die öffentlichen Schlüssel vertrauenswürdiger Zertifizierungsstellen enthält, die zum Signieren von Benutzerzertifikaten verwendet werden.
ssh_trusted_user_ca_keys
- Standard: []
- Beschreibung: setzt die öffentlichen Schlüssel vertrauenswürdiger Zertifizierungsstellen, die zum Signieren von Benutzerzertifikaten verwendet werden. Wird nur verwendet, wenn
ssh_trusted_user_ca_keys_file gesetzt ist.
ssh_authorized_principals_file
- Standard: ''
- Beschreibung: gibt die Datei an, die erlaubte Principals enthält. Wird nur verwendet, wenn
ssh_trusted_user_ca_keys_file gesetzt ist.
ssh_authorized_principals
- Standard: []
- Beschreibung: Liste von Hashes, die Dateipfade und autorisierte Principals enthalten, siehe
default_custom.yml für alle Optionen. Wird nur verwendet, wenn ssh_authorized_principals_file gesetzt ist.
ssh_print_motd
- Standard: false
- Beschreibung: false zum Deaktivieren des Druckens der MOTD
ssh_print_pam_motd
- Standard: false
- Beschreibung: false zum Deaktivieren des Druckens der MOTD über pam (Debian und Ubuntu)
ssh_print_last_log
- Standard: false
- Beschreibung: false zum Deaktivieren der Anzeige von Informationen zum letzten Login
sftp_enabled
- Standard: false
- Beschreibung: true zum Aktivieren der sftp-Konfiguration
sftp_umask
- Standard: '0027'
- Beschreibung: gibt die Umask für sftp an
sftp_chroot
- Standard: true
- Beschreibung: false zum Deaktivieren von chroot für sftp
sftp_chroot_dir
- Standard: /home/%u
- Beschreibung: ändert den Standardspeicherort für sftp-chroot
ssh_client_roaming
- Standard: false
- Beschreibung: experimentelles Client-Roaming aktivieren
sshd_moduli_file
- Standard: '/etc/ssh/moduli'
- Beschreibung: Pfad zur SSH-Moduli-Datei
sshd_moduli_minimum
- Standard: 2048
- Beschreibung: entfernt Diffie-Hellman-Parameter, die kleiner als die definierte Größe sind, um Logjam zu entschärfen
ssh_challengeresponseauthentication
- Standard: false
- Beschreibung: gibt an, ob Challenge-Response-Authentifizierung erlaubt ist (z. B. über PAM)
ssh_client_password_login
- Standard: false
- Beschreibung:
true, um passwortbasierte Authentifizierung mit dem SSH-Client zu erlauben
ssh_server_password_login
- Standard: false
- Beschreibung:
true, um passwortbasierte Authentifizierung mit dem SSH-Server zu erlauben
ssh_banner
- Standard:
false
- Beschreibung:
true, um beim Login ein Banner anzuzeigen
ssh_banner_path
- Standard: '/etc/sshd/banner.txt'
- Beschreibung: Pfad zur SSH-Bannerdatei
ssh_client_hardening
- Standard:
true
- Beschreibung:
false, um das Härten des Clients zu stoppen
ssh_client_port
- Standard:
'22'
- Beschreibung: gibt die Portnummer an, mit der auf dem Remote-Host eine Verbindung hergestellt wird.
ssh_client_compression
- Standard:
false
- Beschreibung: gibt an, ob der Client Komprimierung anfordert.
ssh_compression
- Standard:
false
- Beschreibung: gibt an, ob serverseitige Komprimierung aktiviert ist, nachdem sich der Benutzer erfolgreich authentifiziert hat.
ssh_login_grace_time
- Standard:
30s
- Beschreibung: gibt die Zeit an, die für eine erfolgreiche Authentifizierung am SSH-Server erlaubt ist
ssh_max_auth_retries