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

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

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.

Репозиторий
6031482 лет назадПроверено 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 - true, если требуется IPv6
  • 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 = {} - задайте значения в хэше, чтобы переопределить настройки модуля

Использование

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

class { 'ssh_hardening': }

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

class { 'ssh_hardening::server': }
class { 'ssh_hardening::client': }

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

class { 'ssh_hardening::server':
  "listen_to" : ["10.2.3.4"]
}

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

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

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

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

class { 'ssh_hardening':
  server_options => {
    'X11Forwarding' => 'yes',
  },
}

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

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

Затем установите test-kitchen:

# 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 / Возможные проблемы

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

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

sudo grep myuser /etc/shadow

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

myuser:!:16280:7:60:7:::

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

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 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу

http://www.apache.org/licenses/LICENSE-2.0

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

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