Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
puppet-ssh-hardening — Dieses Puppet-Modul stellt sichere ssh-client- und ssh-server-Konfigurationen bereit. | Kitploit
Tools/GitHubGitHub/dev-sec/puppet-ssh-hardening
Cloud-Infrastruktur-SicherheitKonfigurationsprüfungNetzwerksicherheitDevSecOpsAuthentifizierung
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

Dieses Puppet-Modul stellt sichere ssh-client- und ssh-server-Konfigurationen bereit.

Repository anzeigen
603134vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen

Puppet SSH-Härtung

Puppet Forge Build Status Gitter Chat

Beschreibung

Dieses Puppet-Modul stellt sichere ssh-client- und ssh-server-Konfigurationen bereit.

Anforderungen

  • Puppet
  • Puppet-Module: saz/ssh (>= 2.3.6), puppetlabs/stdlib (>= 4.2.0)

Parameter

  • ipv6_enabled = false - true, wenn IPv6 benötigt wird
  • cbc_required = false - true, wenn CBC für Ciphers erforderlich ist. Dies ist in der Regel nur notwendig, wenn ältere M2M-Mechanismen mit SSH kommunizieren müssen, die keinen der konfigurierten sicheren Ciphers aktiviert haben. CBC ist eine schwache Alternative. Alles Schwächere sollte vermieden werden und ist daher nicht verfügbar.
  • weak_hmac = false - true, 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.
  • weak_kex = false - true, wenn schwächere Key-Exchange-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.
  • allow_root_with_key = false - false, um Root-Login vollständig zu deaktivieren. Auf true setzen, um Root-Login über schlüsselbasierte Mechanismen zu erlauben.
  • ports = [ 22 ] - Ports, auf denen der ssh-server lauschen und zu denen sich der ssh-client verbinden soll
  • listen_to = [ "0.0.0.0" ] - eine oder mehrere IP-Adressen, auf denen der ssh-server lauschen soll. Standard ist leer, sollte aber aus Sicherheitsgründen konfiguriert werden!
  • remote_hosts - ein oder mehrere Hosts, zu denen sich der ssh-client verbinden kann. Standard ist leer, sollte aber aus Sicherheitsgründen konfiguriert werden!
  • allow_tcp_forwarding = false - auf true setzen, um TCP-Forwarding zu erlauben
  • allow_agent_forwarding = false - auf true setzen, um Agent-Forwarding zu erlauben
  • use_pam = false, um die PAM-Authentifizierung zu deaktivieren
  • client_options = {} - Werte im Hash setzen, um die Einstellungen des Moduls zu überschreiben
  • server_options = {} - Werte im Hash setzen, um die Einstellungen des Moduls zu überschreiben
  • Verwendung

    Nach dem Hinzufügen dieses Moduls können Sie die Klasse verwenden:

    root@kitploit:~
    class { 'ssh_hardening': }
    

    Dies installiert ssh-server und ssh-client. Alternativ können Sie nur eines davon auswählen:

    root@kitploit:~
    class { 'ssh_hardening::server': }
    class { 'ssh_hardening::client': }
    

    Sie sollten die Kernattribute konfigurieren:

    root@kitploit:~
    class { 'ssh_hardening::server':
      "listen_to" : ["10.2.3.4"]
    }
    

    Der Standardwert für listen_to ist 0.0.0.0. Es wird dringend empfohlen, den Wert zu ändern.

    Standardoptionen überschreiben

    Standardoptionen werden mit den Optionen zusammengeführt, die über die Parameter client_options und server_options übergeben werden. Wenn eine Option sowohl als Standard als auch über den Optionsparameter gesetzt ist, gewinnt letztere.

    Das folgende Beispiel aktiviert X11Forwarding, das standardmäßig deaktiviert ist:

    root@kitploit:~
    class { 'ssh_hardening':
      server_options => {
        'X11Forwarding' => 'yes',
      },
    }
    

    Lokale Tests

    Für lokale Tests können Sie Vagrant und Virtualbox oder VMWare verwenden, um Tests lokal auszuführen. Sie müssen Virtualbox und Vagrant auf Ihrem System installieren. Siehe Vagrant Downloads für ein für Ihr System geeignetes Vagrant-Paket. Für alle unsere Tests verwenden wir test-kitchen. Wenn Sie mit test-kitchen nicht vertraut sind, werfen Sie bitte einen Blick auf deren Anleitung.

    Installieren Sie als Nächstes test-kitchen:

    root@kitploit:~
    # Abhängigkeiten installieren
    gem install bundler
    bundle install
    
    # Tests abrufen
    bundle exec thor kitchen:fetch-remote-tests
    
    # Lint-Prüfungen durchführen
    bundle exec rake lint
    
    # Spec-Prüfungen durchführen
    bundle exec rake spec
    
    # Schneller Test auf einer Maschine
    bundle exec kitchen test default-ubuntu-1204
    
    # Test auf Debian-basierten Maschinen
    bundle exec kitchen test
    
    # Für die Entwicklung
    bundle exec kitchen create default-ubuntu-1204
    bundle exec kitchen converge default-ubuntu-1204
    

    Weitere Informationen finden Sie unter test-kitchen

    FAQ / Fallstricke

    Ich kann mich nicht bei meinem Konto anmelden. Ich habe den Client-Schlüssel registriert, aber es lässt mich trotzdem nicht rein.

    Wenn Sie alle typischen Probleme ausgeschlossen haben (Firewall, Netzwerk, fehlender Schlüssel, falscher Schlüssel, deaktiviertes Konto usw.), könnte Ihr Konto gesperrt sein. Der schnellste Weg, dies herauszufinden, ist ein Blick auf den Passwort-Hash Ihres Benutzers:

    root@kitploit:~
    sudo grep myuser /etc/shadow
    

    Wenn der Hash ein ! enthält, ist Ihr Konto gesperrt:

    root@kitploit:~
    myuser:!:16280:7:60:7:::
    

    Der richtige Weg, dies zu lösen, ist das Entsperren des Kontos (passwd -u myuser). Wenn der Benutzer kein Passwort hat, können Sie es wie folgt entsperren:

    root@kitploit:~
    usermod -p "*" myuser
    

    Alternativ, wenn Sie PAM verwenden möchten, haben Sie es über use_pam = true aktiviert. PAM erlaubt gesperrten Benutzern den Zugang mit Schlüsseln.

    Warum verbindet sich meine Anwendung nicht mehr über SSH?

    Schauen Sie immer zuerst in die Logdateien und, wenn möglich, auf die Aushandlung zwischen Client und Server, die beim Verbindungsaufbau stattfindet.

    Wir haben einige Probleme in Anwendungen (basierend auf Python und Ruby) gesehen, die auf deren Verwendung eines veralteten Krypto-Sets zurückzuführen sind. Dies kollidiert mit diesem Härtungsmodul, das die Liste der Ciphers, Message Authentication Codes (MACs) und Key-Exchange-Algorithmen (KEX) auf eine sicherere Auswahl reduziert hat.

    Wenn Sie feststellen, dass dies nicht ausreicht, können Sie gerne cbc_required für Ciphers, weak_hmac für MACs und weak_kex für KEX aktivieren.

    Mitwirkende + Kudos

    • Dominik Richter arlimus
    • Edmund Haselwanter ehaselwanter
    • Christoph Hartmann chris-rock
    • Patrick Meier atomic111
    • Matthew Haughton 3flex
    • Bernhard Schmidt bernhardschmidt
    • Kurt Huwig kurthuwig
    • Artem Sidorenko artem-sidorenko
    • Guillaume Destuynder gdestuynder
    • Bernhard Weisshuhn bkw
    • stribika

    Lizenz und Autor

    • Autor:: Dominik Richter [email protected]
    • Autor:: Deutsche Telekom AG

    Lizenziert unter der Apache License, Version 2.0 (die "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie unter

    root@kitploit:~
    http://www.apache.org/licenses/LICENSE-2.0
    

    Sofern nicht durch geltendes Recht vorgeschrieben oder schriftlich vereinbart, wird die unter der Lizenz verteilte Software auf einer "WIE BESEHEN"-BASIS verteilt, OHNE GEWÄHRLEISTUNG ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend. Weitere Einzelheiten finden Sie in der Lizenz für die spezifischen Berechtigungen und Beschränkungen.

    Tool herunterladen