Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

AWS KMSを使用してデータを保護するためのvSRX仮想ファイアウォール3.0の展開

AWS KMSとvSRX仮想ファイアウォール3.0の統合

Junos では、VPN やその他のアプリケーション(mgd など)を統合し、AWS KMS と vSRX 仮想ファイアウォール 3.0 を通信できるようにするラッパーライブラリを利用できます。このラッパー ライブラリは、PKCS#11 API を使用してキー管理サービス (KMS) へのインターフェイスを提供します。Junos アプリケーションは、AWS クラウドプラットフォームのサポートが更新されたこのラッパーライブラリを使用して、KMS と通信します。

AWS上のKMSにアクセスするためにvSRX仮想ファイアウォール3.0を有効にしてセットアップするには。

  1. AWSでvSRX仮想ファイアウォール3.0インスタンスを起動します。

  2. vSRX 仮想ファイアウォール 3.0 用の KMS と DynamoDB をセットアップします。

    vSRX 仮想ファイアウォールを使用して KMS サービスと通信する前に、次の手順で AWS 環境/アカウントを設定する必要があります。

    1. DynamoDB テーブルを作成します。

      AWS上のDynamoDBサービスは、vSRX仮想ファイアウォール3.0アプリケーションによって作成されたキー情報を保存および管理するために、KMS PKCS11プロセスによって使用されます。そのため、dynamo DBテーブルを作成し、作成したテーブルの名前をvSRX仮想ファイアウォール3.0に渡す必要があります。

      ウェブコンソールまたは CLI を使用して、DynamoDB テーブルを作成します。ウェブコンソールでは、 DynamoDB->Tables に移動し、キーを格納する新しいテーブルを作成するオプションがあります。

    2. vSRX仮想ファイアウォール3.0インスタンスへのアクセスを有効にするIAMロールを作成します。

      KMSサービスは、AWS上のvSRX仮想ファイアウォールなどのEC2インスタンスで利用できます。前述のように、DynamoDB テーブルを作成した後、vSRX 仮想ファイアウォールでサービスを使用するには、アクセスポリシーを持つ IAM ロールを有効にしてインスタンスにバインドする必要があります。また、vSRX仮想ファイアウォールはCloud Watchを使用してイベントを記録します。そのため、たとえばこのサービスを有効にするポリシーも必要です。

      これらのポリシーは、vSRX仮想ファイアウォールインスタンスでKMSサービスを使用するために最低限必要です。ロールが作成されたら、GUI または AWS CLI を使用して、この IAM ロールをインスタンスにアタッチできます。

      IAM ロールには、以下のアクセスポリシーを含める必要があります。

      • AWS Managed:

        • AmazonS3ReadOnlyAccess

        • Amazon SSMReadOnlyAccess

        • クラウドウォッチフルアクセス

      • カスタム:

        • DynamoDBTableFullAccess

        • KMSフィールドアクセス

  3. IAMロールをvSRX仮想ファイアウォールインスタンスにアタッチします。

    IAM ロールを作成したら、GUI または AWS CLI を使用して、vSRX 仮想ファイアウォール インスタンスにアタッチします。

    WebコンソールでvSRXインスタンスをアタッチするには、インスタンスに移動します。Web コンソールの上隅で、[ アクション ] → [ セキュリティ ] → [IAM ロールの変更] の順にクリックします。作成した IAM ロールをアタッチします。 「Amazon EC2 の IAM ロール」を参照してください。

  4. コマンドを使用して HSM の状態 show security hsm status を確認します。この CLI 出力が更新され、使用されている DynamoDB と、HSM の到達可能性、マスターバインディングキー(MBK)、マスター暗号化キー (MEK) ステータスが表示されます。最初は、HSM の状態に [アクセス可能] が [いいえ] と表示されます。

  5. HSM サービスにアクセスできるようにするには、vSRX インスタンスでキーが保存されている DynamoDB テーブルを指定する必要があります。コマンドを使用して request security hsm set dynamo-db <name_of_the_dynamodb> DynamoDB テーブルを指定します。

    このコマンドを実行すると、HSM ステータスがアクセス可能に変わり、AWS dynamoDB にバインドされた dynamoDB テーブルが表示されます。

  6. KMSサービスを有効にした後、vSRX仮想ファイアウォール3.0のコマンドを使用してマスター request security hsm master-encryption-password set plain-text-password 暗号化キー(MEK)を指定する必要があります。

    MEKを指定すると、vSRX仮想ファイアウォール3.0はKMSでRSA 2048キーペア(MBK)を作成し、KMSでマスターバインディングキー(MBK)を使用してMEKを暗号化します。MEKは、設定ハッシュ、秘密鍵ペアファイル、マスターパスワードファイル(存在する場合)などの保存データを暗号化するための鍵として使用されます。

  7. マスター暗号化パスワードを変更します。

    マスター暗号化パスワードを変更する場合は、動作モードから次のコマンドを実行します request security hsm master-encryption-password set plain-text-password

    メモ:

    マスター暗号化パスワードの変更中は、設定を変更しないことをお勧めします。

    マスター暗号化パスワードがすでに設定されているかどうかがチェックされます。マスター暗号化パスワードが設定されている場合は、現在のマスター暗号化パスワードを入力するよう求められます。

    入力したマスター暗号化パスワードは、現在のマスター暗号化パスワードと照合され、これらのマスター暗号化パスワードが一致することを確認します。検証が成功すると、新しいマスター暗号化パスワードをプレーンテキストとして入力するように求められます。パスワードを検証するために、キーを2回入力するように求められます。

    その後、システムは新しいマスター暗号化パスワードを使用して機密データを再暗号化します。マスター暗号化パスワードの変更を再試行する前に、この再暗号化プロセスが完了するのを待つ必要があります。

    暗号化されたマスター暗号化パスワードファイルが紛失または破損している場合、システムは機密データを復号化できません。システムは、機密データをクリアテキストで再インポートし、再暗号化することによってのみ回復できます。

