1.5. OpenSSH のセキュリティーの強化


より強力な鍵を実装したり、ユーザーアクセスを制限したりするなど、OpenSSH の設定を変更して、システムのセキュリティーを強化します。これにより、さまざまな攻撃からサーバーを保護できます。

SSH を真に効果的に活用するには、安全性の低い接続プロトコルの使用を避け、OpenSSH スイートに置き換える必要があります。そうでなければ、ユーザーのパスワードは SSH によって 1 回のセッションの間だけ保護され、その後 Telnet 経由でログインした際に盗み取られてしまう可能性がある。

また、認証にパスワードを使用せず、鍵ペアのみを許可することで、攻撃対象領域を縮小できます。詳細は、OpenSSH サーバーで鍵ベースの認証を唯一の方法として設定する セクションを参照してください。

RHEL 10 では、PermitRootLogin オプションはデフォルトで prohibit-password に設定されています。これにより、root ユーザーとしてログインする際にパスワードではなく鍵認証が強制され、ブルートフォース攻撃を防ぐことでリスクが軽減されます。

警告

root ユーザーとしてのログインを許可することは、セキュアな方法ではありません。どのユーザーがどの特権コマンドを実行したかを管理者が監査できなくなるためです。管理コマンドを使用するには、ログインして、代わりに sudo を使用します。

1.5.1. より強力な SSH キータイプの作成と適用

セキュリティーとパフォーマンスの面で従来のアルゴリズムよりも優れている ECDSA または Ed25519 キーのみを生成してください。OpenSSH サーバーを設定して、RSA ホストキーの自動生成を無効にし、より強力なキータイプの使用を強制することもできます。

-t オプションを使用すると、ssh-keygen コマンドに楕円曲線 Digital Signature Algorithm (ECDSA) またはエドワーズ曲線 25519 (Ed25519) の鍵を生成するように指示できます。ECDSA は、同等の対称鍵強度において RSA よりも優れたパフォーマンスを実現します。また、より短い鍵を生成します。Ed25519 公開鍵アルゴリズムは、RSA、DSA、ECDSA よりもセキュアで高速な Twisted Edwards 曲線の実装です。

重要

Ed25519 アルゴリズムは FIPS-140 に準拠しておらず、FIPS モードでは OpenSSH は Ed25519 鍵で機能しません。

前提条件

  • openssh-server パッケージはシステムにインストールされています。

手順

  1. RHEL でホストの鍵の作成を設定するには、インスタンス化したサービス sshd-keygen@.service を使用します。たとえば、RSA 鍵タイプの自動作成を無効にするには、次のコマンドを実行します。

    # systemctl mask sshd-keygen@rsa.service
    注記

    cloud-init 方式が有効になっているイメージでは、ssh-keygen ユニットが自動的に無効になります。これは、ssh-keygen template サービスが cloud-init ツールに干渉し、ホストキーの生成で問題が発生する可能性があるためです。これらの問題を回避するために、etc/systemd/system/sshd-keygen@.service.d/disable-sshd-keygen-if-cloud-init-active.conf というドロップイン設定ファイルは、cloud-init が実行されている場合に ssh-keygen ユニットを無効にします。

  2. OpenSSH は、RSA、ECDSA、および Ed25519 のサーバーホストキーが存在しない場合、自動的に作成するため、セキュリティーの低い暗号化方式のキーは削除してください。

    # rm -f /etc/ssh/ssh_host_rsa_key
  3. SSH 接続に特定のキータイプのみを許可するには、/etc/ssh/sshd_config 内の該当行の先頭にあるコメントアウトを削除します。たとえば、Ed25519 ホスト鍵のみを許可する場合、対応する行は次のようになります。

    # HostKey /etc/ssh/ssh_host_rsa_key
    # HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
  4. sshd サービスを再起動します。

    # systemctl restart sshd

検証

  • -t オプションを付けずに ssh-keygen コマンドを実行し、その出力に RSA キーが含まれていないことを確認してください。
  • ECDSA および Ed25519 キーのみを強制的に使用させるサーバー上で、SSH RSA キーを使用してログインを試みる。サーバーは接続を拒否するべきです。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る