27.4. sshd RHEL システムロールを使用して SSH サーバー上のシステム全体の暗号化ポリシーをオーバーライドする


デフォルトの暗号化設定が特定のセキュリティーまたは互換性のニーズに合わない場合は、sshd RHEL システムロールを使用して、OpenSSH サーバー上のシステム全体の暗号化ポリシーをオーバーライドすることができます。特に次のような主な状況では、オーバーライドすることを推奨します。

  • 古いクライアントとの互換性: デフォルトよりも弱い暗号化アルゴリズム、鍵交換プロトコル、または暗号を使用する必要がある場合。
  • より強力なセキュリティーポリシーの適用: 同時に、より弱いアルゴリズムを無効にすることもできます。このような対策は、特に高度にセキュアで規制された環境では、デフォルトのシステム暗号化ポリシーの範囲を超えたものになることがあります。
  • パフォーマンスに関する考慮事項: システムのデフォルト設定により適用される強力なアルゴリズムにより、一部のシステムでは計算負荷が大きくなる可能性があります。
  • 特定のセキュリティーニーズに合わせたカスタマイズ: デフォルトの暗号化ポリシーでは対応できない固有の要件に合わせる場合。
警告

sshd RHEL システムロールで、暗号化ポリシーのすべての要素をオーバーライドすることはできません。たとえば、別のレイヤーで SHA1 署名が禁止されている場合があります。より一般的な解決策については、RHEL システムロールを使用したカスタム暗号化ポリシーの設定 を参照してください。

前提条件

手順

  1. 次の内容を含む Playbook ファイル (例: ~/playbook.yml) を作成します。

    - name: Deploy SSH configuration for OpenSSH server
      hosts: managed-node-01.example.com
      tasks:
        - name: Overriding the system-wide cryptographic policy
          ansible.builtin.include_role:
            name: rhel-system-roles.sshd
          vars:
            sshd_sysconfig: true
            sshd_sysconfig_override_crypto_policy: true
            sshd_KexAlgorithms: ecdh-sha2-nistp521
            sshd_Ciphers: aes256-ctr
            sshd_MACs: hmac-sha2-512-etm@openssh.com
            sshd_HostKeyAlgorithms: rsa-sha2-512,rsa-sha2-256

    サンプル Playbook で指定されている設定は次のとおりです。

    sshd_KexAlgorithms
    たとえば、ecdh-sha2-nistp256ecdh-sha2-nistp384ecdh-sha2-nistp521diffie-hellman-group14-sha1、または diffie-hellman-group-exchange-sha256 などの鍵交換アルゴリズムを選択できます。
    sshd_Ciphers
    たとえば、aes128-ctraes192-ctr、または aes256-ctr などの暗号を選択できます。
    sshd_MACs
    たとえば、hmac-sha2-256hmac-sha2-512、または hmac-sha1 などの MAC を選択できます。
    sshd_HostKeyAlgorithms
    ecdsa-sha2-nistp256ecdsa-sha2-nistp384ecdsa-sha2-nistp521ssh-rsa などの公開鍵アルゴリズムを選択できます。

    Playbook で使用されるすべての変数の詳細は、コントロールノード上の /usr/share/ansible/roles/rhel-system-roles.sshd/README.md ファイルを参照してください。

    RHEL 9 管理対象ノードでは、システムロールによって設定が /etc/ssh/sshd_config.d/00-ansible_system_role.conf ファイルに書き込まれ、暗号化オプションが自動的に適用されます。sshd_config_file 変数を使用してファイルを変更できます。ただし、設定を確実に有効にするために、設定された暗号化ポリシーが含まれる /etc/ssh/sshd_config.d/50-redhat.conf ファイルよりも辞書式順序で前に来るようなファイル名を使用してください。

    RHEL 8 管理対象ノードでは、sshd_sysconfig_override_crypto_policy 変数と sshd_sysconfig 変数を true に設定してオーバーライドを有効にする必要があります。

  2. Playbook の構文を検証します。

    $ ansible-playbook --syntax-check ~/playbook.yml

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  3. Playbook を実行します。

    $ ansible-playbook ~/playbook.yml

検証

  • 詳細なログを表示する SSH 接続を使用して手順が成功したかどうかを検証し、定義した変数を以下の出力で確認できます。

    $ ssh -vvv <ssh_server>
    ...
    debug2: peer server KEXINIT proposal
    debug2: KEX algorithms: ecdh-sha2-nistp521
    debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256
    debug2: ciphers ctos: aes256-ctr
    debug2: ciphers stoc: aes256-ctr
    debug2: MACs ctos: hmac-sha2-512-etm@openssh.com
    debug2: MACs stoc: hmac-sha2-512-etm@openssh.com
    ...

関連情報

  • /usr/share/ansible/roles/rhel-system-roles.sshd/README.md ファイル
  • /usr/share/doc/rhel-system-roles/sshd/ ディレクトリー
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.