AWSクラウドフォーメーションテンプレート

このトピックでは、AWS クラウドフォーメーションテンプレート (CFT) を提供します。このトピックで説明したように、それぞれの CloudFormation スタックを作成することで、AWS CLI またはウェブコンソールを使用してこれらのテンプレートをデプロイし、CloudFormation サービスを使用して DynamoDB テーブルと IAM ロールを作成できます。

  • CloudFormation スタックを作成するには、次のいずれかを実行します。

    • CLI を使用して CloudFormation スタックをデプロイする - 以下の YAML ファイルとサンプルコマンドを参照して、CloudFormation スタックを作成します。

    • Web コンソールを使用してデプロイします。

      • CloudFormation ->Create Stack-> に移動し、[デザイナーでテンプレートを作成] をクリックします。下部にテンプレートを選択するオプションと、右下にYAML形式を選択するオプションがあります。

      • 添付のサンプル テンプレートを貼り付け、[ 保存 ] オプションをクリックして保存します。S3バケットにファイルを保存するように求められます。テンプレートを保存すると、S3 バケットの場所が指定されます。

      • S3バケットの場所をコピーし、 CloudFormation->スタック の作成->テンプレートの準備ができました->S3 URLに貼り付けます。プロンプトに従い、[ 次へ ] をクリックしてスタックを作成します。プロンプトに従って、YAML ファイルに指定されたスタック名を入力します。

      メモ:

      AWS GUI を使用したテンプレートのデプロイまたは DynamoDb テーブルの作成で問題が発生した場合は、管理者に連絡して、アカウントにアクセス許可があることを確認してください。DynamoDB を作成するときは、「 命名規則とデータ型」のガイドラインを参照してください。

      ウェブコンソールから CloudFormation スタックを作成するために以下の YAML ファイルを使用している場合は、S3 URL を指定した後、YAML ファイルに記載されているスタック名を入力し、[次へ] をクリックします。

      たとえば、lAM ロール YAML ファイルでは、DynamoDB YAML ファイルによって作成された DynamoDB スタックの名前が参照されます。誤ったスタック名を指定すると、CloudFormation スタックの形成中にエラーが発生します。

      DynamoDB 用 AWS クラウドフォーメーションテンプレートの詳細については、「 DynamoDB 用クラウドフォーメーションテンプレート 」を参照してください。

      lAM ロールを作成するための AWS クラウドフォーメーションテンプレートの詳細については、「 IAM ロールを作成するためのクラウドフォーメーションテンプレート 」を参照してください。

DynamoDB 用クラウドフォーメーションテンプレート

AWS CLI コマンドを実行 aws cloudformation create-stack --stack-name libpkcs11aws-ddb --template-body file:///$PWD/ddb_table.cfn.yamlして、このテンプレートをデプロイします。

メモ:

CLI 引数のスタック名とテンプレート本文ファイルは、YAML ファイルで定義されているとおりに指定する必要があります。

IAM ロールを作成するためのクラウド形成テンプレート

AWS CLI コマンドを実行 aws --profile saml cloudformation create-stack --stack-name libpkcs11aws-ddb --template-body file:///$PWD/ddb_table.cfn.yamlして、このテンプレートをデプロイします。

メモ:

CLI 引数のスタック名とテンプレート本文ファイルは、YAML ファイルで定義されているとおりに指定する必要があります。