Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
puppet-ssh-hardening — Este módulo de Puppet proporciona configuraciones seguras de ssh-client y ssh-server. | Kitploit
Herramientas/GitHubGitHub/dev-sec/puppet-ssh-hardening
Seguridad de Infraestructura en la NubeAuditoría de ConfiguraciónSeguridad de RedesDevSecOpsAutenticación
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

Este módulo de Puppet proporciona configuraciones seguras de ssh-client y ssh-server.

Ver Repositorio
60318hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Sitio web
Compartir

Endurecimiento SSH con Puppet

Puppet Forge Build Status Gitter Chat

Descripción

Este módulo de Puppet proporciona configuraciones seguras de ssh-client y ssh-server.

Requisitos

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

Parámetros

  • ipv6_enabled = false - si se necesita IPv6
true
  • cbc_required = false - true si se requiere CBC para los cifrados. Esto suele ser necesario únicamente si mecanismos M2M antiguos necesitan comunicarse con SSH y no tienen habilitado ninguno de los cifrados seguros configurados. CBC es una alternativa débil. Cualquier cosa más débil debe evitarse y, por tanto, no está disponible.
  • weak_hmac = false - true si se requieren mecanismos HMAC más débiles. Esto suele ser necesario únicamente si mecanismos M2M antiguos necesitan comunicarse con SSH y no tienen habilitado ninguno de los HMAC seguros configurados.
  • weak_kex = false - true si se requieren mecanismos de intercambio de claves (KEX) más débiles. Esto suele ser necesario únicamente si mecanismos M2M antiguos necesitan comunicarse con SSH y no tienen habilitado ninguno de los KEX seguros configurados.
  • allow_root_with_key = false - false para deshabilitar el inicio de sesión de root por completo. Establecer a true para permitir que root inicie sesión mediante mecanismos basados en claves.
  • ports = [ 22 ] - puertos a los que ssh-server debe escuchar y a los que ssh-client debe conectarse
  • listen_to = [ "0.0.0.0" ] - una o más direcciones IP a las que ssh-server debe escuchar. El valor predeterminado está vacío, pero debe configurarse por razones de seguridad.
  • remote_hosts - uno o más hosts a los que ssh-client puede conectarse. El valor predeterminado está vacío, pero debe configurarse por razones de seguridad.
  • allow_tcp_forwarding = false - establecer a true para permitir el reenvío TCP
  • allow_agent_forwarding = false - establecer a true para permitir el reenvío de agente
  • use_pam = false para deshabilitar la autenticación PAM
  • client_options = {} - establezca valores en el hash para sobrescribir la configuración del módulo
  • server_options = {} - establezca valores en el hash para sobrescribir la configuración del módulo
  • Uso

    Después de añadir este módulo, puede usar la clase:

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

    Esto instalará ssh-server y ssh-client. Alternativamente, puede elegir solo uno mediante:

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

    Debe configurar los atributos principales:

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

    El valor predeterminado de listen_to es 0.0.0.0. Se recomienda encarecidamente cambiar este valor.

    Sobrescribir opciones predeterminadas

    Las opciones predeterminadas se fusionarán con las opciones pasadas mediante los parámetros client_options y server_options. Si una opción está establecida tanto como predeterminada como mediante el parámetro de opciones, esta última prevalecerá.

    El siguiente ejemplo habilitará X11Forwarding, que está deshabilitado por defecto:

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

    Pruebas locales

    Para pruebas locales puede usar vagrant y Virtualbox o VMWare para ejecutar pruebas localmente. Deberá instalar Virtualbox y Vagrant en su sistema. Consulte Vagrant Downloads para obtener un paquete de vagrant adecuado para su sistema. Para todas nuestras pruebas usamos test-kitchen. Si no está familiarizado con test-kitchen, consulte su guía.

    A continuación, instale 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
    

    Para más información consulte test-kitchen

    Preguntas frecuentes / Errores comunes

    No puedo iniciar sesión en mi cuenta. He registrado la clave del cliente, pero aun así no me deja entrar.

    Si ha agotado todos los problemas típicos (firewall, red, clave faltante, clave incorrecta, cuenta deshabilitada, etc.), puede que su cuenta esté bloqueada. La forma más rápida de averiguarlo es mirar el hash de la contraseña de su usuario:

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

    Si el hash incluye un !, su cuenta está bloqueada:

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

    La forma correcta de resolver esto es desbloquear la cuenta (passwd -u myuser). Si el usuario no tiene contraseña, puede desbloquearla mediante:

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

    Alternativamente, si tiene intención de usar PAM, puede habilitarlo mediante use_pam = true. PAM permitirá que los usuarios bloqueados accedan con claves.

    ¿Por qué mi aplicación ya no se conecta mediante SSH?

    Mire siempre primero los archivos de registro y, si es posible, la negociación entre cliente y servidor que se completa al conectar.

    Hemos visto algunos problemas en aplicaciones (basadas en python y ruby) debidos a su uso de un conjunto criptográfico obsoleto. Esto choca con este módulo de endurecimiento, que ha reducido la lista de cifrados, códigos de autenticación de mensajes (MAC) y algoritmos de intercambio de claves (KEX) a una selección más segura.

    Si considera que esto no es suficiente, no dude en activar cbc_required para los cifrados, weak_hmac para los MAC y weak_kex para los KEX.

    Colaboradores + Agradecimientos

    • 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

    Licencia y autor

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

    Licenciado bajo la Licencia Apache, Versión 2.0 (la "Licencia"); no puede usar este archivo excepto en cumplimiento de la Licencia. Puede obtener una copia de la Licencia en

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

    Salvo que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y las limitaciones bajo la Licencia.

    Descargar herramienta