Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
puppet-ssh-hardening — Ce module Puppet fournit des configurations sécurisées pour ssh-client et ssh-server. | Kitploit
Outils/GitHubGitHub/dev-sec/puppet-ssh-hardening
Sécurité de l'Infrastructure CloudAudit de ConfigurationSécurité RéseauDevSecOpsAuthentification
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

Ce module Puppet fournit des configurations sécurisées pour ssh-client et ssh-server.

Voir le dépôt
603134il y a 2 ansVérifié par Kitploit
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Durcissement SSH Puppet

Puppet Forge Build Status Gitter Chat

Description

Ce module Puppet fournit des configurations sécurisées pour ssh-client et ssh-server.

Prérequis

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

Paramètres

  • ipv6_enabled = false - si IPv6 est nécessaire
true
  • cbc_required = false - true si CBC est requis pour les chiffrements. Cela n'est généralement nécessaire que si d'anciens mécanismes M2M doivent communiquer avec SSH et n'ont aucun des chiffrements sécurisés configurés activés. CBC est une alternative faible. Tout ce qui est plus faible doit être évité et n'est donc pas disponible.
  • weak_hmac = false - true si des mécanismes HMAC plus faibles sont requis. Cela n'est généralement nécessaire que si d'anciens mécanismes M2M doivent communiquer avec SSH et n'ont aucun des HMAC sécurisés configurés activés.
  • weak_kex = false - true si des mécanismes d'échange de clés (KEX) plus faibles sont requis. Cela n'est généralement nécessaire que si d'anciens mécanismes M2M doivent communiquer avec SSH et n'ont aucun des KEX sécurisés configurés activés.
  • allow_root_with_key = false - false pour désactiver complètement la connexion root. Définir sur true pour autoriser root à se connecter via un mécanisme basé sur les clés.
  • ports = [ 22 ] - ports sur lesquels ssh-server doit écouter et auxquels ssh-client doit se connecter
  • listen_to = [ "0.0.0.0" ] - une ou plusieurs adresses IP sur lesquelles ssh-server doit écouter. La valeur par défaut est vide, mais doit être configurée pour des raisons de sécurité !
  • remote_hosts - un ou plusieurs hôtes auxquels ssh-client peut se connecter. La valeur par défaut est vide, mais doit être configurée pour des raisons de sécurité !
  • allow_tcp_forwarding = false - définir sur true pour autoriser le transfert TCP
  • allow_agent_forwarding = false - définir sur true pour autoriser le transfert d'agent
  • use_pam = false pour désactiver l'authentification PAM
  • client_options = {} - définir des valeurs dans le hash pour remplacer les paramètres du module
  • server_options = {} - définir des valeurs dans le hash pour remplacer les paramètres du module
  • Utilisation

    Après avoir ajouté ce module, vous pouvez utiliser la classe :

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

    Cela installera ssh-server et ssh-client. Vous pouvez également choisir un seul des deux via :

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

    Vous devez configurer les attributs principaux :

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

    La valeur par défaut de listen_to est 0.0.0.0. Il est fortement recommandé de modifier cette valeur.

    Remplacer les options par défaut

    Les options par défaut seront fusionnées avec les options transmises via les paramètres client_options et server_options. Si une option est définie à la fois par défaut et via le paramètre d'options, cette dernière prévaudra.

    L'exemple suivant activera X11Forwarding, qui est désactivé par défaut :

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

    Tests locaux

    Pour les tests locaux, vous pouvez utiliser vagrant et Virtualbox ou VMWare pour exécuter les tests localement. Vous devrez installer Virtualbox et Vagrant sur votre système. Voir Téléchargements Vagrant pour un paquet vagrant adapté à votre système. Pour tous nos tests, nous utilisons test-kitchen. Si vous n'êtes pas familier avec test-kitchen, veuillez consulter leur guide.

    Ensuite, installez test-kitchen :

    root@kitploit:~
    # Install dependencies
    gem install bundler
    bundle install
    
    # Fetch tests
    bundle exec thor kitchen:fetch-remote-tests
    
    # Do lint checks
    bundle exec rake lint
    
    # Do spec checks
    bundle exec rake spec
    
    # fast test on one machine
    bundle exec kitchen test default-ubuntu-1204
    
    # test on Debian-based machines
    bundle exec kitchen test
    
    # for development
    bundle exec kitchen create default-ubuntu-1204
    bundle exec kitchen converge default-ubuntu-1204
    

    Pour plus d'informations, voir test-kitchen

    FAQ / Pièges

    Je n'arrive pas à me connecter à mon compte. J'ai enregistré la clé client, mais cela ne me laisse toujours pas entrer.

    Si vous avez épuisé tous les problèmes typiques (pare-feu, réseau, clé manquante, mauvaise clé, compte désactivé, etc.), il est possible que votre compte soit verrouillé. Le moyen le plus rapide de le savoir est de consulter le hash du mot de passe de votre utilisateur :

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

    Si le hash contient un !, votre compte est verrouillé :

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

    La bonne façon de résoudre ce problème est de déverrouiller le compte (passwd -u myuser). Si l'utilisateur n'a pas de mot de passe, vous pouvez le déverrouiller via :

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

    Alternativement, si vous avez l'intention d'utiliser PAM, vous l'avez activé via use_pam = true. PAM permettra aux utilisateurs verrouillés d'entrer avec des clés.

    Pourquoi mon application ne se connecte-t-elle plus via SSH ?

    Consultez toujours d'abord les fichiers journaux et, si possible, examinez la négociation entre le client et le serveur qui s'effectue lors de la connexion.

    Nous avons constaté certains problèmes dans des applications (basées sur python et ruby) dus à leur utilisation d'un ensemble cryptographique obsolète. Cela entre en conflit avec ce module de durcissement, qui a réduit la liste des chiffrements, des codes d'authentification de message (MAC) et des algorithmes d'échange de clés (KEX) à une sélection plus sécurisée.

    Si vous constatez que cela ne suffit pas, n'hésitez pas à activer cbc_required pour les chiffrements, weak_hmac pour les MAC et weak_kex pour les KEX.

    Contributeurs + Remerciements

    • 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

    Licence et auteur

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

    Sous licence Apache License, Version 2.0 (la « Licence ») ; vous ne pouvez utiliser ce fichier qu'en conformité avec la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse

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

    Sauf si requis par la loi applicable ou convenu par écrit, le logiciel distribué sous la Licence est distribué sur une base « EN L'ÉTAT », SANS GARANTIES NI CONDITIONS D'AUCUNE SORTE, expresses ou implicites. Voir la Licence pour le langage spécifique régissant les permissions et les limitations de la Licence.

    Télécharger l’outil