AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Amazon EC2 Linux インスタンスの SSH 暗号を削除してセキュリティ要件を満たすにはどうすればよいですか?

所要時間2分
0

セキュリティ要件を満たすために、Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスから特定の SSH (セキュアシェル) 暗号を削除したいと考えています。

概要

Amazon EC2 Linux インスタンスの安全な環境を維持するには、安全ではない SSH 暗号を削除してください。次に、暗号化アルゴリズムのみを使用するように SSH を設定します。

解決策

**前提条件:**システムが暗号ポリシーをサポートしているかどうかを確認します。Amazon Linux 2023 インスタンスは、暗号ポリシー機能を使用して暗号化設定を管理します。暗号ポリシーをサポートするディストリビューションの詳細については、Ubuntu ウェブサイトの「(8) update-crypto-policies」、または Red Hat Enterprise Linux (RHEL) ウェブサイトの「System-wide cryptographic policies」を参照してください。

システムが暗号ポリシーをサポートしているかどうかを確認するには、SSHAmazon EC2 Instance Connect、または ](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)AWS Systems Manager[ の機能であるセッションマネージャーを使用してインスタンスに接続します。次のコマンドを実行します。

[user@localhost] # update-crypto-policies --show

次の例のような出力が表示される場合、お使いのシステムは暗号ポリシーをサポートしていません。

update-crypto-policies: command not found

システムが暗号ポリシーをサポートしている場合、次の出力のいずれかが表示されます。

LEGACY
DEFAULT
FUTURE
FIPS

SSH 暗号を手動で削除する

Linux システムが暗号ポリシーをサポートしていない場合は、sshd_config ファイルを変更して SSH 暗号を手動で削除してください。

sshd_config ファイルを変更するには、次の手順を実行します。

  1. バックアップとして、インスタンスから Amazon マシンイメージ (AMI) または Amazon Elastic Block Store (Amazon EBS) のスナップショットを作成します。

  2. SSHEC2 インスタンス接続、またはセッションマネージャーを使用してインスタンスにログインします。

  3. root ユーザーに切り替えるには、次のコマンドを実行します。

     [user@localhost] # sudo -i
  4. システム上で有効になっている暗号を見つけるには、次のコマンドを実行します。

    [root@localhost] # sshd -T | grep 'ciphers'
  5. 出力のリストを書き留め、安全でない暗号を削除します。

  6. /etc/ssh/ ディレクトリに移動するには、次のコマンドを実行します。

    [root@localhost] # cd /etc/ssh/
  7. sshd_config ファイルのバックアップを作成するには、次のコマンドを実行します。

    [root@localhost] # cp sshd_config sshd_config.bak
  8. sshd_config ファイルをテキストエディターで開くには、次のコマンドを実行します。

    [root@localhost] # vi sshd_config
  9. ファイルに、次のような暗号セクションが含まれていることを確認します。

    ciphers chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
  10. 暗号セクションがファイルにある場合は、それを編集して安全でない暗号を削除します。暗号セクションがない場合は、ファイルの末尾に暗号リストを追加します。

  11. ファイルを保存して終了します。

  12. 変更を適用するには、次のコマンドを実行して SSHD プロセスを再起動します。

[root@localhost] # service sshd restart
  1. 変更が更新された暗号リストに適用されていることを確認するには、次のコマンドを実行します。
[root@localhost] # sshd -T | grep 'ciphers'

安全ではない Kex アルゴリズムの削除

安全でないキー交換 (Kex) アルゴリズムを削除するには、次の手順を実行します。

  1. バックアップとして、インスタンスから Amazon マシンイメージ (AMI) または Amazon EBS のスナップショットを作成します。

  2. SSHEC2 インスタンス接続、またはセッションマネージャーを使用してインスタンスにログインします。

  3. 現在有効になっている Kex アルゴリズムを見つけるには、以下のコマンドを実行します。

    [root@localhost] # sshd -T | grep 'kex'
  4. システム上で有効になっている暗号を見つけるには、次のコマンドを実行します。

    [root@localhost] # sshd -T | grep 'ciphers'
  5. 出力のリストを書き留め、安全でない暗号を削除します。

  6. /etc/ssh/ ディレクトリに移動するには、次のコマンドを実行します。

    [root@localhost] # cd /etc/ssh/
  7. sshd_config ファイルのバックアップを作成するには、次のコマンドを実行します。

    [root@localhost] # cp sshd_config sshd_config.bak
  8. KexAlalgorithm で始まる行から安全でないアルゴリズムを削除します。

  9. ファイルに、次のような暗号セクションが含まれていることを確認します。

    ciphers chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
  10. 暗号セクションがファイルにある場合は、それを編集して安全でない暗号を削除します。暗号セクションがない場合は、ファイルの末尾に暗号リストを追加します。

  11. ファイルを保存して終了します。

  12. 変更が適用されたことを確認するには、次のコマンドを実行します。

[root@localhost] # sshd -T | grep 'kex'

暗号ポリシーを使用して暗号を削除する

システムが暗号ポリシーをサポートしていて、以前に生成したプロファイルを使用する場合は、次の手順を実行します。

  1. ディストリビューションで利用可能な暗号プロファイルを確認するには、次のコマンドを実行します。

    [user@localhost] # ls /usr/share/crypto-policies/policies
  2. システムのポリシー設定を変更するには、次のコマンドを実行します。

    [user@localhost] # sudo update-crypto-policies --set POLICY_NAME

    **注:**POLICY_NAME は、ご使用のポリシーの名前 (FUTURE など) に置き換えてください。

  3. 新しいポリシーを有効にするには、次のコマンドを実行します。

    [user@localhost] # sudo reboot
  4. 新しいポリシーが有効になっていることを確認するには、次のコマンドを実行します。

    [user@localhost] # sudo update-crypto-policies --show

以前に生成したポリシーがセキュリティ要件を満たさない場合は、暗号ポリシー用のカスタムポリシーを作成します。

カスタムポリシーを作成するには、次の手順を実行します。

  1. ポリシーをコピー:

    [user@localhost] # sudo cp /usr/share/crypto-policies/policies/DEFAULT.pol /etc/crypto-policies/policies/POLICY_NAME.pol
  2. テキストエディターで新しいポリシーファイルを編集し、システムで使用したくない暗号を削除します。

    [user@localhost] # sudo vi /etc/crypto-policies/policies/POLICY_NAME.pol
  3. ファイルを保存して終了します。

  4. システムのポリシー設定を更新するには、次のコマンドを実行します。

    [user@localhost] # sudo update-crypto-policies --set POLICY_NAME
  5. 新しいポリシーを有効にするには、次のコマンドを実行します。

    [user@localhost] # sudo reboot
  6. 新しいポリシーが有効になっていることを確認するには、次のコマンドを実行します。

    [user@localhost] # sudo update-crypto-policies --show

関連情報

デフォルトの SSH サーバー構成

AL2023 で FIPS モードを有効にする

AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません