Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
puppet-ssh-hardening — Этот модуль Puppet обеспечивает безопасные конфигурации ssh-client и ssh-server. | Kitploit
Инструменты/GitHubGitHub/dev-sec/puppet-ssh-hardening
Безопасность облачной инфраструктурыАудит конфигурацииСетевая безопасностьDevSecOpsАутентификация
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

Этот модуль Puppet обеспечивает безопасные конфигурации ssh-client и ssh-server.

Репозиторий
6031342 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Сайт
Поделиться

Puppet SSH hardening

Puppet Forge Build Status Gitter Chat

Описание

Этот модуль Puppet обеспечивает безопасные конфигурации ssh-client и ssh-server.

Требования

  • Puppet
  • Модули Puppet: saz/ssh (>= 2.3.6), puppetlabs/stdlib (>= 4.2.0)

Параметры

  • ipv6_enabled = false - , если требуется IPv6
true
  • cbc_required = false - true, если требуется CBC для шифров. Обычно это необходимо только в том случае, если более старые механизмы M2M должны взаимодействовать с SSH, у которых не включён ни один из настроенных безопасных шифров. CBC — это слабая альтернатива. Все, что слабее, следует избегать, и поэтому оно недоступно.
  • weak_hmac = false - true, если требуются более слабые механизмы HMAC. Обычно это необходимо только в том случае, если более старые механизмы M2M должны взаимодействовать с SSH, у которых не включён ни один из настроенных безопасных HMAC.
  • weak_kex = false - true, если требуются более слабые механизмы обмена ключами (KEX). Обычно это необходимо только в том случае, если более старые механизмы M2M должны взаимодействовать с SSH, у которых не включён ни один из настроенных безопасных KEX.
  • allow_root_with_key = false - false для полного отключения входа root. Установите true, чтобы разрешить root вход через механизм на основе ключей.
  • ports = [ 22 ] - порты, на которых ssh-server должен прослушивать соединения и к которым ssh-client должен подключаться
  • listen_to = [ "0.0.0.0" ] - один или несколько IP-адресов, на которых ssh-server должен прослушивать соединения. По умолчанию пусто, но должно быть настроено по соображениям безопасности!
  • remote_hosts - один или несколько хостов, к которым ssh-client может подключаться. По умолчанию пусто, но должно быть настроено по соображениям безопасности!
  • allow_tcp_forwarding = false - установите true, чтобы разрешить TCP-переадресацию
  • allow_agent_forwarding = false - установите true, чтобы разрешить переадресацию агента
  • use_pam = false для отключения аутентификации PAM
  • client_options = {} - задайте значения в хэше, чтобы переопределить настройки модуля
  • server_options = {} - задайте значения в хэше, чтобы переопределить настройки модуля
  • Использование

    После добавления этого модуля вы можете использовать класс:

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

    Это установит ssh-server и ssh-client. Вы также можете выбрать только один из них:

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

    Вам следует настроить основные атрибуты:

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

    Значение по умолчанию для listen_to — 0.0.0.0. Настоятельно рекомендуется изменить это значение.

    Переопределение параметров по умолчанию

    Параметры по умолчанию будут объединены с параметрами, переданными через параметры client_options и server_options. Если параметр задан и по умолчанию, и через параметр options, последний будет иметь приоритет.

    Следующий пример включит X11Forwarding, который отключён по умолчанию:

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

    Локальное тестирование

    Для локального тестирования вы можете использовать vagrant и Virtualbox или VMWare для запуска тестов локально. Вам потребуется установить Virtualbox и Vagrant в вашей системе. Смотрите Vagrant Downloads для получения пакета vagrant, подходящего для вашей системы. Для всех наших тестов мы используем test-kitchen. Если вы не знакомы с test-kitchen, пожалуйста, ознакомьтесь с их руководством.

    Затем установите 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
    

    Для получения дополнительной информации смотрите test-kitchen

    FAQ / Возможные проблемы

    Я не могу войти в свою учётную запись. Я зарегистрировал ключ клиента, но он всё равно не пускает меня.

    Если вы исчерпали все типичные проблемы (брандмауэр, сеть, отсутствие ключа, неправильный ключ, отключённая учётная запись и т. д.), возможно, ваша учётная запись заблокирована. Самый быстрый способ выяснить это — посмотреть на хэш пароля вашего пользователя:

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

    Если хэш содержит !, ваша учётная запись заблокирована:

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

    Правильный способ решить эту проблему — разблокировать учётную запись (passwd -u myuser). Если у пользователя нет пароля, вы можете разблокировать её через:

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

    В качестве альтернативы, если вы собираетесь использовать PAM, вы можете включить его через use_pam = true. PAM позволит заблокированным пользователям входить с ключами.

    Почему моё приложение больше не подключается через SSH?

    Всегда сначала смотрите в файлы журналов и, если возможно, смотрите на согласование между клиентом и сервером, которое выполняется при подключении.

    Мы видели некоторые проблемы в приложениях (на основе python и ruby), которые связаны с использованием ими устаревшего набора криптографических алгоритмов. Это конфликтует с данным модулем усиления, который сократил список шифров, кодов аутентификации сообщений (MAC) и алгоритмов обмена ключами (KEX) до более безопасного набора.

    Если вы обнаружите, что этого недостаточно, вы можете активировать cbc_required для шифров, weak_hmac для MAC и weak_kex для KEX.

    Участники + Благодарности

    • 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

    Лицензия и автор

    • Автор:: Dominik Richter [email protected]
    • Автор:: Deutsche Telekom AG

    Лицензировано на условиях Apache License, Version 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу

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

    Если это не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на основе «КАК ЕСТЬ», БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующего разрешения и ограничения по Лицензии.

    Скачать инструмент