Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
puppet-ssh-hardening — Questo modulo Puppet fornisce configurazioni sicure per ssh-client e ssh-server. | Kitploit
Strumenti/GitHubGitHub/dev-sec/puppet-ssh-hardening
Sicurezza dell'Infrastruttura CloudAudit di ConfigurazioneSicurezza di ReteDevSecOpsAutenticazione
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

Questo modulo Puppet fornisce configurazioni sicure per ssh-client e ssh-server.

Vedi Repository
6031342 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi

Hardening SSH con Puppet

Puppet Forge Build Status Gitter Chat

Descrizione

Questo modulo Puppet fornisce configurazioni sicure per ssh-client e ssh-server.

Requisiti

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

Parametri

  • ipv6_enabled = false - se è necessario IPv6
true
  • cbc_required = false - true se CBC è richiesto per i cifrari. Di solito è necessario solo se vecchi meccanismi M2M 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.
  • weak_hmac = false - true se sono richiesti meccanismi HMAC più deboli. Di solito è necessario solo se vecchi meccanismi M2M devono comunicare con SSH e non hanno abilitato nessuno degli HMAC sicuri configurati.
  • weak_kex = false - true se sono richiesti meccanismi di Key-Exchange (KEX) più deboli. Di solito è necessario solo se vecchi meccanismi M2M devono comunicare con SSH e non hanno abilitato nessuno dei KEX sicuri configurati.
  • allow_root_with_key = false - false per disabilitare del tutto il login di root. Impostare a true per consentire a root di accedere tramite meccanismo basato su chiave.
  • ports = [ 22 ] - porte su cui ssh-server deve rimanere in ascolto e a cui ssh-client deve connettersi
  • listen_to = [ "0.0.0.0" ] - uno o più indirizzi IP a cui ssh-server deve rimanere in ascolto. Il valore predefinito è vuoto, ma dovrebbe essere configurato per motivi di sicurezza!
  • remote_hosts - uno o più host a cui ssh-client può connettersi. Il valore predefinito è vuoto, ma dovrebbe essere configurato per motivi di sicurezza!
  • allow_tcp_forwarding = false - impostare a true per consentire il forwarding TCP
  • allow_agent_forwarding = false - impostare a true per consentire il forwarding dell'agente
  • use_pam = false per disabilitare l'autenticazione PAM
  • client_options = {} - impostare valori nell'hash per sovrascrivere le impostazioni del modulo
  • server_options = {} - impostare valori nell'hash per sovrascrivere le impostazioni del modulo
  • Utilizzo

    Dopo aver aggiunto questo modulo, puoi usare la classe:

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

    Questo installerà ssh-server e ssh-client. In alternativa puoi sceglierne solo uno tramite:

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

    Dovresti configurare gli attributi principali:

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

    Il valore predefinito per listen_to è 0.0.0.0. È fortemente consigliato modificare il valore.

    Sovrascrivere le opzioni predefinite

    Le opzioni predefinite verranno unite con le opzioni passate tramite i parametri client_options e server_options. Se un'opzione è impostata sia come predefinita sia tramite il parametro delle opzioni, vincerà quest'ultima.

    L'esempio seguente abiliterà X11Forwarding, che è disabilitato per impostazione predefinita:

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

    Test locali

    Per i test locali puoi usare vagrant e Virtualbox o VMWare per eseguire i test in locale. Dovrai installare Virtualbox e Vagrant sul tuo sistema. Vedi Vagrant Downloads per un pacchetto vagrant adatto al tuo sistema. Per tutti i nostri test usiamo test-kitchen. Se non hai familiarità con test-kitchen, dai un'occhiata alla loro guida.

    Successivamente installa test-kitchen:

    root@kitploit:~
    # Installa le dipendenze
    gem install bundler
    bundle install
    
    # Recupera i test
    bundle exec thor kitchen:fetch-remote-tests
    
    # Esegui i controlli lint
    bundle exec rake lint
    
    # Esegui i controlli spec
    bundle exec rake spec
    
    # test rapido su una macchina
    bundle exec kitchen test default-ubuntu-1204
    
    # test su macchine basate su Debian
    bundle exec kitchen test
    
    # per lo sviluppo
    bundle exec kitchen create default-ubuntu-1204
    bundle exec kitchen converge default-ubuntu-1204
    

    Per maggiori informazioni vedi test-kitchen

    FAQ / Insidie

    Non riesco ad accedere al mio account. Ho registrato la chiave del client, ma non mi fa comunque entrare.

    Se hai esaurito tutti i problemi tipici (firewall, rete, chiave mancante, chiave sbagliata, account disabilitato, ecc.), potrebbe essere che il tuo account sia bloccato. Il modo più rapido per scoprirlo è guardare l'hash della password per il tuo utente:

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

    Se l'hash include un !, il tuo account è bloccato:

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

    Il modo corretto per risolvere è sbloccare l'account (passwd -u myuser). Se l'utente non ha una password, puoi sbloccarlo tramite:

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

    In alternativa, se intendi usare PAM, lo hai abilitato tramite use_pam = true. PAM consentirà agli utenti bloccati di accedere con le chiavi.

    Perché la mia applicazione non si connette più tramite SSH?

    Guarda sempre prima i file di log e, se possibile, osserva la negoziazione tra client e server che avviene durante la connessione.

    Abbiamo visto alcuni problemi in applicazioni (basate su python e ruby) dovuti al loro uso di un set crittografico obsoleto. Questo collide con questo modulo di hardening, che ha ridotto l'elenco di cifrari, codici di autenticazione del messaggio (MAC) e algoritmi di scambio chiave (KEX) a una selezione più sicura.

    Se scopri che questo non basta, sentiti libero di attivare cbc_required per i cifrari, weak_hmac per i MAC e weak_kex per i KEX.

    Collaboratori + Riconoscimenti

    • 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

    Licenza e Autore

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

    Concesso in licenza secondo la Apache License, Versione 2.0 (la "Licenza"); non puoi usare questo file se non in conformità con la Licenza. Puoi ottenere una copia della Licenza all'indirizzo

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

    Salvo quanto richiesto dalla legge applicabile o concordato per iscritto, il software distribuito secondo la Licenza è distribuito su base "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o implicite. Vedi la Licenza per il linguaggio specifico che regola i permessi e le limitazioni previsti dalla Licenza.

    Scarica lo strumento