Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
puppet-ssh-hardening — Este módulo puppet fornece configurações seguras de ssh-client e ssh-server. | Kitploit
Ferramentas/GitHubGitHub/dev-sec/puppet-ssh-hardening
Segurança de Infraestrutura em NuvemAuditoria de ConfiguraçãoSegurança de RedeDevSecOpsAutenticação
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

Este módulo puppet fornece configurações seguras de ssh-client e ssh-server.

Ver Repositório
60318há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Site
Compartilhar

Endurecimento SSH com Puppet

Puppet Forge Build Status Gitter Chat

Descrição

Este módulo Puppet fornece configurações seguras de ssh-client e ssh-server.

Requisitos

  • Puppet
  • Módulos Puppet: saz/ssh (>= 2.3.6), puppetlabs/stdlib (>= 4.2.0)

Parâmetros

  • ipv6_enabled = false - se IPv6 for necessário
true
  • cbc_required = false - true se CBC for necessário para cifras. Isso geralmente só é necessário se mecanismos M2M mais antigos precisarem se comunicar via SSH e não tiverem nenhuma das cifras seguras configuradas habilitadas. CBC é uma alternativa fraca. Qualquer coisa mais fraca deve ser evitada e, portanto, não está disponível.
  • weak_hmac = false - true se mecanismos HMAC mais fracos forem necessários. Isso geralmente só é necessário se mecanismos M2M mais antigos precisarem se comunicar via SSH e não tiverem nenhum dos HMACs seguros configurados habilitados.
  • weak_kex = false - true se mecanismos de Troca de Chaves (KEX) mais fracos forem necessários. Isso geralmente só é necessário se mecanismos M2M mais antigos precisarem se comunicar via SSH e não tiverem nenhum dos KEXs seguros configurados habilitados.
  • allow_root_with_key = false - false para desabilitar o login root por completo. Defina como true para permitir que root faça login via mecanismo baseado em chave.
  • ports = [ 22 ] - portas nas quais o ssh-server deve escutar e às quais o ssh-client deve se conectar
  • listen_to = [ "0.0.0.0" ] - um ou mais endereços IP, nos quais o ssh-server deve escutar. O padrão é vazio, mas deve ser configurado por motivos de segurança!
  • remote_hosts - um ou mais hosts, aos quais o ssh-client pode se conectar. O padrão é vazio, mas deve ser configurado por motivos de segurança!
  • allow_tcp_forwarding = false - defina como true para permitir o encaminhamento TCP
  • allow_agent_forwarding = false - defina como true para permitir o encaminhamento de Agent
  • use_pam = false para desabilitar a autenticação PAM
  • client_options = {} - defina valores no hash para substituir as configurações do módulo
  • server_options = {} - defina valores no hash para substituir as configurações do módulo
  • Uso

    Após adicionar este módulo, você pode usar a classe:

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

    Isso instalará o ssh-server e o ssh-client. Você pode alternativamente escolher apenas um deles via:

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

    Você deve configurar os atributos principais:

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

    O valor padrão para listen_to é 0.0.0.0. É altamente recomendável alterar esse valor.

    Substituindo opções padrão

    As opções padrão serão mescladas com as opções passadas pelos parâmetros client_options e server_options. Se uma opção for definida tanto como padrão quanto via parâmetro de opções, esta última prevalecerá.

    O exemplo a seguir habilitará o X11Forwarding, que está desabilitado por padrão:

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

    Testes locais

    Para testes locais, você pode usar vagrant e Virtualbox ou VMWare para executar testes localmente. Você precisará instalar o Virtualbox e o Vagrant no seu sistema. Consulte Vagrant Downloads para obter um pacote vagrant adequado ao seu sistema. Para todos os nossos testes, usamos test-kitchen. Se você não está familiarizado com test-kitchen, dê uma olhada no guia deles.

    Em seguida, instale o test-kitchen:

    root@kitploit:~
    # Instalar dependências
    gem install bundler
    bundle install
    
    # Buscar testes
    bundle exec thor kitchen:fetch-remote-tests
    
    # Verificações de lint
    bundle exec rake lint
    
    # Verificações de spec
    bundle exec rake spec
    
    # teste rápido em uma máquina
    bundle exec kitchen test default-ubuntu-1204
    
    # teste em máquinas baseadas em Debian
    bundle exec kitchen test
    
    # para desenvolvimento
    bundle exec kitchen create default-ubuntu-1204
    bundle exec kitchen converge default-ubuntu-1204
    

    Para mais informações, consulte test-kitchen

    FAQ / Armadilhas

    Não consigo fazer login na minha conta. Registrei a chave do cliente, mas mesmo assim não me deixa entrar.

    Se você já esgotou todos os problemas típicos (firewall, rede, chave ausente, chave errada, conta desabilitada etc.), pode ser que sua conta esteja bloqueada. A maneira mais rápida de descobrir é olhar o hash da senha do seu usuário:

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

    Se o hash incluir um !, sua conta está bloqueada:

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

    A maneira correta de resolver isso é desbloquear a conta (passwd -u myuser). Se o usuário não tiver senha, você pode desbloqueá-la via:

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

    Alternativamente, se você pretende usar PAM, você o habilitou via use_pam = true. O PAM permitirá que usuários bloqueados entrem com chaves.

    Por que meu aplicativo não se conecta mais via SSH?

    Sempre olhe primeiro os arquivos de log e, se possível, a negociação entre cliente e servidor que é concluída ao conectar.

    Vimos alguns problemas em aplicativos (baseados em python e ruby) que se devem ao uso de um conjunto de criptografia desatualizado. Isso colide com este módulo de endurecimento, que reduziu a lista de cifras, códigos de autenticação de mensagem (MACs) e algoritmos de troca de chaves (KEX) para uma seleção mais segura.

    Se você achar que isso não é suficiente, sinta-se à vontade para ativar cbc_required para cifras, weak_hmac para MACs e weak_kex para KEX.

    Contribuidores + Créditos

    • 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

    Licença e Autor

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

    Licenciado sob a Apache License, Versão 2.0 (a "Licença"); você não pode usar este arquivo exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em

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

    Salvo disposição em contrário da lei aplicável ou acordo por escrito, o software distribuído sob a Licença é distribuído "COMO ESTÁ", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para os termos específicos que regem as permissões e limitações sob a Licença.

    Baixar ferramenta