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設定を提供します。

リポジトリを見る
603182年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Puppet SSH ハードニング

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 - 暗号化方式にCBCが必要な場合はtrue。これは通常、設定済みの安全な暗号化方式が有効になっていない古いM2MメカニズムがSSHと通信する必要がある場合にのみ必要です。CBCは脆弱な代替手段です。これより弱いものは避けるべきであり、利用できません。
  • weak_hmac = false - より弱いHMACメカニズムが必要な場合はtrue。これは通常、設定済みの安全なHMACが有効になっていない古いM2MメカニズムがSSHと通信する必要がある場合にのみ必要です。
  • weak_kex = false - より弱い鍵交換(KEX)メカニズムが必要な場合はtrue。これは通常、設定済みの安全なKEXが有効になっていない古いM2MメカニズムがSSHと通信する必要がある場合にのみ必要です。
  • allow_root_with_key = false - falseはrootログインを完全に無効にします。鍵ベースのメカニズムによるrootログインを許可するにはtrueに設定します。
  • ports = [ 22 ] - ssh-serverが待ち受け、ssh-clientが接続するポート
  • listen_to = [ "0.0.0.0" ] - ssh-serverが待ち受ける1つ以上のIPアドレス。デフォルトは空ですが、セキュリティ上の理由から設定する必要があります!
  • remote_hosts - ssh-clientが接続できる1つ以上のホスト。デフォルトは空ですが、セキュリティ上の理由から設定する必要があります!
  • allow_tcp_forwarding = false - TCP転送を許可するにはtrueに設定
  • allow_agent_forwarding = false - エージェント転送を許可するにはtrueに設定
  • use_pam = false - pam認証を無効にするにはfalse
  • 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パラメータで渡されたオプションとマージされます。 オプションがデフォルトとオプションパラメータの両方で設定されている場合、後者が優先されます。

次の例では、デフォルトで無効になっているX11Forwardingを有効にします:

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

ローカルテスト

ローカルテストでは、vagrantとVirtualboxまたはVMWareを使用してローカルでテストを実行できます。システムにVirtualboxとVagrantをインストールする必要があります。システムに適したvagrantパッケージについてはVagrant Downloadsを参照してください。すべてのテストでtest-kitchenを使用します。test-kitchenに慣れていない場合は、their guideを参照してください。

次にtest-kitchenをインストールします:

root@kitploit:~
# 依存関係のインストール
gem install bundler
bundle install

# テストの取得
bundle exec thor kitchen:fetch-remote-tests

# lintチェックの実行
bundle exec rake lint

# specチェックの実行
bundle exec rake spec

# 1台のマシンでの高速テスト
bundle exec kitchen test default-ubuntu-1204

# Debianベースのマシンでのテスト
bundle exec kitchen test

# 開発用
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、MACにweak_hmac、KEXにweak_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

ライセンスと作者

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

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

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

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

ツールをダウンロード