# mulesoft セキュリティ (anypoint-security) - Full Documentation # Anypoint Runtime Fabric の TLS コンテキストの追加 (高度な設定) クライアント認証 (相互認証)、暗号化の選択、TLS バージョンの選択など、高度な設定が環境で必要な場合は、シークレットマネージャーから TLS コンテキストをインポートできます。​[「シークレットマネージャーからの TLS コンテキストのインポート (高度)」](https://docs.mulesoft.com/jp/runtime-fabric/1.13/configure-adv-tls-context)​を参照してください。 ## [](#関連情報)関連情報 - [クライアント認証の有効化](https://docs.mulesoft.com/jp/anypoint-security/enable-client-authentication) - [暗号化スイート](https://docs.mulesoft.com/jp/anypoint-security/cipher-suites) - [サポート対象シークレット種別](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-type-support-reference) - [Anypoint Runtime Fabric でのインバウンドトラフィックの有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic) # Anypoint Security Release Notes Anypoint Security provides a layered approach to secure your application network. These layers work together to protect both the application network and its individual nodes by controlling access to APIs, enforcing policies, and proxying all inbound or outbound traffic to mitigate external threats. These capabilities are optimized for security, providing you with a dedicated endpoint to detect attacks and validate traffic without taxing your implementations. These release notes apply to Anypoint Security: - [Secrets Manager Release Notes](https://docs.mulesoft.com/jp/release-notes/anypoint-security/secrets-manager-release-notes) ## [](#see-also)See Also - [Known Issues](https://help.salesforce.com/s/issues) # Anypoint Security の概要 Anypoint Security は、多層的アプローチでアプリケーションネットワークを保護します。これらのレイヤーは連携し、API へのアクセスを制御したり、ポリシーを適用したり、すべてのインバウンドトラフィックまたはアウトバウンドトラフィックをプロキシしたりして、アプリケーションネットワークとネットワークの個々のノードの両方を保護します。これにより、外部の脅威や攻撃が軽減されます。 Anypoint Security には、ネットワーク実装に高い負荷をかけずに攻撃を検出してトラフィックを検証する専用のエンドポイントも用意されています。 ![Anypoint Security 図: ポリシーと TLS 検証を使用して要求エンドポイントによって保護された Runtime Fabric 内の Mule アプリケーション。](/mulesoft/current/ja-jp/anypoint-security/_images/index-1c19d.png) ## [](#ポリシー)ポリシー Anypoint Security の特徴として、Runtime Fabric にデプロイされているすべてのノードにポリシーを適用する、パフォーマンス、信頼性、拡張性の高いサービスが挙げられます。その後、これらのポリシーは、すべてのトラフィックが通過するデフォルトのファイアウォール/ルーター機能として動作します。 ## [](#シークレットマネージャー)シークレットマネージャー Anypoint Security には、デプロイメントで使用される TLS 証明書とキーストアを保存するセキュアコンテナが用意されています。 シークレットマネージャーを使用すれば、Runtime Fabric へのインバウンドトラフィックを暗号化する TLS コンテキストをセットアップするために必要なシークレットを保存できます。 ## [](#トークナイゼーションサービス)トークナイゼーションサービス Anypoint Security のトークナイゼーションサービスでは、クレジットカード番号などの重要な値をトークンに置き換えて機密データの不必要な漏洩を保護します。
Anypoint Security を使用するには、個別のライセンスが必要です。詳細は、MuleSoft アカウント担当者にお問い合わせください。
## [](#関連情報)関連情報 - [シークレットマネージャー](https://docs.mulesoft.com/jp/anypoint-security/index-secrets-manager) - [ポリシー](https://docs.mulesoft.com/jp/anypoint-security/index-policies) - [トークナイゼーションサービス](https://docs.mulesoft.com/jp/anypoint-security/tokenization) # API ゲートウェイへのトークナイゼーションポリシーの適用 このトークナイゼーション実装では、Edge と Mule アプリケーション間の仲介役として機能する Mule 4 の API ゲートウェイ機能にトークナイゼーションポリシーを適用します。このケースのトークナイゼーションサービスは暗黙的で、API ゲートウェイとの内部インテグレーションを介して使用できるようになります。 ## [](#前提条件)前提条件 トークナイゼーションサービスのこの実装を設定し、使用するには、以下が必要です。 - API Manager でポリシーを管理する権限。 [「環境にアクセスするための権限の付与」](https://docs.mulesoft.com/jp/api-manager/latest/environment-permission-task)​を参照してください。 - トークナイゼーションサービスを管理する権限。 [「トークナイゼーション権限の付与」](https://docs.mulesoft.com/jp/anypoint-security/grant-tokenization-permissions)​を参照してください。 ## [](#トークナイゼーションポリシーを適用する)トークナイゼーションポリシーを適用する トークナイゼーションサービスポリシーが API ゲートウェイに直接適用されている場合、トークナイゼーション RAML を使用しなくても、トークナイゼーションサービスを公開できます。Mule アプリケーションがプロキシとして機能するように API ゲートウェイをセットアップするだけで済みます。 API ゲートウェイにトークナイゼーションポリシーを適用する手順は、次のとおりです。 1. [VM/ベアメタルの Runtime Fabric のインストールの開始](https://docs.mulesoft.com/jp/runtime-fabric/1.13/install-create-rtf-arm). 2. Runtime Fabric で​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​します。 3. [トークナイゼーション形式を作成](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats)​します。 4. [トークナイゼーションサービスを作成](https://docs.mulesoft.com/jp/anypoint-security/create-tokenization-service)​します。 5. API Manager で、Mule アプリケーションがプロキシとして機能するように ​[API ゲートウェイをセットアップ](https://docs.mulesoft.com/jp/mule-gateway/mule-gateway-config-autodiscovery-mule4)​します。
API ゲートウェイバージョン 4.0 以降を使用する必要があります。API を実装する Mule アプリケーションはどのバージョンでも問題ありません。
6. API ゲートウェイを設定したら、API Manager で、​**\[Apply New Policy (新規ポリシーを適用)\]**​ をクリックして、適用するトークナイゼーションサービスポリシーを選択します。 **\[Policies (ポリシー)\] > \[Tokenization (トークナイゼーション)\]**​ に使用可能な​[トークナイゼーションサービスポリシー](#api-manager::policy-mule4-tokenization.adoc)​が表示されます。 これで、トークナイゼーションサービスを使用して、要求ペイロードや応答ペイロードをトークナイズおよびデトークナイズできるようになります。 ## [](#関連情報)関連情報 - [トークナイゼーションポリシー](#api-manager::policy-mule4-tokenization.adoc) - [Tokenization (トークナイゼーション)](https://docs.mulesoft.com/jp/anypoint-security/tokenization) - [トークナイゼーションサービスの設定](https://docs.mulesoft.com/jp/anypoint-security/tokenization-example) # Edge の Anypoint Security ポリシー Anypoint Security の特徴として、Anypoint Runtime Fabric と連携し、Anypoint Runtime Fabric にデプロイされているノードにセキュリティポリシーを適用する、パフォーマンス、信頼性、拡張性の高いサービスが挙げられます。Anypoint Security には、API を保護するサービス拒否 (DoS)、IP 許可リスト、HTTP 制限、および Web アプリケーションファイアウォール (WAF) ポリシーが用意されています。 これらの Anypoint Security ポリシーを使用して、Runtime Fabric へのすべてのトラフィックを管理できます。また、API Manager ポリシーを利用すれば、特定の API に特定の動作を適用できます。 ![Anypoint Platform サービスを Runtime Fabric API ポリシーとそれぞれの Mule アプリケーションに接続するフローチャート。](/mulesoft/current/ja-jp/anypoint-security/_images/index-e9021.png) その後、Anypoint Security ポリシーは、すべてのトラフィックが通過するデフォルトのルーター機能として動作します。 - 脅威の検出と防止 - コンテンツ攻撃の防止 (HTTP ヘッダーおよびメッセージ制限チェック) - サービス拒否 - IP 許可リスト - 高度な TLS (証明書のピン留めや CRL など) - 基本的な TLS (相互 TLS や SSL 終了など) API Manager で設定した API ポリシーで API ゲートウェイをチェックします。このポリシーを使用すると、Mule アプリケーションレベルで適用する特定の制限をさらにカスタマイズしたり、拡張したりできます。 このセキュリティレイヤーにより、API Manager のポリシーと同じ制御が実現します。次に例を示します。 - 基本的な TLS (相互 TLS や SSL 終了など) - レート制限 - OAuth - 承認とアカウンティング (AAA) ## [](#anypoint_security_prereqs)前提条件 セキュリティポリシーを設定し、使用するには、以下が必要です。 - Anypoint Platform アカウントの Anypoint Security - Edge エンタイトルメント。 **Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合は、各自のアカウントで Anypoint Security が有効になるようにカスタマーサクセスマネージャーに依頼してください。 - インバウンドトラフィックが設定された VM/ベアメタルの Runtime Fabric。Anypoint Runtime Fabric は、Mule アプリケーションや API ゲートウェイのデプロイメントおよびオーケストレーションを自動化するコンテナサービスです。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/index-vm-bare-metal)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - Runtime Fabric の​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​し、Mule アプリケーションと API ゲートウェイがインバウンド接続でリスンできるようにします。 ## [](#dos-ポリシー)DoS ポリシー DoS ポリシーは、ネットワークをフラッディングして API への正規のトラフィックを妨げようとする悪意のあるクライアントからネットワークノードを保護するように設計されています。 [DoS ポリシー](https://docs.mulesoft.com/jp/anypoint-security/dos-policy)​についての詳細を確認してください。 ## [](#ip-許可リストポリシー)IP 許可リストポリシー IP アドレスの許可リストポリシーを作成して、デプロイされたエンドポイントにアクセスできる IP アドレスの明示的なリストを設定します。 [IP 許可リスト](https://docs.mulesoft.com/jp/anypoint-security/acl-policy)​についての詳細を確認してください。 ## [](#http-制限ポリシー)HTTP 制限ポリシー HTTP 制限ポリシーは、すべての処理帯域幅をコンシュームする可能性のある大量のメッセージを送信するクライアントからの攻撃を防ぎます。 [HTTP 制限ポリシー](https://docs.mulesoft.com/jp/anypoint-security/cap-policy)​についての詳細を確認してください。 ## [](#waf-ポリシー)WAF ポリシー WAF ポリシーは、要求と応答をチェックして一般的な Web アプリケーション攻撃を検出するオープン Web アプリケーションセキュリティプロジェクト (OWASP) のコアルールセット (CRS) を提供します。 [WAF ポリシー](https://docs.mulesoft.com/jp/anypoint-security/waf-policy)​についての詳細を確認してください。 ## [](#関連情報)関連情報 - [Runtime Fabric のインストール](https://docs.mulesoft.com/jp/runtime-fabric/1.13/install-create-rtf-arm) - [Anypoint Runtime Fabric でのインバウンドトラフィックの有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic) # HTTP 制限ポリシー Anypoint Security は HTTP 制限ポリシーを使用して、攻撃者が帯域幅を消費し、パフォーマンスの低下やサービス拒否を引き起こす可能性のある大きいメッセージを送信することを防ぎます。このポリシーは、Edge インバウンドエンドポイントの背後にあるすべての API に適用されます。API ゲートウェイポリシーを各 API に適用して、調整や JSON 脅威保護などの他の API 固有のポリシーを適用できます。 HTTP 制限ポリシーは、TCP プロトコルメッセージ、パス、ヘッダー、フッターのサイズを制限します。このポリシーは、メッセージのコンテンツをチェックしません。 DoS ポリシーを設定すると、HTTP 制限ポリシーへの違反がプロトコルエラーとしてエスカレーションされます。 ## [](#anypoint_security_prereqs)前提条件 セキュリティポリシーを設定し、使用するには、以下が必要です。 - Anypoint Platform アカウントの Anypoint Security - Edge エンタイトルメント。 **Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合は、各自のアカウントで Anypoint Security が有効になるようにカスタマーサクセスマネージャーに依頼してください。 - インバウンドトラフィックが設定された VM/ベアメタルの Runtime Fabric。Anypoint Runtime Fabric は、Mule アプリケーションや API ゲートウェイのデプロイメントおよびオーケストレーションを自動化するコンテナサービスです。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/index-vm-bare-metal)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - Runtime Fabric の​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​し、Mule アプリケーションと API ゲートウェイがインバウンド接続でリスンできるようにします。 ## [](#http-制限ポリシーを設定する)HTTP 制限ポリシーを設定する HTTP 制限ポリシーを設定および適用して、デフォルトの HTTP 制限を増減できます。 1. **\[Anypoint Security\]**​ に移動し、​**\[Create Policy (ポリシーを作成)\]**​ をクリックして ​**\[Content Attack Prevention (コンテンツ攻撃防止)\]**​ を選択します。 2. **\[Name (名前)\]**​ 項目にポリシーの名前を追加します。 3. ポリシーの次のパラメーターを設定します。
値 説明

Maximum Message Size (最大メッセージサイズ)

許可されるデフォルトの最大メッセージサイズは 104857600 バイトです。最大サイズを API が処理できるサイズに基づく値に設定することで、アプリケーションの要件に基づいてこの値を変更します。

攻撃者がリクエストボディのチェックを悪用してリソースを使い果たすのを防ぐために、要件を満たす最小値を選択します。

Maximum Path Length (パスの最大長)

許可されるデフォルトの最大パスサイズは 4096 バイトです。

Maximum Length Of a Single Header (単一ヘッダーの最大長)

許可されるデフォルトの最大ヘッダー長は 16384 バイトです。

Maximum Length Of a Single Trailer (単一トレーラーの最大長)

許可されるデフォルトの最大トレーラー長は 16384 バイトです。

Maximum Number Of Headers and Trailers (ヘッダーとトレーラーの最大数)

許可されるデフォルトのヘッダーとトレーラーの最大数は 32 キロバイトです。

4. 特定の HTTP メソッドのみを許可するには、​**\[Allowed HTTP Request Methods (許可される HTTP 要求メソッド)\]**​ 項目で追加します。 有効な HTTP メソッドは GET、POST、PATCH、HEAD、TRACE、OPTIONS、DELETE、PUT です。 5. **\[Save Policy (ポリシーを保存)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [IP 許可リストポリシー](https://docs.mulesoft.com/jp/anypoint-security/acl-policy) - [DoS ポリシー](https://docs.mulesoft.com/jp/anypoint-security/dos-policy) - [WAF ポリシーの作成](https://docs.mulesoft.com/jp/anypoint-security/create-waf-policy) # IP 許可リストポリシー IP 許可リストポリシーでは、デプロイされたエンドポイントにアクセス可能な IP アドレスの明示的なリストを作成できます。このリスト内にない IP アドレスは拒否されます。 IP 許可リストポリシーが割り当てられている場合、公開エンドポイントを通過するすべての IP アドレスをリストに追加する必要があります。 IP 許可リストポリシー違反は、DoS ポリシーの認証エラーにエスカレーションします。​[DoS ポリシー](https://docs.mulesoft.com/jp/anypoint-security/dos-policy)​でプロトコルエラーを処理する方法を設定できます。
このソースは IP アドレスベースです。攻撃者がソース IP アドレスを偽装できる場合、これらの対策で攻撃を防ぐことはできません。
## [](#api-ゲートウェイポリシーとの違い)API ゲートウェイポリシーとの違い IP 許可リストポリシーは、エンドポイントへの接続が許可されているすべての IP アドレスのリストです。このリストはすべてのアプリケーションに適用されます。API リストごとに API ゲートウェイ許可リストポリシーをセットアップできます。 ### [](#例)例 `a.a.a.a`​、​`y.y.y.y`​、および ​`z.z.z.z`​ を許可するように IP 許可リストポリシーをセットアップできます。 その後、API-1 (​`/api1`​) で ​`x.x.x.x`​ を許可する API 許可リストポリシーを使用し、API-2 (​`/api2`​) で ​`y.y.y.y`​ および ​`z.z.z.z`​ を許可する別のポリシーを使用します。 - IP アドレス ​`w.w.w.w`​ は IP 許可リストポリシーでリストに登録されていないため、両方の API で拒否される。 - `/api1`​ を要求する IP アドレス ​`y.y.y.y`​ は、IP 許可リストポリシーで許可され、​`/api1`​ での API 許可リストポリシーによって拒否される。 - `/api2`​ を要求する IP アドレス ​`y.y.y.y`​ は、IP 許可リストポリシーで許可され、​`/api2`​ での API 許可リストポリシーによって許可される。 ## [](#anypoint_security_prereqs)前提条件 セキュリティポリシーを設定し、使用するには、以下が必要です。 - Anypoint Platform アカウントの Anypoint Security - Edge エンタイトルメント。 **Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合は、各自のアカウントで Anypoint Security が有効になるようにカスタマーサクセスマネージャーに依頼してください。 - インバウンドトラフィックが設定された VM/ベアメタルの Runtime Fabric。Anypoint Runtime Fabric は、Mule アプリケーションや API ゲートウェイのデプロイメントおよびオーケストレーションを自動化するコンテナサービスです。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/index-vm-bare-metal)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - Runtime Fabric の​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​し、Mule アプリケーションと API ゲートウェイがインバウンド接続でリスンできるようにします。 ## [](#ip-許可リストポリシーを設定する)IP 許可リストポリシーを設定する 1. **\[Anypoint Security\]**​ に移動します。 2. **\[Create Policy (ポリシーを作成)\]**​ をクリックして ​**\[IP Allowlist (IP 許可リスト)\]**​ を選択します。 3. **\[Name (名前)\]**​ 項目にポリシーの名前を追加します。 4. **\[IP Allowlist (IP 許可リスト)\]**​ で、​**\[Add IP (IP を追加)\]**​ をクリックします。 5. リストに登録する IP アドレスの範囲を挿入します。IP アドレスの範囲には CIDR 形式を使用する必要があります。 たとえば、IP アドレス ​`10.111.0.0/24`​ を使用して、​`10.111.0.0`​ ~ ​`10.111.0.254`​ のアドレスをリストに登録します。 IP アドレスの範囲をさらに追加するには範囲、​**\[Add IP (IP を追加)\]**​ をもう一度クリックします。 6. **\[Save Policy (ポリシーを保存)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [1.5@gateway::policies-included-ip-allowlist.adoc](#1.5@gateway::policies-included-ip-allowlist.adoc) - [HTTP 制限ポリシー](https://docs.mulesoft.com/jp/anypoint-security/cap-policy) - [サービス拒否ポリシー](https://docs.mulesoft.com/jp/anypoint-security/dos-policy) # Mule への TLS コンテキストの追加 シークレットグループを作成したら、トランスポートレイヤーセキュリティ (TLS) コンテキストを追加して、Mule 4 プロキシへのインバウンドトラフィックを暗号化できます。TLS コンテキストを追加すると、TLS コンテキストで使用する暗号化を選択できます。 HTTPS API プロキシを設定するときに、シークレットマネージャーに保存した TLS コンテキストを使用できます。 ## [](#tls-コンテキストを追加する)TLS コンテキストを追加する TLS コンテキストをシークレットグループに追加するには、名前、対象、セキュリティ情報、バージョン、キーストア、および必要に応じてトラストストアを指定します。 1. **\[Secret Groups (シークレットグループ)\]**​ リストビューで、TLS コンテキストを追加するシークレットグループを選択します。 2. 左側のメニューで ​**\[TLS Context (TLS コンテキスト)\]**​ を選択し、​**\[Add TLS Context (TLS コンテキストを追加)\]**​ をクリックします。 3. \[Create TLS Context (TLS コンテキストを作成)\] 画面で、必要な情報を追加します。 - **Name (名前)** TLS コンテキストの名前を入力します。 - **Target (対象)** **\[Mule\]**​ を選択し、TLS コンテキストを Mule 4 ベースの API プロキシの SSL 検証として使用します。 TLS コンテキストを Mule 4 ベースの API プロキシの SSL 検証として使用します。 - **TLS Version (TLS バージョン)** デフォルトでは、TLS 1.2 が選択されています。TLS 1.1 を選択すると、両方のバージョンをサポートできます。 - **Keystore (キーストア)** ドロップダウンリストから、TLS コンテキストを保存するキーストアを選択します。 - **Truststore (トラストストア)** 必要に応じて、クライアントが信頼する証明書を保存するためにトラストストアを使用している場合、TLS コンテキストを追加するトラストストアを選択します。 TLS コンテキストの \[Target (対象)\] の値が ​**\[Mule\]**​ の場合、証明書の検証を行わない場合は ​**\[Insecure (安全ではない)\]**​ を選択できます。 - **Expiration Date (有効期限 (日))** 必要に応じて、証明書の有効期限を選択します。 4. 必要に応じて、TLS コンテキストの​[暗号化を選択](https://docs.mulesoft.com/jp/anypoint-security/cipher-suites)​します。 5. **\[Save (保存)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [シークレットグループの作成](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-group-creation-task) # Runtime Fabric でのブロックされている IP アドレスの管理 Anypoint Security が有効になっている Runtime Fabric では、IP アドレスのブロックを解除したり、ブロックされている IP アドレスのリスト (Runtime Fabric ログで参照できる) を生成したりできます。 ## [](#前提条件)前提条件 Runtime Fabric でのブロックされている IP アドレスを管理するには、次の要件を満たしている必要があります。 - Runtime Fabric が実行されている - [DoS ポリシーが設定](https://docs.mulesoft.com/jp/anypoint-security/dos-policy)​されていて、Runtime Fabric にデプロイされている ## [](#ブロックされている-ip-アドレスを管理する)ブロックされている IP アドレスを管理する 1. Anypoint Platform で、​**\[Management Center\] > \[Runtime Manager\]**​ に移動します。 2. 左側のナビゲーションメニューで ​**\[Runtime Fabric\]**​ をクリックします。 3. ブロックされている IP アドレスを管理する Runtime Fabric を選択します。 4. **\[Inbound Traffic (インバウンドトラフィック)\]**​ タブを選択します。 5. **\[Security Policies (セキュリティポリシー)\]**​ セクションで、​**\[Manage blocked IPs (ブロックされている IP を管理)\]**​ をクリックします。 6. **\[Manage blocked IPs (ブロックされている IP を管理)\]**​ ダイアログボックスで、ブロックされている IP アドレスのリストをログファイルにダウンロードしたり、IP アドレスのブロックを解除したりできます。 ## [](#ip-アドレスのブロックを解除する)IP アドレスのブロックを解除する 1. **\[Manage blocked IPs (ブロックされている IP を管理)\]**​ ダイアログで、IP アドレスまたは IP アドレスの範囲のブロックを解除するには、​**\[Unblock an IP Address (IP アドレスのブロックを解除)\]**​ 項目に IP アドレスと CIDR を入力します。 たとえば、1 つの IP アドレスのブロックを解除するには、​`192.0.2.0/32`​ と入力します。 IP アドレスの範囲のブロックを解除するには、​`192.0.2.0/24`​ と入力します。 2. **\[Done (完了)\]**​ をクリックします。 IP アドレスのブロックが正常に解除されると、​`Unblocked`​ メッセージが表示されます。 ## [](#ブロックされている-ip-アドレスを記録する)ブロックされている IP アドレスを記録する 1. ブロックされている IP アドレスのリストを生成するには、​**\[Log blocked IPs (ブロックされている IP を記録)\]**​ をクリックします。 ブロックされている IP アドレスが正常に記録されると、​`Logged`​ メッセージが表示されます。 2. ログを表示するには、​[「ログの表示および設定」](https://docs.mulesoft.com/jp/runtime-fabric/1.13/runtime-fabric-logs)​の手順に従ってログ転送を設定します。 ログは次のようになります。 ```json { "body": [{ "action": "BlockForever", "ip": "172.31.104.239", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.104.240", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.106.88", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.106.89", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.106.90", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.106.91", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.106.92", "category": "RoutingError" }, { "action": "BlockForever", "ip": "172.31.106.107", "category": "RoutingError" }], "hdr": { "logType": "EdgeJSON", "name": "doSActionsView", "time:": "2019-03-29 18:38:48" } } ``` ## [](#関連情報)関連情報 - [1.5@gateway::policies-included-ip-allowlist.adoc](#1.5@gateway::policies-included-ip-allowlist.adoc) - [HTTP 制限ポリシー](https://docs.mulesoft.com/jp/anypoint-security/cap-policy) - [サービス拒否ポリシー](https://docs.mulesoft.com/jp/anypoint-security/dos-policy) - [Runtime Fabric でのログの表示と設定](https://docs.mulesoft.com/jp/runtime-fabric/1.13/runtime-fabric-logs) # Runtime Fabric へのセキュリティポリシーのデプロイ ## [](#前提条件)前提条件 ポリシーをデプロイするには、次の要件を満たす必要があります。 - **「Manage Runtime Fabrics (Runtime Fabrics の管理)」**​権限がユーザーに割り当てられている。 - アカウントに次のエンタイトルメントがある。 - **Runtime Fabric**​ - **Security Edge ポリシー**​ - **API Manager**​ - **Analytics** ## [](#ポリシーをデプロイする)ポリシーをデプロイする 1. **\[Runtime Manager\]**​ に移動し、左のナビゲーションバーで ​**\[Runtime Fabric\]**​ をクリックします。 2. Edge ポリシーを有効にする Runtime Fabric を選択します。 3. **\[Inbound Traffic (インバウンドトラフィック)\]**​ タブをクリックし、​**\[Security Policies (セキュリティポリシー)\]**​ に移動します。 4. デプロイする各ポリシーで、ドロップダウンリストからポリシーの名前を選択し、​**\[Deploy (デプロイ)\]**​ をクリックします。 ポリシーが Runtime Fabric にデプロイされます。 ## [](#関連情報)関連情報 - [ポリシー](https://docs.mulesoft.com/jp/anypoint-security/index-policies) - [ACL ポリシー](https://docs.mulesoft.com/jp/anypoint-security/acl-policy) - [DoS ポリシー](https://docs.mulesoft.com/jp/anypoint-security/dos-policy) - [CAP ポリシー](https://docs.mulesoft.com/jp/anypoint-security/cap-policy) - [WAF ポリシー](https://docs.mulesoft.com/jp/anypoint-security/waf-policy) # Tokenization (トークナイゼーション) トークナイゼーションは、機密データを保護するための非常に効果的な方法です。データをトークナイズすると、機密データ要素が、ランダムに生成された非機密データ要素で置き換えられます。 次に、トークナイゼーション保護に適した機密情報の例を示します。 - プライマリアカウント番号 (PAN) - 個人情報 (PII) - 保護健康情報 (PHI) または機密情報 ## [](#形式保持トークン)形式保持トークン Anypoint のトークナイゼーションでは、形式保持トークンが作成されきます。つまり、出力のトークン形式が入力の機密データと同じになります。形式保持トークナイゼーションでは、生成されるトークンが既存のデータ構造および検証に準拠するため、既存の企業データフローまたはデータストアを変更する必要がありません。この方法は、各ポイントでデータ保護の実装が必要となるポイントツーポイント暗号化と比較して、既存のアプリケーションへの変更を最小限に抑えることができます。 トークナイゼーションサービスに対してデトークナイゼーションコールを行うと、トークナイズされた値の ID が返されます。 ![クライアントペイロードがトークナイゼーションポリシーやサービスとやり取りして、トークナイズされた値を Mule アプリケーションに返す様子を示した図。](/mulesoft/current/ja-jp/anypoint-security/_images/tokenization-flow.png) この例では、トークナイゼーション形式がクレジットカードデータドメインを使用して作成され、トークナイゼーションサービスに割り当てられています。トークナイゼーションポリシーは、API ゲートウェイに適用されます。 クレジットカード番号を含むペイロードが送信されると、要求は、トークナイゼーションポリシーが適用されている API ゲートウェイにリダイレクトされます。 API ゲートウェイとトークナイゼーションサービス間の接続が確立されます。トークナイゼーションサービスは、クレジットカード情報を受け取り、そのデータをトークンに変換し、トークナイズしたデータを API ゲートウェイに返します。 API ゲートウェイはクレジットカード番号を、トークナイズされたデータで置き換えて、要求がアプリケーションに送信されます。 ## [](#masking-マスク)Masking (マスク) Anypoint Security は、ID を非表示にしたりマスクしたりできる別のトークナイゼーションオプションであるマスクも用意されています。マスクを使用すると、機密データの ID を非表示にする設定可能なマスク文字が返されます。 上記の例では、最後の 4 文字を保持するマスク形式を使用すると、トークン ​`######--4567`​ が返されます。トークナイゼーションサービスへのデトークナイゼーションコールを介して、マスクされたトークンの ID を返すことはできません。

デトークナイズするように API Manager でポリシーを設定し、マスク形式を選択すると、API ゲートウェイは API への ​400 Bad Request​ 応答を返します。マスク形式は元の値に基づいてデータのみをマスクするため、API ゲートウェイはこの応答を返します。データのマスクを解除して元の値を返すことはできません。

## [](#前提条件)前提条件 トークナイゼーションサービスを設定し、使用するには、以下が必要です。 - VM/ベアメタルの Anypoint Runtime Fabric を実行するためのすべての前提条件と要件を満たしている。自己管理型 Kubernetes の Runtime Fabric では、トークナイゼーションはサポートされていません。+ **Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合、または Runtime Manager に ​**\[Tokenization Service (トークナイゼーションサービス)\]**​ タグが表示されない場合は、各自のアカウントでトークナイゼーションサービスが有効になるようにカスタマーサクセスマネージャーに依頼してください。 - トークナイゼーションを管理する正しい権限。 [「トークナイゼーション権限の付与」](https://docs.mulesoft.com/jp/anypoint-security/grant-tokenization-permissions)​を参照してください。 - インバウンドトラフィックが設定された VM/ベアメタルの Runtime Fabric。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/index-vm-bare-metal)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - 形式とデータのトークナイズ方法を記述するトークナイゼーション形式。 [「トークナイゼーション形式」](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats)​を参照してください。 ## [](#トークナイゼーションの利点)トークナイゼーションの利点 トークナイゼーションサービスには、次の多くの利点があります。 - **ボールトレスの運用**​: - 機密データがトークナイゼーションデプロイメントに保存されない。 - 処理されるトランザクションや発行されるトークンの数に基づいてデータが増加することがないため、データボルト管理の問題がなくなる。 - **セキュリティの向上**​: - 機密情報が保護され、機密データゾーンが減少する。 - 機密情報を処理、保存、転送するシステムおよびアプリケーションが減少する、または機密データスコープからなくなる。 - 補助アプリケーションおよびデータストアに保存されている機密情報がトークンに置き換わるため、そこからデータが漏洩する可能性がなくなる。 - 機密データや最小権限の多層防御が強化される。認証がないと、トークナイゼーションサービスで機密データをデトークナイズして実際の値に戻すことができません。トークンを所有しているだけでは、付帯的または悪用可能な効力や価値を得ることはできません。 - **柔軟性**​: - 組み込みのデータドメイン (PAN、SSN、メール、10 進数、ASCII など) を使用して、ビジネスに適したトークナイゼーション戦略を選択できる。 - 各ドメインには設定可能なオプションがあり、元の機密データの一部を保持して残りをトークンデータに置き換えたり、情報全体をトークンに置き換えたりできる。 - トークナイゼーションは、ワイドエリアネットワークと分散データセンター間でシームレスに運用できる。 - **パフォーマンス**​: - 高パフォーマンスな運用により、レイテンシーの少ない処理が実現する。 - Anypoint Platform によって提供されるボールトレストークナイゼーションの垂直および水平スケーリングで各ノードのパフォーマンスが線形的にスケールする。 ## [](#関連情報)関連情報 - [トークナイゼーション権限の付与](https://docs.mulesoft.com/jp/anypoint-security/grant-tokenization-permissions) - [トークナイゼーションサービスの作成](https://docs.mulesoft.com/jp/anypoint-security/create-tokenization-service) - [トークナイゼーション設定](https://docs.mulesoft.com/jp/anypoint-security/tokenization-example) - [API ゲートウェイへのトークナイゼーションポリシーの適用](https://docs.mulesoft.com/jp/anypoint-security/apply-tokenization-policy-to-api) - [トークナイゼーションをサービスとして Mule アプリケーションに直接公開](https://docs.mulesoft.com/jp/anypoint-security/tokenization-from-a-mule) # WAF ポリシー用の DoS の有効化 既存の DoS ポリシーのアクション (指定された期間 IP アドレスをブロックするなど) を WAF エラーに適用するように設定できます。WAF ポリシーの場合、WAF エラーは拒否されて、状況コード ​`400`​ が返されますが、WAF 処理はコストが高いため、WAF エラーを DoS ポリシーに追加してリソースの使用を保護することをお勧めします。 WAF エラーに対応する DoS ポリシー (DoS しきい値を適用) を設定しないと、リクエストボディの解析で CPU の大部分をコンシュームする可能性があります。受信する要求が多いと、エラーを検出するだけで、CPU の大部分をコンシュームします。 DoS しきい値が実装されている場合、DoS のしきい値を超えると、リクエストボディの解析が停止します。 ブロックされている IP アドレスから接続が試行されると、その IP アドレスのみに基づいて要求が拒否されます。これは、極めて効率的です。DoS で ​**\[Drop Silently (自動的に削除)\]**​ が有効になっている場合、TLS 接続は試行されず、さらにリソースを節約できます。 悪意のあるソースの IP アドレスから、WAF がトリガーされない多くの要求が試行されることがあります。これらの要求の一部は、有効であるように見える可能性があります。DoS しきい値を超えると、識別された IP アドレスのすべての要求 (正当または不正) が削除されます。 ## [](#waf-ポリシーを-dos-にエスカレートする)WAF ポリシーを DoS にエスカレートする WAF ポリシーを DoS にエスカレートするには、​[\[Denial of Service Policy (サービス拒否ポリシー)](https://docs.mulesoft.com/jp/anypoint-security/dos-policy)\]​ が存在することを確認します。 1. **\[Security Policies (セキュリティポリシー)\]**​ のリストで DoS ポリシーを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで ​**\[WAF Errors (WAF エラー)\]**​ をクリックします。 3. WAF エラーを設定し、​**\[Save Policy (ポリシーを保存)\]**​ をクリックします。 DoS ポリシーで設定するしきい値で、すべての WAF エラーが処理されます。 ![WAF エラーの例](/mulesoft/current/ja-jp/anypoint-security/_images/waf-edit-dos-policy.png) この例の ​**\[Rule A (ルール A)\]**​ では、60 秒以内に 10 件を超える WAF エラーを受信すると、ソース IP アドレスのすべての要求が制限されます。デフォルトは 60 秒ですが、この値は DoS ポリシーの ​**\[General (一般)\]**​ タブで変更できます。 **\[Rule B (ルール B)\]**​ に表示されている設定では、​**\[Rule A (ルール A)\]**​ の間隔の 5 倍の期間 (このケースでは、5 × 60 秒) に IP アドレスで指定の WAF エラーが 3 回発生すると、その IP アドレスが無制限にブロックされます。 DoS ポリシーの設定についての詳細は、​[「サービス拒否ポリシー」](https://docs.mulesoft.com/jp/anypoint-security/dos-policy)​を参照してください。 # WAF ルールセット 要求と応答の脅威カテゴリごとにルールを有効にできます。これらは、「ルールセット」と呼ばれます。 ルールセット内には、偽陽性が発生する場合に個々のルールを無効にするオプションがあります。​[「個々のルールの無効化」](https://docs.mulesoft.com/jp/anypoint-security/create-waf-policy#disable_rules)​を参照してください。 ルールは、さまざまなソースで実行できます。たとえば、URI、ヘッダー、引数、セッション ID、Cookie、リクエストボディ、応答本文などで実行できます。 最適なパフォーマンスを得るには、Web アプリケーションのテクノロジーに適用するルールのみを有効にします。 ## [](#request_rule_sets)要求ルールセット 要求ルールセットは、10 個の脅威カテゴリ (ルールセットと呼ばれる) に分類されます。各ルールセットで 3 つのアクションのいずれかのみを適用できます。 - **Disable ruleset (ルールセットを無効化)**​ - (デフォルト) ルールセット検出はオフ。 - **Detect and allow violations (違反を検出して許可)**​ - 違反を検出し、インシデントごとに INFO レベルでログの情報を取得します。 これは、ERROR レベル (Edge ポリシーのデフォルトのログレベル) で概要レポートにも含まれます。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic#optionally-configure-internal-load-balancer-logs)​を参照してください。 - **Detect and reject violations (違反を検出して拒否)**​ - 要求を拒否し、​`HTTP/1.1 400 BAD REQUEST - web application firewall`​ の応答状況を返します。 要求ルールセットの場合、ルールがトリガーされたことが DoS に通知されます。​[DoS が WAF エラー用に設定されている](https://docs.mulesoft.com/jp/anypoint-security/escalate-waf-to-dos)​場合、DoS はその WAF 関連のカウンターを更新し、必要に応じてアクションを実行します。DoS が WAF エラー用に設定されていない場合、DoS は WAF から受信した通知を無視します。 要求ルールセットと応答ルールセットの両方の場合、違反に関する情報もインシデントごとに INFO レベルでログに送信されます。 10 個の脅威カテゴリは次のとおりです。 - **Scanner detection (スキャナー検出)** - **Protocol enforcement (プロトコル強制)** - **Protocol attack (プロトコル攻撃)** - **Local file inclusion (ローカルファイルインクルージョン)** - **Remote file inclusion (リモートファイルインクルージョン)** - **Remote code execution (リモートコード実行)** - **PHP injectionPHP (インジェクション)** - **Cross-site scripting (クロスサイトスクリプティング)** - **SQL injection (SQL インジェクション)** - **Session fixation (セッション固定)** ## [](#response_rule_sets)応答ルールセット 応答ルールセットは、要求ルールセットと似ています。応答ルールセットは、バックエンドサーバーからの応答をチェックして、応答に存在すべきでない情報を探します。 応答ルールセットも、脅威カテゴリに分類されます。要求ルールセットと同じアクション (\[Disable ruleset (ルールセットを無効化)\]、\[Detect and reject violations (違反を検出して拒否)\]、\[Detect and allow violations (違反を検出して許可)\]) が適用されます。応答ルールセットの場合、DoS には通知されませんが、それ以外については、これらの意味は要求ルールセットと同じです。 応答ルールセットの脅威カテゴリは次のとおりです。 - **Data leakages (データ漏洩)** - **SQL data leakages (SQL データ漏洩)** - **Java data leakages (Java データ漏洩)** - **PHP data leakages (PHP データ漏洩)** - **IIS data leakages (IIS データ漏洩)** ## [](#raml-でデータを表示する)RAML でデータを表示する Anypoint Security RAML (​`security-fabric-policies-api-.raml`​) でルールを表示すれば、各ルールを構成する正規表現を理解できます。各カテゴリのすべての OWASP CRS ルールが WAF ポリシーで有効になっているわけではありません。さまざまな理由により、ごく少数のルールが含まれていません。RAML で正確なコンテンツと含まれるルール ID を確認してください。 1. Anypoint Exchange に移動します。 2. 「Anypoint Security Policy and Runtime Fabric Inbound Traffic API」 (Anypoint Security ポリシーおよび Runtime Fabric インバウンドトラフィック API) を検索して RAML をダウンロードします。 3. ZIP ファイルを抽出します。 4. `/security-fabric-policies-api--raml/dataTypes/policies/WafRules/Rulesets.json`​ に移動します。 ## [](#runtime-fabric-ポリシーの概要)Runtime Fabric ポリシーの概要 Runtime Fabric ポリシーの概要には、WAF の概要が含まれます。WAF の概要ログメッセージは、1 分ごとに生成されます。​[「Runtime Fabric でのログの表示および設定」](#1.2@runtime-fabric::runtime-fabric-logs.adoc)​を参照してください。未加工のログメッセージのコンテンツには、WAF と DoS の概要統計が含まれます。 次に例を示します。 ![フォーマットされていない WAF 概要ログメッセージからの未加工データ。](/mulesoft/current/ja-jp/anypoint-security/_images/waf-summary-log-raw.png) この例の未加工データを JSON で書式設定すると、ルール 920210 が 63,193 回起動し、ルール 920310 が 1 回起動したことがわかります。これはルール 920210 で偽陽性が発生していることを示しています。 ... "requestProtocolEnforcement": { "920100": 0, "920120": 0, "920121": 0, "920130": 0, "920140": 0, "920160": 0, "920170": 0, "920180": 0, "920190": 0, "920200": 0, "920201": 0, "920202": 0, "920210": 63193, "920220": 0, "920230": 0, "920240": 0, "920250": 0, "920260": 0, "920270": 0, "920271": 0, "920272": 0, "920273": 0, "920274": 0, "920280": 0, "920290": 0, "920300": 0, "920310": 1, "920311": 0, "920320": 0, "920330": 0, "920340": 0, "920350": 0, "920360": 0, "920370": 0, "920380": 0, "920390": 0, "920400": 0, "920410": 0, "920420": 0, "920430": 0, "920440": 0, "920450": 0, "920460": 0 }, ... # Web アプリケーションファイアウォールセキュリティポリシー Web アプリケーションファイアウォール (WAF) セキュリティポリシーは、要求トラフィックと応答トラフィックで使用でき、Web アプリケーションレベルの保護を提供します。 [OWASP コアルールセット (CRS)](https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project)​ ルール (Anypoint Security ポリシーの RAML に列挙されている) がサポートされます。ポリシーは、要求と応答の主要な脅威カテゴリにグループ化されます。
正式な OWASP CRS ルールのみがサポートされます。
WAF ポリシーは、既存の Anypoint Security ポリシー「DoS (サービス拒否)」と完全に統合されています。WAF ポリシーでエラーが検出されると、DoS で設定されたしきい値がトリガーされます。これは、必要に応じてアクション (悪意のあるソースの IP アドレスのトラフィックのシェーピングやブロックなど) を実行するように設定できます。 ## [](#関連情報)関連情報 [WAF ルールセット](https://docs.mulesoft.com/jp/anypoint-security/waf-rulesets) # Web アプリケーションファイアウォールポリシーの作成 **\[Anypoint Security\] > \[Security Policies (セキュリティポリシー)\]**​ で Web アプリケーションファイアウォール (WAF) ポリシーを作成し、Web アプリケーションとクライアントエンドポイント間にファイアウォールセキュリティポリシーを適用できます。WAF 違反検出ポリシーをサービス拒否 (DoS) にエスカレーションして、IP と接続をブロックすることもできます。 ## [](#anypoint_security_prereqs)前提条件 セキュリティポリシーを設定し、使用するには、以下が必要です。 - Anypoint Platform アカウントの Anypoint Security - Edge エンタイトルメント。 **Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合は、各自のアカウントで Anypoint Security が有効になるようにカスタマーサクセスマネージャーに依頼してください。 - インバウンドトラフィックが設定された VM/ベアメタルの Runtime Fabric。Anypoint Runtime Fabric は、Mule アプリケーションや API ゲートウェイのデプロイメントおよびオーケストレーションを自動化するコンテナサービスです。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/index-vm-bare-metal)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - Runtime Fabric の​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​し、Mule アプリケーションと API ゲートウェイがインバウンド接続でリスンできるようにします。 ## [](#ポリシーを作成する)ポリシーを作成する 1. Anypoint Platform にサインインし、​**\[Anypoint Security\]**​ に移動します。 2. **\[Security Policies (セキュリティポリシー)\]**​ ページで、​**\[Create Policy (ポリシーを作成)\]**​ をクリックして ​**\[Web Application Firewall (WAF) (Web アプリケーションファイアウォール (WAF))\]**​ を選択します。 3. ポリシーの​**名前**​を入力して ​**\[Save Policy (ポリシーを保存)\]**​ をクリックします。 ポリシーは ​**\[Security Policies (セキュリティポリシー)\]**​ リストに表示され、そこでポリシーを編集および削除できます。 ![セキュリティポリシーの名前、種別、アクションのテーブルの上に、青い \[Create Policy (ポリシーを作成)\] ボタンが表示されています。](_images/security-policy-list.png) ## [](#要求ルールセットを設定する)要求ルールセットを設定する Web アプリケーションへの要求トラフィックを許可またはブロックするルールを設定します。要求ルールセットについての詳細は、​[「要求ルールセット」](https://docs.mulesoft.com/jp/anypoint-security/waf-rulesets#request_rule_sets)​を参照してください。 1. 左側のメニューで、​**\[Request Rulesets (要求ルールセット)\]**​ をクリックします。 デフォルトではすべてのルールが無効になっています。各ルールで次の操作を実行できます。 - **Disable ruleset (ルールセットを無効化)**​ - (デフォルト) ルールセット検出はオフ。 - **Detect and allow violations (違反を検出して許可)**​ - 違反が検出され、インシデントごとに ​`INFO`​ レベルでログに情報が記録される。 - **Detect and reject violations (違反を検出して拒否)**​ - 要求は拒否され、​`HTTP/1.1 400 BAD REQUEST - web application firewall`​ の応答状況が返され、ルールがトリガーされたことが DoS に通知される。​[DoS が WAF エラー用に設定されている](https://docs.mulesoft.com/jp/anypoint-security/escalate-waf-to-dos)​場合、DoS はその WAF 関連のカウンターを更新し、必要に応じてアクションを実行します。DoS が WAF エラー用に設定されていない場合、DoS は WAF から受信した通知を無視します。 違反に関する情報もインシデントごとに ​`INFO`​ レベルでログに送信されます。 各ルールの右にある ​`i`​ にカーソルを置くと、そのルールセットのルール ID 範囲が表示されます。この情報はルールセットのテストに使用できます。 ![ルール ID 範囲は、スキャナー検出時にポップアップメッセージとして表示されます。](/mulesoft/current/ja-jp/anypoint-security/_images/waf-rule-set.png) 2. **\[Advanced performance options (高度なパフォーマンスオプション)\]**​ で、次のいずれかのオプションを選択します。 - **Disable body scanner (ボディスキャナーを無効化)**​。デフォルトでは、リクエストボディが 1 MB より小さければリクエストボディがスキャンされ、大きければスキャンがスキップされます。 リクエストボディのスキャンが必要ない場合や、CPU 消費量を削減する場合、このオプションをオンにします。
リクエストボディが 1 MB より大きい場合、​[Disable body scanner (ボディスキャナーを無効化)]​ をオンにしていなくてもスキャンはスキップされます。
- **Detect sensitive information (機密情報を検出)**​ - このオプションをオンにすると、リクエストボディの機密情報がスキャンされます。WAF ポリシーを Runtime Fabric に適用している場合は、検出された機密情報パターンの数と数値 (ルール ID) がログの概要 (​`rtfWafSecurityPolicySummary`​) に記録されます。
このオプションは、​[Disable Body Scanner (ボディスキャナーを無効化)]​ がオンになっていると使用できません。 また、機密情報のインスタンスの API、ルール、方向、数が含まれる ​rtfSidSummary​ ログも生成されます。
3. **\[Save Policy (ポリシーを保存)\]**​ をクリックします。 ## [](#応答ルールセットを設定する)応答ルールセットを設定する Web アプリケーションへの応答を許可またはブロックするルールを設定します。応答ルールセットについての詳細は、​[「応答ルールセット」](https://docs.mulesoft.com/jp/anypoint-security/waf-rulesets#response_rule_sets)​を参照してください。 1. 左側のメニューで、​**\[Response Rulesets (応答ルールセット)\]**​ をクリックします。 デフォルトではすべてのルールセットが無効になっています。各ルールで次の操作を実行できます。 - **Disable ruleset (ルールセットを無効化)**​ - (デフォルト) ルールセット検出はオフ。 - **Detect and allow violations (違反を検出して許可)**​ - 違反が検出され、インシデントごとに ​`INFO`​ レベルでログに情報が記録される。 - **Detect and reject violations (違反を検出して拒否)**​ - 要求は拒否され、​`HTTP/1.1 400 BAD REQUEST - web application firewall`​ の応答状況が返され、違反に関する情報もインシデントごとに INFO レベルでログに送信される。 2. **\[Advanced Performance Options (高度なパフォーマンスオプション)\]**​ で、次のいずれかのオプションを選択します。 - **Disable body scanner (ボディスキャナーを無効化)**​ - デフォルトでは、レスポンスボディが 1 MB より小さければレスポンスボディがスキャンされ、大きければスキャンがスキップされます。 レスポンスボディのスキャンが必要ない場合や、CPU 消費量を削減する場合、このオプションをオンにします。 このオプションは要求ルールセットの場合と同様に機能しますが、いくつかの重要な追加注意事項があります。 - 応答メッセージのコンテンツタイプヘッダーには、次のいずれかの MIME タイプが必要。これがない場合、WAF ルールは評価されません。 - text/plain - text/html - text/xml - application/json - **Detect sensitive information (機密情報を検出)**​ - このオプションをオンにすると、レスポンスボディの機密情報がスキャンされます。WAF ポリシーを Runtime Fabric に適用している場合は、検出された機密情報パターンの数と数値 (ルール ID) がログの概要 (​`rtfWafSecurityPolicySummary`​) に記録されます。
このオプションは、​[Disable Body Scanner (ボディスキャナーを無効化)]​ がオンになっていると使用できません。 また、機密情報のインスタンスの API、ルール、方向、数が含まれる ​rtfSidSummary​ ログも生成されます。
3. **\[Save Policy (ポリシーを保存)\]**​ をクリックします。 ## [](#disable_rules)個々のルールを無効にする 個々のルールによって偽陽性が発生する場合、それらを無効にできます。ルールセット内の 1 つのルールのみで偽陽性が発生している場合は、「プロトコル攻撃」のようにルールセット全体を無効にする必要がないため、これは便利です。 ログ内の WAF 概要メッセージを調べて、どのルール ID が起動しているかを判断できます。Anypoint Security ポリシーの RAML でルール ID の完全なリストをチェックすることもできます。 1. **\[Anypoint Security\] > \[Security Policies (セキュリティポリシー)\]**​ ページで、ルールを無効にする WAF ポリシーの ​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで、​**\[Disabled Rule IDs (無効化されたルール ID)\]**​ をクリックします。 3. 無効にするルールの個々のルール ID をカンマで区切って追加します。 4. **\[Save Policy (ポリシーを保存)\]**​ をクリックします。 WAF ポリシーを設定して保存したら、(必要に応じて) 既存の DoS ポリシーを編集して WAF ポリシー用の DoS を有効にしてから、そのポリシーを Runtime Fabric にデプロイできます。 ## [](#関連情報)関連情報 - [ポリシーの適用](https://docs.mulesoft.com/jp/anypoint-security/apply-policy) - [WAF ルールセット](https://docs.mulesoft.com/jp/anypoint-security/waf-rulesets) - [WAF ポリシー用の DoS の有効化](https://docs.mulesoft.com/jp/anypoint-security/escalate-waf-to-dos) - [機密情報の検出](https://docs.mulesoft.com/jp/anypoint-security/sid-reference) # クライアント認証の有効化 TLS コンテキストを追加するときに対象値に ​**\[Anypoint Security\]**​ を選択した場合、必要に応じてクライアント認証を有効にできます。TLS 対応クライアントは、自身が保管する信頼済みの証明書を使用して公開証明書を検証することで、サーバーが信頼できるかどうかを確認します。 TLS コンテキストのクライアント認証を有効にする場合、クライアントが信頼する証明書を保存するトラストストアが必要です。 クライアント認証を有効にする手順は、次のとおりです。 1. シークレットグループの \[Create TLS Context (TLS コンテキストを作成)\] ページで、​**\[Enable Client Authentication (クライアント認証を有効化)\]**​ を選択して、次の情報を指定します。 - **Verification Depth (検証深度)**​ 証明書チェーンの検証を許可する最大深度を選択します。 - **Revocation Method (失効方法)**​ - **Send Trust Store (トラストストアを送信)**​ 相互 TLS のためにインバウンドロードバランサーがトラストストアを他方のクライアントに送信するようにする場合は、このオプションを選択します。クライアントはトラストストアを使用して、プロビジョニングされた複数の証明書とパスがクライアントにある場合に使用する適切な証明書とパスを選択します。 - **Perform Certificate Pinning (証明書のピン留めを実行)**​ 選択した証明書のピン留めリストに存在するクライアント証明書にのみアクセスを許可する場合は、このオプションを選択します。この場合、クライアント証明書にはトラストストアに表示される証明書 (通常は CA) への信頼チェーンが必要ですが、選択した証明書のピン留めリストに明示的に存在 (ピン留め) する必要もあります。 2. **\[Advanced Options (詳細オプション)\]**​ をクリックして使用可能なオプションを展開し、有効にするオプションを選択します。 - **Certificate Checking Strength (証明書チェック強度)**​ このオプションでは、アプリケーションが信頼チェーンの処理中に厳格な証明書チェックを実行するか、緩い証明書チェックを実行するかを制御できます。 緩い証明書チェックでは、検証プロセスがそれほど厳密ではないため柔軟性が高まりますが、侵害された証明書や不正な証明書を受け入れるリスクが高くなります。厳格な証明書チェックは、証明書の有効性と失効チェックに関する要件がより厳密であり、より多くの計算リソースが必要になります。 - **Certificate Policy Checking (証明書ポリシーチェック)**​ RFC 3280 および 5280 で定義されている証明書ポリシー処理を制御します。 証明書には 0 個以上のポリシーを含めることができます。ポリシーはオブジェクト ID (OID) として表されます。エンドエンティティ証明書では、このポリシー情報は証明書が発行されたポリシーと、証明書を使用可能な目的を示します。 CA 証明書では、このポリシー情報はこの証明書を含む証明書パスのポリシーセットを制限します。特定のポリシー要件があるアプリケーションは、受け入れるポリシーのリストがあり、証明書内のポリシー OID をそのリストと比較する必要があります。この拡張機能が重要な場合、パス検証ソフトウェアはこの拡張機能 (省略可能な修飾子を含む) を解釈できるか、証明書を拒否する必要があります。 - **OID**​ 次のオブジェクト ID オプションを選択します。 - **Require Initial Explicit Policy (最初の明示的ポリシーが必要)**​ `user-initial-policy-set`​ の証明書ポリシーの少なくとも 1 つでパスが有効な必要があることを示します。 - **Certificate Policies (証明書ポリシー)**​ 少なくともポリシー ID (OID) で構成されます。 - **Authentication Overrides (認証の上書き)**​ 相互認証が実行されるときに、失敗した認証を上書きするタイミングの条件を選択します。 3. **\[Save (保存)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Runtime Fabric ロードバランサーの TLS コンテキストの設定](https://docs.mulesoft.com/jp/anypoint-security/configure-tls-context-rtf-lb) - [暗号化スイート](https://docs.mulesoft.com/jp/anypoint-security/cipher-suites) # クレジットカード形式 トークナイゼーションは、​[トークナイゼーション形式を作成](https://docs.mulesoft.com/jp/anypoint-security/create-tokenization-format)​したときのクレジットカードデータドメインの設定方法に応じて、元のカードデータをトークナイズされたデータに置き換えます。 ## [](#クレジットカード形式のカスタマイズ)クレジットカード形式のカスタマイズ 組み込みのクレジットカード形式を使用することも、カスタマイズすることもできます。 1. **\[Use custom credit card formats (カスタムクレジットカード形式を使用)\]**​ を選択し、​**\[Add Format (形式を追加)\]**​ をクリックします。 または、既存のクレジットカード形式の横にある ​**\[Edit (編集)\]**​ をクリックし、形式を変更することもできます。 2. **\[Add Credit Card Format (クレジットカード形式を追加)\]**​ ダイアログで、カスタマイズする項目の情報を入力し、​**\[Done (完了)\]**​ をクリックします。
項目 説明

Name (名前)

カードのカスタマイズの名前。

Start Prefix (開始プレフィックス)

カードプレフィックスの先頭の数値 (​51​ など)。

End Prefix (終了プレフィックス)

カード番号プレフィックス範囲の末尾の数値 (​55​ など)。

開始プレフィックスにサンプル値 51、終了プレフィックスに 55 を使用すると、51 ~ 55 のカードが有効になります。

Luhn Check Digit (Luhn チェックデジット)

カードが Luhn 標準に準拠していることを確認する場合は、​[Include (含める)]​ チェックボックスをオンにします。
すべての形式の ​[Check Digit (チェックデジット)]​ が ​[Luhn]​ または ​[None (なし)]​ に設定されている必要があります。[luhn] 用と [none (なし)] 用に分ける場合、個別の形式が必要になります。

Number of Digits (桁数)

カード番号に必要な合計桁数を入力します。

1. **\[Save (保存)\]**​ をクリックします。 ### [](#項目をカスタマイズする)項目をカスタマイズする 1. **\[Credit Card Formats (クレジットカード形式)\]**​ をクリックします。 2. **\[Use custom credit card formats (カスタムクレジットカード形式を使用)\]**​ を選択します。 3. **\[Edit (編集)\]**​ をクリックします。 4. **\[Edit Credit Card Format (クレジットカード形式を編集)\]**​ ダイアログで、変更を行って、​**\[Done (完了)\]**​ をクリックします。 5. **\[Create Format (形式を作成)\]**​ ページで ​**\[Save (保存)\]**​ をクリックします。 # サービス拒否ポリシー サービス拒否 (DoS) ポリシーは、API への正当なネットワークトラフィックの妨げとなるネットワークへのフラッド攻撃を防ぎます。たとえば、悪意のあるクライアントは、リソースと帯域幅を消費するように設計された大きなペイロードをネットワークに送信する可能性があります。 DoS ポリシーを作成する場合、期間、および設定した​[エラー種別](#error_types)​が発生したときに実行するアクションを設定します。同じ IP アドレスから設定済みのしきい値を超えるエラー数が発生した場合、ポリシーは (TLS 接続を試みずに) 自動的に接続を切断するか、直ちに接続を切断して ​`503`​ エラーを返します。 DoS ポリシーは、次の 3 つの方法で要求のソースを判断します。 - TCP メッセージ - ソース IP アドレス - ソース IP アドレスのヘッダー項目 - Proxy Protocol IP アドレス 要求のソースは IP アドレスに基づいているため、攻撃者が自分のソース IP アドレスを偽装した場合、DoS ポリシーで攻撃を防ぐことはできません。 ## [](#anypoint_security_prereqs)前提条件 セキュリティポリシーを設定し、使用するには、以下が必要です。 - Anypoint Platform アカウントの Anypoint Security - Edge エンタイトルメント。 **Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合は、各自のアカウントで Anypoint Security が有効になるようにカスタマーサクセスマネージャーに依頼してください。 - インバウンドトラフィックが設定された VM/ベアメタルの Runtime Fabric。Anypoint Runtime Fabric は、Mule アプリケーションや API ゲートウェイのデプロイメントおよびオーケストレーションを自動化するコンテナサービスです。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/index-vm-bare-metal)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - Runtime Fabric の​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​し、Mule アプリケーションと API ゲートウェイがインバウンド接続でリスンできるようにします。 ## [](#dos_thresholds_and_escalations)ルール、しきい値、およびエスカレーション DoS ポリシーの設定方法を理解するには、クライアントのメッセージが DoS ポリシーによって絞り込まれるタイミングと理由を理解する必要があります。 _タイミング_​は設定した時間枠によって決まり、​_理由_​は DoS しきい値によって決まります。 DoS ポリシーでさまざまなエラーを設定するときに、時間枠を設定できます。期間は秒単位で測定され、エラーアラートの受信後、DoS 攻撃が行われていることを確認し、設定済みのアクションを攻撃者のメッセージに適用します。 次の DoS アクションを設定できます。 - **None (なし)**​ ルールを作成しない場合、アクションは実行されません。 - **Limit its messages (そのメッセージを制限)**​ このルールは、(指定時間枠の残りまたは無期限で) 設定した時間枠の終了まで、指定したクライアントのメッセージレートを制限します。 - **Block all messages (すべてのメッセージをブロック)**​ ポリシーは、(指定時間枠の残りまたは無期限で) 設定した時間枠の終了まで、すべてのクライアントのメッセージ要求を拒否します。 指定期間が終了すると、ポリシーにはシェイプ期間またはブロック期間が適用されません。 各時間枠内で許容するエラーの数を設定できます。このエラーの数が DoS 数になります。DoS エラーの種別ごとに最大 3 つの DoS 時間枠を設定できます。各時間枠内で、設定した DoS 数が満たされるたびに、ポリシーはクライアントのメッセージ要求に対していずれかの DoS アクションを適用できます。 たとえば、60 秒の時間枠 (1 分の期間) を設定し、その時間枠内に 2 つのプロトコルエラーが発生した場合 (DoS 数は「2」)、クライアントからのそれ以降のすべての要求が拒否される (永久にブロックするアクションを適用する) ポリシーを設定できます。 エラーごとに最大 3 つの異なるルールを設定できます。各ルールはエスカレーションレベルに対応します。 **ルール A**​ は最低のエスカレーションレベルで、​**ルール C**​ は最高のエスカレーションレベルです。 **ルール A**​ より高いエスカレーションレベルでルールを設定する場合、その前のルール (ルール B の場合はルール A、ルール C の場合はルール B) の期間に基づいて、それらのルールの期間をセットアップできます。 たとえば、​**ルール B**​ を​**ルール A**​ の 2 つの期間となるように設定できます。つまり、​**ルール A**​ の期間が 60 秒の場合、​**ルール B**​ の期間は 120 秒になります。 さらに、ルールごとに異なる DoS 数を設定し、しきい値の概念を適用できます。 各ルールには次の異なるしきい値があります。 - **ルール A**​ の場合、しきい値は​**ルール A**​ 内で DoS アクションが適用されるときの DoS 数の値です。 - **ルール B**​ の場合、しきい値は​**ルール B**​ 内で DoS アクションが適用されるときの​**ルール B**​ DoS 数の値です。 **ルール B**​ DoS 数は、その​**ルール B**​ 内で実行される​**ルール A**​ DoS アクションの数です。 - **ルール C**​ の場合、しきい値は​**ルール C**​ 内で DoS アクションが適用されるときの​**ルール C**​ DoS 数の値で、​**ルール C**​ DoS 数はその​**ルール C**​ 内で実行される​**ルール B**​ DoS アクションの数でもあります。 これに基づき、DoS しきい値に違反したときに時間枠のエスカレーションが発生します。 ## [](#エラーとしてのポリシー違反のエスカレーション)エラーとしてのポリシー違反のエスカレーション DoS ポリシーが設定されている場合、HTTP プロトコルエラー (悪意のあるプロトコル違反の試行)、IP 許可リスト、WAF、および HTTP 制限ポリシー違反が DoS にエスカレーションされます。API ゲートウェイによって提供される一部のポリシーも DoS にエスカレーションされます。違反とエラーのエスカレーションの具体的なマッピングは、次の表を参照してください。
違反 エスカレーション種別​

Anypoint Security ポリシー

IP 許可リストポリシー

Authentication Error (認証エラー)

HTTP 制限ポリシー

Protocol Error (プロトコルエラー)

エンドポイントレベルでのエラー

エンドポイントでの HTTP プロトコルエラー

Protocol Errors (プロトコルエラー)

エンドポイントでの TLS ハンドシェイクエラー

Protocol Errors (プロトコルエラー)

転送不可能な API パスを使用する公開エンドポイントで受信した要求

Routing Errors (ルーティングエラー)

API ゲートウェイで提供されるポリシー

クライアント ID 適用

Authentication Error (認証エラー)

Mule OAuth 2.0 アクセストークン

Authentication Error (認証エラー)

OpenAM OAuth 2.0 トークン適用ポリシー

Authentication Error (認証エラー)

OpenID Connect OAuth 2.0 トークン適用

Authentication Error (認証エラー)

PingFederate OAuth 2.0 トークン適用

Authentication Error (認証エラー)

基本認証: シンプル

Authentication Error (認証エラー)

基本認証: LDAP

Authentication Error (認証エラー)

IP ブロックリスト

Content Error (コンテンツエラー)

IP 許可リスト

Content Error (コンテンツエラー)

JSON 脅威保護

Content Error (コンテンツエラー)

XML 脅威保護

Content Error (コンテンツエラー)

レート制限および調整 - SLA ベースのポリシーの概念

QoS Error (QoS エラー)

レート制限および調整

QoS Error (QoS エラー)

調整およびレート制限

QoS Error (QoS エラー)

## [](#dos-ポリシーを設定する)DoS ポリシーを設定する 1. **\[Anypoint Security\]**​ に移動し、​**\[Create Policy (ポリシーを作成)\]**​ をクリックして ​**\[Denial Of Service (サービス拒否)\]**​ を選択します。 DoS ポリシーを適用するプロセスには 6 つの異なる画面があります。
離れる前にすべての画面を保存しないと、その画面での変更内容が失われます。
2. 左のナビゲーションバーで、​**\[General (一般)\]**​ をクリックします。 1. **\[Name (名前)\]**​ 項目にポリシーの名前を追加します。 2. **\[Rule A Time Period (ルール A の期間)\]**​ で、期間を秒単位でセットアップします。 この期間は、各種別のエラーで設定したエラー数が発生した場合に、ポリシーが要求をブロックし始めるしきい値です。 3. **\[Max Sources To Monitor (監視する最大ソース数)\]**​ 項目を使用して、追跡する IP アドレスの最大数をセットアップします。 DoS ポリシーは最大 500,000 IP アドレスを追跡するように設定できます。 4. **\[Reject Message Action (メッセージアクションを拒否)\]**​ ドロップダウンメニューを使用して、クライアント接続が切断されたときにポリシーが返す応答の種別を選択します。次の 2 つのオプションがあります。 - **Drop Silently (自動的に切断)**​: ポリシーは接続を自動的に切断し、TLS ハンドシェイクを完全に回避する。ポリシーは、AWS ELB Proxy Protocol ヘッダーにソース IP アドレスがある TCP パケット、または TCP パケットから取得されたソース IP アドレスへの接続を回避します。ポリシーは攻撃者の要求を読み取らないため、これはクライアントの接続を終了するために最も効率的な方法です。 - **Send HTTP 503 (HTTP 503 を送信)**​: ポリシーは接続を終了し、クライアントに ​`503 (Service Unavailable)`​ 応答を返します。これには TLS 接続が必要になり、多くのリソースを消費します。

DoS ポリシーは次の条件を満たす場合、DoS アクションを適用する前に、HTTP メッセージ内のソース IP ヘッダー (「x-forwarded-for」や「forwarded」など) に接続して読み取る必要があります。

  • アプリケーションがロードバランサーの背後にある。

  • ロードバランサーが Proxy Protocol V1 または AWS NLB をサポートする AWS ELB ではない。

これは、​[Reject Message Action (メッセージアクションを拒否)]​ で ​[Drop Silently (自動的に切断)]​ を指定しているかどうかに関わらず適用されます。

3. これで、さまざまなエラー種別に対してアクションを実行するポリシーを設定できます。 ## [](#error_types)エラー種別 DoS ポリシーを設定するときに、既存のセキュリティポリシーに対応するさまざまなエラー種別を設定できます。たとえば、​**\[Protocol Errors (プロトコルエラー)\]**​ は HTTP 制限ポリシー違反に対応します。 異なるエラー種別を設定する場合、ポリシー違反がアクションの DoS ポリシーに送信 (エスカレーション) されるしきい値を設定します。「​[ルール、しきい値、エスカレーション](#dos_thresholds_and_escalations)​」を参照してください。エラーの設定方法によって、設定済みのしきい値が満たされたときに実行されるアクションが決まります。
エラー 説明

Protocol Errors (プロトコルエラー)

クライアントが不正なプロトコルメッセージを送信した場合。

HTTP 制限ポリシー違反は ​[Protocol Errors (プロトコルエラー)]​ として DoS ポリシーにエスカレーションされます。

Routing Errors (ルーティングエラー)

クライアントがアプリケーションに正常に転送できないメッセージ要求を送信した場合。

API Manager の IP ブロックリスト/許可リストまたは RAML 検証ポリシーへの違反は、​[Routing Errors (ルーティングエラー)]​ として DoS ポリシーにエスカレーションされます。

Authentication Errors (認証エラー)

認証または承認の失敗が発生した場合。
これには、SSL ハンドシェイク中にクライアントが不正な証明書を送信した場合、AAA ポリシーでの認証または承認の失敗、または WS-Security 検証ポリシーが WS-Security 署名の検証に失敗した場合が含まれます。

API Manager の LDAP、HTTP、OAuth、OpenAM、または Ping Federate 認証ポリシーへの違反は、​[Authentication Errors (認証エラー)]​ として DoS ポリシーにエスカレーションされます。
IP 許可リストポリシー違反も認証エラーとしてエスカレーションされます。

QoS Errors (QoS エラー)

サービス品質 (QoS) エラーが発生した場合。
たとえば、クライアントはパケットを破棄して TCP サービスを低下させ、TCP のパフォーマンスに悪影響を及ぼすことによって、多数の QoS エラーを強制的に発生させようとする可能性があります。

API Manager レベルでのレート制限、SLA ベース、または Ping Federate ポリシーへの違反は、​[QoS Errors (QoS エラー)]​ として DoS ポリシーにエスカレーションされます。

Content Errors (コンテンツエラー)

コンテンツエラーは、クライアントがスキーマに準拠しない破損データを送信したり、コンテンツ攻撃防止ポリシーに違反したりしたときに発生します。

API Manager レベルでの JSON または XML 脅威保護ポリシーへの違反は、​[Content Errors (コンテンツエラー)]​ として DoS にエスカレーションされます。

WAF Errors (WAF エラー)

WAF エラーに適用するアクション (指定期間の IP アドレスのブロックなど) を設定します。

応答または要求ルールセットへの違反は、​[WAF Errors (WAF エラー)]​ として DoS にエスカレーションされます。

## [](#関連情報)関連情報 - [IP 許可リストポリシー](https://docs.mulesoft.com/jp/anypoint-security/acl-policy) - [HTTP 制限ポリシー](https://docs.mulesoft.com/jp/anypoint-security/cap-policy) - [WAF ポリシー](https://docs.mulesoft.com/jp/anypoint-security/waf-policy) - [WAF ポリシー用の DoS の有効化](https://docs.mulesoft.com/jp/anypoint-security/escalate-waf-to-dos) # サポート対象シークレット種別リファレンス ## [](#単純なシークレット種別)単純なシークレット種別
シークレット種別 説明

Shared Secret (共有シークレット)

このセキュリティオブジェクトには、ユーザー名とパスワード、または Base64 でエンコードされた対称キーが含まれます。
共有シークレットは、メッセージ送信者とメッセージ受信者の両方がシークレットを知っている状況で、対称暗号化および復号化に使用されます。送信者はキーを使用して、メッセージの暗号化や署名を行います。受信者はキーを使用して、メッセージの復号化やメッセージのデジタル署名の検証を行います。

シークレットマネージャーでは、管理者が静的なユーザー名とパスワードの組み合わせ、静的な対称キー、S3 バケット、または blob のいずれかを定義できます。

Certificate (証明書)

このセキュリティオブジェクトには、公開キーを ID にバインドするためにデジタル署名を使用する X.509 証明書と電子文書が含まれます。
シークレットマネージャーは、PEM および JKS 証明書をサポートしています。

## [](#tls-および-ssl-通信で使用されるシークレット種別)TLS および SSL 通信で使用されるシークレット種別
シークレット種別 説明

Keystore (キーストア)

キーストアは、セキュリティ証明書 (承認証明書または公開キー証明書のいずれか)、および SSL 暗号化などで使用される対応する非公開キーのリポジトリです。

シークレットマネージャーは、RSA および EdDSA (ED448 および ED25519) によって署名されたキーと証明書の両方を受け入れます。

次のキーストア種別がサポートされています。

  • JKS

  • JCEKS

  • PEM

  • PKCS12

Truststore (トラストストア)

トラストストアは、通信を行う他の当事者からのセキュリティ証明書、または他の当事者の識別に使用する信頼済みの認証機関からのセキュリティ証明書のリポジトリです。

シークレットマネージャーは、証明書の有効期限が切れたトラストストアを受け入れます。

シークレットマネージャーのトラストストアは、次の標準入力形式を受け入れます。

  • PEM

  • JKS

  • PKCS12

  • JCEKS

Certificate Pinset (証明書ピンセット)

証明書ピンセットは、必要な X.509 証明書または公開キーをクライアントまたはホストと関連付ける他の当事者からのセキュリティ証明書のリポジトリです。これらのセキュリティ証明書 ID は、クライアントまたはホストに固定されます。
このリポジトリまたは「ピンセット」は、SSL/TLS 接続でのクライアントの識別などに使用できる、証明書のリストとして機能します。シークレットマネージャーは、入力として PEM 証明書の連結リストを受け入れます。

TLS Context (TLS コンテキスト)

このセキュリティオブジェクトは、すべての SSL の重要なセキュリティパラメーターを定義します。

## [](#関連情報)関連情報 - [シークレットマネージャー](https://docs.mulesoft.com/jp/anypoint-security/index-secrets-manager) - [シークレットグループ](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-group-concept) - [シークレットマネージャー権限](https://docs.mulesoft.com/jp/anypoint-security/asm-permission-concept) # シークレットグループ _シークレットグループ_​は、シークレットのグループを 1 つの単位として管理できるシークレットのの論理的なグループ化です。シークレットマネージャーは、シークレットグループ、環境、およびビジネスグループごとにシークレットを保存します。 ユーザーのアクセス制御と認証制御は環境レベルで適用されます。特定の環境でのアクセス権を持つユーザーは、その環境に属するすべてのシークレットグループにアクセスできます。組織内の特定のビジネスグループと環境にデプロイされたアプリケーションのみが、各シークレットグループに保存されたシークレットにアクセスできます。 ## [](#関連情報)関連情報 - [シークレットマネージャー](https://docs.mulesoft.com/jp/anypoint-security/index-secrets-manager) - [シークレットマネージャー権限](https://docs.mulesoft.com/jp/anypoint-security/asm-permission-concept) - [シークレットグループの作成および編集](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-group-creation-task) # シークレットグループの作成および編集 (Anypoint Platform) シークレットマネージャーを使用すると、シークレットの論理的なグループ化であるシークレットグループを作成および編集できます。シークレットマネージャーで、新しいシークレット種別を作成してシークレットグループに追加することもできます。 ## [](#前提条件)前提条件 シークレットグループを作成および編集するには - `Write secrets`​ 権限が有効になっていることを確認する。 - 環境またはビジネスグループを使用して、適切な環境にいることを確認する。 ## [](#シークレットグループの作成)シークレットグループの作成 1. Anypoint Platform で、\[Management Center\] に移動して​**\[Secrets Manager (シークレットマネージャー)\]**​ を選択します。 2. **\[Create Secret Group (シークレットグループを作成)\]**​ をクリックします。 3. シークレットグループの名前を入力して ​**\[Save (保存)\]**​ をクリックします。 シークレットグループの名前は次の条件を満たす必要があります。 - 文字で始まる - 3 文字以上で 35 文字以下である - 文字、数字、ダッシュのみを含む (ただし名前の末尾にダッシュは使用できない)。 シークレットグループを作成すると、​**\[Secret Groups (シークレットグループ)\]**​ リストビューに表示されます。シークレットグループを編集して、必要なシークレット種別 (トラストストアやキーストアなど) を追加します。 ## [](#トラストストアを追加する)トラストストアを追加する 信頼済みのサーバーの公開証明書用のトラストストアを追加します。トラストストアは、信頼された CA の証明書を最大 15 個保存できます。その後、SSL 接続でサーバーから提供される証明書を検証するために使用されます。 1. \[Secret Groups (シークレットグループ)\] リストビューで、新しいトラストストアを受け取るシークレットグループを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで ​**\[Truststore (トラストストア)\]**​ を選択し、​**\[Add Truststore (トラストストアを追加)\]**​ をクリックします。 3. **\[Add Truststore (トラストストアを追加)\]**​ 画面で、必要な情報を追加します。 - **Name (名前)**​ トラストストアの名前を入力します。 - **Type (種別)**​ ドロップダウンメニューからトラストストア種別を選択します。 次の種別がサポートされています。 - PEM - JKS - PKCS12 - JCEKS - **Truststore File (トラストストアファイル)**​ **\[Choose File (ファイルを選択)\]**​ をクリックし、アップロードするトラストストアファイルを選択します。 - **Override Expiration Date (有効期限を上書き)**​ 証明書のデフォルトの有効期限を上書きする日付を選択します。
JKS、PKCS12、または JCEKS トラストストアファイルをアップロードする場合、このトラストストアのパスフレーズも指定する必要があります。
4. **\[Save (保存)\]**​ をクリックします。 ## [](#add_keystore)キーストアを追加する シークレットグループに追加するキーストアの型を指定します。キーストアは、承認証明書、それに対応する非公開キー、および認証機関のパスの組み合わせです。 1. **\[Secret Groups (シークレットグループ)\]**​ リストビューで、キーストアを追加するシークレットグループを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで ​**\[Keystore (キーストア)\]**​ を選択し、​**\[Add Keystore (キーストアを追加)\]**​ をクリックします。 3. **\[Name (名前)\]**​ 項目で、キーストアの名前を入力します。 4. **\[Type (種別)\]**​ 項目で、ドロップダウンメニューからキーストア種別を選択します。 次の種別がサポートされています。 - Privacy-Enhanced Mail (PEM) `cer`​、​`crt`​、または ​`pem`​ 拡張子の Base64 でエンコードされた ASCII ファイル。 - Java Keystore (JKS) 認証または公開キー証明書のリポジトリ。JKS キーストア種別はシークレットキーを保存しません。 - PKCS #12 サーバー証明書と中間証明書をアーカイブファイル形式で保存します。PKCS #12 キーストア種別はシークレットキーを保存しません。 - Java Cryptography Extension keystore (JCEKS) サーバー証明書と中間証明書およびシークレットキーを保存します。 1. **PEM**​ 種別のキーストアを追加するには、次の項目を設定する必要があります。 - **Certificate File (証明書ファイル)**​ **\[Choose File (ファイルを選択)\]**​ をクリックし、PEM 証明書ファイルを見つけてアップロードします。 - **Key File (キーファイル)**​ **\[Choose File (ファイルを選択)\]**​ をクリックし、証明書の非公開キーを含む PEM 形式のファイルを見つけてアップロードします。 - **Key Passphrase (キーパスフレーズ)**​ 非公開キーを保護する単語または語句を入力します。 - **CA Path Certificate File (CA パス証明書ファイル)**​ **\[Choose File (ファイルを選択)\]**​ をクリックし、認証機関 (CA) によって署名された証明書を見つけてアップロードします。 CA パスには、使用する証明書ファイルに関連する中間証明書とルート証明書が含まれます。 - **Override Expiration Date (有効期限を上書き)**​ 証明書のデフォルトの有効期限を上書きする日付を選択します。 2. **JKS**​、​**PKCS12**​、または ​**JCEKS**​ 種別のキーストアを追加するには、次の項目を設定する必要があります。 - **Keystore File (キーストアファイル)**​ **\[Choose File (ファイルを選択)\]**​ をクリックし、使用するキーストアファイルを見つけてアップロードします。 - **Keystore Passphrase (キーストアパスフレーズ)**​ キーストアを保護する単語または語句を入力します。 - **Alias (別名)**​ キーストアエントリ (キーと信頼済みの証明書のエントリ) へのアクセスに使用する別名。 - **Key Passphrase (キーパスフレーズ)**​ 非公開キーを保護する単語または語句。 - **Algorithm (アルゴリズム)**​ キーの暗号化に使用するアルゴリズム。 - **Override Expiration Date (有効期限を上書き)**​ 証明書の現在の有効期限を上書きする日付を選択します。 5. **\[Save (保存)\]**​ をクリックします。 ## [](#証明書ピンセットを追加する)証明書ピンセットを追加する PEM 証明書の連結リストをシークレットグループに追加します。 1. **\[Secret Groups (シークレットグループ)\]**​ リストビューで、証明書ピンセットを追加するシークレットグループを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで ​**\[Certificate Pinset (証明書ピンセット)\]**​ を選択し、​**\[Add Certificate Pinset (証明書ピンセットを追加)\]**​ をクリックします。 3. **\[Certificate Pinset (証明書ピンセット)\]**​ 画面で、必要な情報を追加します。 - **Name (名前)**​ 証明書ピンセットの名前を入力します。 - **Certificate File (証明書ファイル)**​ **\[Choose File (ファイルを選択)\]**​ をクリックし、アップロードする PEM 形式の CA 証明書を選択します。 - **Expiration Date (有効期限 (日))**​ 証明書の有効期限を選択します。 4. **\[Save (保存)\]**​ をクリックします。 ## [](#共有シークレットを追加する)共有シークレットを追加する ユーザーが認証に使用できる共有シークレットを追加します。 1. **\[Secret Groups (シークレットグループ)\]**​ リストビューで、共有シークレットを追加するシークレットグループを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで ​**\[Shared Secret (共有シークレット)\]**​ を選択し、​**\[Add Shared Secret (共有シークレットを追加)\]**​ をクリックします。 3. **\[Add Shared Secret (共有シークレットを追加)\]**​ 画面で、必要な情報を追加します。 - **Name (名前)**​ 共有シークレットの名前を入力します。 - **Type (種別)**​ ドロップダウンメニューから共有シークレット種別を選択します。 - **Username Password (ユーザー名/パスワード)**​ ユーザー名とパスワードを指定します。 - **Symmetric Key (対称キー)**​ 対称キーを含む Base64 文字列を指定します。 - **S3 Credential (S3 ログイン情報)**​ S3 バケットへのアクセスキー ID とシークレットアクセスキーを指定します。 - **Blob**​ Base64 でエンコードされた値を指定します。 4. **\[Save (保存)\]**​ をクリックします。 ## [](#シークレットグループを編集する)シークレットグループを編集する シークレットグループを編集して、シークレット種別 (キーストア、トラストストア、証明書など) を追加します。 1. **\[Secret Groups (シークレットグループ)\]**​ リストビューで、編集するシークレットグループを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 必要に応じて、シークレットを変更します。 シークレットへの変更を作成または保存すると、変更はすぐに適用されます。更新されたシークレットグループは、次にシークレットグループにアクセスしたとき、またはアプリケーションをデプロイしたときにすぐに使用できます。 ## [](#関連情報)関連情報 - [Mule の TLS コンテキストの追加](https://docs.mulesoft.com/jp/anypoint-security/secret-group-add-tls-context) - [シークレットマネージャー権限](https://docs.mulesoft.com/jp/anypoint-security/asm-permission-concept) - [サポート対象シークレット種別リファレンス](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-type-support-reference) - [Anypoint Runtime Fabric でのインバウンドトラフィックの有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic) - [HTTPS API プロキシの構築](https://docs.mulesoft.com/jp/api-manager/latest/building-https-proxy) # シークレットマネージャー Anypoint Security シークレットマネージャーでは、セキュアコンテナテクノロジーを使用して、非公開キー、パスワード、証明書、およびその他のシークレットの保存とアクセス制御を行います。

シークレットマネージャーにアクセスできない場合、または ​Cannot Create Secret Groups​ というエラーが表示される場合は、アクセス管理に適切な権限を追加する必要があります。

  • シークレットマネージャーへのアクセスのみが必要で、Anypoint Runtime Fabric のインスタンスを管理しない場合は、​[Access Management (アクセス管理)] > [Permissions (権限)] > [Secrets Manager (シークレットマネージャー)]​ タブで適切なユーザー権限を追加します。

  • Runtime Fabric のインスタンスを管理する場合、​[Manage Runtime Fabric (Runtime Fabric の管理)]​ 権限のみを追加する必要があります (​[Secrets Manager (シークレットマネージャー)]​ 権限を個別に追加する必要はありません)。

シークレットマネージャーを使用して、シークレット、キー、およびトランスポートレイヤーセキュリティ (TLS) アーティファクトを作成および管理します。シークレットのメタデータを読み取ることができますが、実際のシークレットをコンシュームできるのは代理認証済みのプラットフォームサービスのみです。 シークレットマネージャーは、サポートされる Anypoint Platform サービスのシークレットを保存および管理するように設計されています。シークレットの汎用ストレージではありません。シークレットのコンテンツにアクセスできるのは、Anypoint Platform 内の信頼できるサービスのみです。 シークレットマネージャーは、次のサービスの TLS コンテキストの管理をサポートしています。 - Runtime Fabric イングレス TLS アーティファクトをシークレットマネージャーに保存してから、シークレットの参照を使用して Anypoint Runtime Fabric イングレスを設定できます。シークレットマネージャーは、VM/ベアメタル (アプライアンス) 製品の RTF に対してのみ Runtime Fabric イングレスをサポートします。 - Anypoint Platform の API Manager TLS アーティファクトをシークレットマネージャーに保存してから、シークレットの参照を使用して Anypoint API Manager を設定できます。 [「HTTPS API プロキシの構築」](https://docs.mulesoft.com/jp/api-manager/latest/building-https-proxy)​を参照してください。 Anypoint Platform のシークレットマネージャーでは、シークレットをシークレットグループ (環境やビジネスグループに関連付けられたコンテナ) に保存できます。各シークレットグループには一意の暗号化キーが含まれます。このキーは、シークレットマネージャーでのみ生成および管理されます。 シークレットマネージャーに保存されたシークレットを要求するようにサポート対象 Anypoint Platform サービスを設定し、それらにアクセスできるサポート対象サービスを制御できます。このタスクは、2 つのマクロサービスによって処理されます。 - シークレットマネージャー シークレットのアップロードと保存を処理するための公開されたサービスです。 シークレットをコンテナにアップロードするたびに、シークレットマネージャーはコンテンツを公開せずに共有または読み取りができるようにその参照を確立します。シークレットメタデータを読み取ることはできますが、シークレット自体を読み取ることはできません。 - シークレットプロバイダー サポート対象プラットフォームサービスがコンシュームできるようにシークレットを処理する内部サービスです。 これは、実際のシークレットを読み取ることができる唯一のサービスであるため、公開ネットワークからはアクセスできません。 ![シークレットマネージャーがシークレットプロバイダーサービスや Anypoint Platform サービスとやり取りする様子を示した図。](/mulesoft/current/ja-jp/anypoint-security/_images/secrets-manager-diagram.png) ## [](#サポート対象シークレット種別)サポート対象シークレット種別 シークレットマネージャーでは、次のシークレット種別を保存および管理できます。 - TLS Context SSL セキュリティパラメーター (使用する暗号や TLS のバージョンなど)。 - Keystore (キーストア) セキュリティ証明書 (承認証明書または公開キー証明書のいずれか) と対応する非公開キーのリポジトリ。 - Truststore (トラストストア) 通信する他の関係者、または他の関係者を識別する信頼できる証明機関のセキュリティ証明書のリポジトリ。 - 証明書 公開 X.509 証明書。公開キーと ID (ホスト名、組織、または個人) をバインドする電子ドキュメントです。 - 証明書ピンセット クライアントまたはホストを想定される X.509 証明書または公開キーに関連付ける他の関係者のセキュリティ証明書のリポジトリ。 - CRL ディストリビューター 関連付けられていた非公開キーまたは署名 CA が侵害されたために信頼されなくなった CA 証明書のリストを作成および管理するエンティティ。 ### [](#制限事項)制限事項 共有シークレットは、メッセージ送信者とメッセージ受信者の両方がシークレットを把握している対称暗号化および対称復号化で使用されます。 次の共有シークレット種別が定義されていますが、現時点では Anypoint Platform サービスでコンシュームすることはできません。 - パスワード 送信者と受信者がメッセージをエンコードおよびデコードするために使用するパスワード。 - 対称キー 送信者と受信者がメッセージをエンコードおよびデコードするために使用する公開キー暗号化。 - S3 ログイン情報 AWS S3 バケットにアクセスするためのセキュリティキーのペア。 - Blob API コールを介して保存される、自由形式のアプリケーション固有のシークレット。Blob は、特定のアプリケーションで使用される base64 でエンコードされたデータです。たとえば、blob には base64 でエンコードされた JSON オブジェクトを保存できます。 ## [](#関連情報)関連情報 - [サポート対象シークレット種別リファレンス](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-type-support-reference) - [シークレットグループ](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-group-concept) - [シークレットマネージャー権限](https://docs.mulesoft.com/jp/anypoint-security/asm-permission-concept) - [Anypoint Runtime Fabric でのインバウンドトラフィックの有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic) - [HTTPS API プロキシの構築](https://docs.mulesoft.com/jp/api-manager/latest/building-https-proxy) # シークレットマネージャー権限 組織の管理者は、\[Access Management (アクセス管理)\] からユーザーにこれらの権限を付与できます。 ## [](#ユーザー権限)ユーザー権限 ユーザーがシークレットマネージャーを操作するには、定義済みの一連の権限が必要です。
Name (名前) 説明

Write secrets (シークレットの作成)

特定の環境でシークレットをアップロード、作成、および変更できます。

Read secrets metadata (シークレットメタデータの読み取り)

特定の環境でシークレットのメタデータをの参照と読み取りを行うことができます。

Grant access to secrets (シークレットへのアクセス権の付与)

特定の環境でメタデータの参照と読み取りを行い、シークレットへのアクセス権を付与できます。

Manage secret groups (シークレットグループの管理)

特定の環境でシークレットグループを作成、変更、および削除できます。

## [](#関連情報)関連情報 - [シークレットマネージャー](https://docs.mulesoft.com/jp/anypoint-security/index-secrets-manager) - [シークレットグループ](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-group-concept) # トークナイゼーションサービスの作成 トークナイゼーションサービスでは、機密データ要素を対応する非機密データ要素に置き換えることができます。 ## [](#前提条件)前提条件 トークナイゼーションサービスを設定し、使用するには、以下が必要です。 - Anypoint Platform アカウントの Anypoint Security - Edge エンタイトルメント。​**Management Center**​ に ​**\[Security (セキュリティ)\]**​ が表示されない場合、または Runtime Manager に ​**\[Tokenization Service (トークナイゼーションサービス)\]**​ タグが表示されない場合は、各自のアカウントでトークナイゼーションサービスが有効になるようにカスタマーサクセスマネージャーに依頼してください。 Runtime Manager に ​**\[トークナイゼーションサービス\]**​ タブが表示されない場合、各自のアカウントでトークナイゼーションサービスが有効になるようにカスタマーサクセスマネージャーに依頼してください。 - トークナイゼーションを管理する正しい権限。 [「トークナイゼーション権限の付与」](https://docs.mulesoft.com/jp/anypoint-security/grant-tokenization-permissions)​を参照してください。 - インバウンドトラフィックが設定された Runtime Fabric 1.1.153 以降。 [Runtime Fabric のドキュメント](https://docs.mulesoft.com/runtime-fabric/latest/)​を参照してください。 Runtime Fabric には、Anypoint Platform Platinum 以上のレベルのサブスクリプションが必要です。 - トークナイゼーションサービスによって作成されたトークナイゼーションテーブル暗号化キーを格納するシークレットグループ。 - 形式とデータのトークナイズ方法を記述するトークナイゼーション形式。 [「トークナイゼーション形式」](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats)​を参照してください。 ## [](#トークナイゼーションサービスを作成する)トークナイゼーションサービスを作成する 1. **Runtime Manager → \[Tokenization Service (トークナイゼーションサービス)\]**​ ページに移動します。 2. **\[Create Tokenization Service (トークナイゼーションサービスを作成)\]**​ をクリックします。 完了した前提条件により、以下の選択を行うために必要な情報が提供されます。 3. トークナイゼーションサービスをデプロイする Runtime Fabric を選択します。 4. トークナイゼーション形式を選択します。 1 つ以上またはすべての形式を 1 つのトークナイゼーションサービスに割り当てることができます。 5. トークナイゼーションサービスレプリカに使用するコアの数を選択します。 トークナイゼーションサービスは、Runtime Fabric のワーカーノードで実行されます。コアの最小数と最大数を選択できます。次のように定義されています。 - 予約された vCPU アプリケーションで使用するために保証され、予約されている vCPU の数。 - vCPU 制限 アプリケーションで使用できる vCPU の最大数 (アプリケーションでバーストできるレベル)。これは、ワーカーノードで共有される CPU です。 6. トークナイゼーションサービスのログレベルを選択するか、デフォルト (​**ERROR**​) のままにします。 7. **\[Build and Deploy (構築およびデプロイ)\]**​ をクリックして、トークナイゼーションテーブルを作成します。 マッピングテーブルは、トークナイズおよびデトークナイズの中核で使用される多数のランダマイゼーションが含まれて事前構築されます。この事前構築テーブルは 1 対 1 のマッピングテーブルではなく、実際のデータの代わりにランダマイゼーションをスワップインおよびスワップアウトするための内部ステップで使用されます。 トークナイゼーションマッピングテーブルのビルドは 1 回限りのアクションで、トークナイゼーション形式のサイズによっては完了に時間がかかる場合があります。たとえば、サイズが 200 MB 未満の SSN 形式のみが含まれるテーブルは 2 分でビルドできますが、より大きな形式 (「可変英数字」など) を使用するテーブルでは、構築に最大 20 分かかります。 すべての形式が含まれるテーブルのサイズは約 2 GB になるため、大部分またはすべての形式を選択すると、テーブルのビルドに非常に長い時間がかかります。 ## [](#関連情報)関連情報 - [Tokenization (トークナイゼーション)](https://docs.mulesoft.com/jp/anypoint-security/tokenization) - [トークナイゼーション形式](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats) - [トークナイゼーションサービスの設定](https://docs.mulesoft.com/jp/anypoint-security/tokenization-example) # トークナイゼーションサービスの設定 トークナイゼーションサービスの設定および使用方法は、Mule 実装によって異なります。 ## [](#api-ゲートウェイへのトークナイゼーションポリシーの適用)API ゲートウェイへのトークナイゼーションポリシーの適用 トークナイゼーションポリシーを適用して Mule 4 の API ゲートウェイ機能を設定し、Anypoint Runtime Fabric インバウンドロードバランサーと Mule アプリケーションの間で送信される要求データと応答データをトークナイズまたはデトークナイズできます。 [「API ゲートウェイへのトークナイゼーションポリシーの適用」](https://docs.mulesoft.com/jp/anypoint-security/apply-tokenization-policy-to-api)​を参照してください。 ## [](#トークナイゼーションをサービスとして-mule-アプリケーションに公開)トークナイゼーションをサービスとして Mule アプリケーションに公開 追加のデータ処理が必要な場合、Mule アプリケーションでビジネスロジックを追加し、処理の一部としてトークナイゼーション要求とデトークナイゼーション要求をトークナイゼーションサービスに直接送信できます。 [「トークナイゼーションをサービスとして Mule アプリケーションに直接公開」](https://docs.mulesoft.com/jp/anypoint-security/tokenization-from-a-mule)​を参照してください。 # トークナイゼーションサービスログ トラフィック数を確認するには、Runtime Fabric ログで返されるトークナイゼーションの概要メッセージを使用します。ログを取得するには、Runtime Fabric でログ転送を設定します。 ログのタグエントリは ​`rtfTokenizationStatistics`​ です。統計は JSON 文字列です。ログは、ログレベル設定の影響を受けない RTC ​`INFO`​ レベルの強制ログエントリで 1 分ごとに表示されます。 失敗数は、実際のトークナイゼーションおよびデトークナイゼーションの失敗でのみ増加します。その他の失敗 (要求のプロトコルエラーなど) は、失敗の統計に対してカウントされません。失敗の例として、デトークナイズできない不明なトークン文字列などが挙げられます。 カウントは、個々の各ポッド (レプリカ) の開始から終了するまで累積されます。 トークナイゼーションの概要メッセージの例:
icvlab11401 RTC\_BASE\_MGMT INFO WorkflowTest 16766 16775 cbrsrc/cbrcore/src/rtc/embedded/wfp/WfpTokenizationStatistics.cpp 98
{"tokenizationStatistics":{"node":"icvlab11401","timestamp":"2018-11-12T20:55:00.009Z","tokenizeSuccess":2,"deTokenizeSuccess":6,"tokenizedBytes":6,"deTokenizedBytes":32,"tokenizeFailure":2,"deTokenizeFailure":2,"tokenizeFailedBytes":5,"deTokenizeFailedBytes":0}}+
```json { "tokenizationStatistics":{ "node":"icvlab11401", "timestamp":"2018-11-12T20:55:00.009Z", "tokenizeSuccess":2, "deTokenizeSuccess":6, "tokenizedBytes":6, "deTokenizedBytes":32, "tokenizeFailure":2, "deTokenizeFailure":2, "tokenizeFailedBytes":5, "deTokenizeFailedBytes":0 } } ``` ## [](#トークナイゼーション監査ログ)トークナイゼーション監査ログ 監査ログは、トークナイゼーションまたはデトークナイゼーション要求が開始されたときに生成されます。監査ログを有効にするには、​**\[Enable Audit Logs (監査ログの有効化)\]**​ 設定を選択します。 監査ログには次の内容が含まれます。 - クライアント IP アドレス - 操作 (トークナイゼーションまたはデトークナイゼーション) - 使用された形式 - タイムスタンプ - Correlation\_id - 成功または失敗状況 トークナイゼーション監査ログの例:
defaulttokservice-tokenizer-55546c57f9-f8t7hsecurityfabric-tokenizer-runtime34657988989747200
{"client":"10.244.60.9","correlation\_id": "bf4d3684-9ada-4931-9815-7c36ef98fdf4","operation": "detokenization", "details": \[ {"format":"socialSecurityNumber","success":1,"failure":0} \]}
セキュリティ上の理由により、機密データもトークンも記録されません。 ## [](#関連情報)関連情報 [Runtime Fabric ドキュメント](https://docs.mulesoft.com/jp/runtime-fabric/1.13/runtime-fabric-logs) # トークナイゼーションをサービスとして Mule アプリケーションに直接公開 トラフィックがトークナイゼーションサービスに到達する前に多くの複雑なデータ処理が必要な場合、Runtime Fabric インバウンドロードバランサーがトラフィックを転送できる、転送先の Mule アプリケーションをセットアップすることをお勧めします。このシナリオでは、Mule アプリケーションがデータを処理し、トラフィックをトークナイゼーションサービスに送信します。 Mule アプリケーションでデータ処理を実行する必要がない場合は、トークナイゼーションサービスをパススルーとして公開できます。 ## [](#前提条件)前提条件 トークナイゼーションサービスを設定し、使用するには、以下が必要です。 - トークナイゼーションサービスを管理する権限を取得するための​[トークナイゼーション権限を付与](https://docs.mulesoft.com/jp/anypoint-security/grant-tokenization-permissions)​します。 - [Runtime Fabric をインストール](https://docs.mulesoft.com/jp/runtime-fabric/1.13/install-create-rtf-arm)​します。 Anypoint Runtime Fabric は、Mule アプリケーションや API ゲートウェイのデプロイメントおよびオーケストレーションを自動化するコンテナサービスです。 - Runtime Fabric で​[インバウンドトラフィックを有効化](https://docs.mulesoft.com/jp/runtime-fabric/1.13/enable-inbound-traffic)​します。 - [トークナイゼーション形式を作成](https://docs.mulesoft.com/jp/anypoint-security/create-tokenization-format)​します。 - [トークナイゼーションサービスを作成](https://docs.mulesoft.com/jp/anypoint-security/create-tokenization-service)​します。 ## [](#トークナイゼーション-raml-から-api-を作成する)トークナイゼーション RAML から API を作成する API ゲートウェイを使用して、ルーティング可能なトークナイゼーションサービスをセットアップするのに必要な情報を取得したら、トークナイゼーション RAML から API を作成します。 1. 公開の [Anypoint Platform 開発者ポータル](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/)​に移動し、「Tokenization API」 (トークナイゼーション API) を検索します。 2. **\[Download (ダウンロード)\] > \[As RAML (RAML として)\]**​ を選択します。RAML が ZIP ファイルとしてダウンロードされます。 3. Exchange ポータルに移動して、​**\[New asset (新規アセット)\]**​ をクリックします。 4. **\[Name (名前)\]**​ を「​`Tokenization API`​」として設定し、​**\[Type (種別)\]**​ を「​`REST API - RAML`​」として設定します。 5. ダウンロードした ZIP ファイルを選択し、​**\[Publish (パブリッシュ)\]**​ をクリックします。 6. Anypoint Studio または Design Center で、​`Tokenization API`​ RAML に基づいて HTTP アウトバウンド接続を作成します。 Runtime Fabric のトークナイゼーションサービスは、ポート 3443 をリスンし、HTTPS 経由でのみ使用できます。 アウトバウンド URL のホスト名部分は、サービス名 + ​`-tokenizer`​ の形式を取ります。たとえば、トークナイゼーションサービス名が「mytoken1」の場合、アウトバウンド URL は ​`[https://mytoken1-­tokenizer:3443](https://mytoken1-­tokenizer:3443)`​ になります。 7. HTTP アウトバウンド接続の前に Dataweave 変換ステップを使用して、​`Tokenization API`​ RAML で定義された ​`TokenizationServiceRequest`​ データ型に入力データを変換します。 要求は項目の配列です (例: `{"format" : "ssnonly", "data" : "333-33-3333"}`​)。 `format`​ の値は、サービスで定義されたトークナイゼーション形式に一致します。 ​`data`​ の値は、何をトークナイズまたはデトークナイズするかを示します。
配列で許容される最大項目数は 100 です。配列に 100 を超える項目が含まれる場合は、トークナイゼーションサービスへの複数の要求に分割する必要があります。
8. Mule アプリケーションの HTTP リスナーを HTTPS に設定します。 9. Mule アプリケーションをエクスポートします。 10. Runtime Manager で、​[アプリケーションを Runtime Fabric にデプロイ](#2.4@runtime-fabric::deploy-to-runtime-fabric.adoc)​します。
Runtime Fabric インバウンドロードバランサーと Mule アプリケーション間の TLS を有効にするには、​[Last mile security (Last Mile セキュリティ)]​ チェックボックスをオンにする必要があります。
11. (省略可能) Mule アプリケーションのセキュリティと保護を強化するには、認証方法を追加します。 ## [](#tls-を設定する)TLS を設定する トークナイゼーションサービスは TLS トラフィックのみを受け入れるため、Mule HTTP アウトバウンド接続に対して TLS を有効化する必要があります。また、Mule アプリケーションを Runtime Fabric にデプロイする場合は、Last-Mile セキュリティを有効化し、インバウンドロードバランサーと Mule アプリケーション間の接続で TLS が使用されるようにする必要があります。 次に、Studio 7.3 で Mule アプリケーションの TLS を設定する方法の例を示します。 1. Anypoint Studio に移動して、対象の Mule アプリケーションのプロジェクトを開きます。 2. `src/main/resources`​ に移動し、キーストアを追加します。この例では、キーストアの名前は「​`tester.jks`​」となっています。 3. 後で ​**\[Last Mile Security (Last-Mile セキュリティ)\]**​ フラグを有効にできるように、TLS をリスナー側に追加します。これを行うには、まず HTTPS フラグを設定します。 ![HTTP リスナーのプロトコルが HTTPS に設定された 「Global Element Properties (グローバル要素のプロパティ)」 ウィンドウ。](/mulesoft/current/ja-jp/anypoint-security/_images/tokenization-example-set-https-flag.png) 4. **\[TLS\]**​ タブをクリックし、キーストア情報を設定して、以下を選択します。 - **\[TLS Configuration (TLS 設定)\]**​ ドロップダウンから ​**\[Edit inline (インライン編集)\]**​ を選択します。 - **\[Trust Store Configuration (トラストストア設定)\]**​ で ​**\[Insecure (安全ではない)\]**​ ボックスをオンにします。 - **\[Key Store Configuration (キーストア設定)\]**​ でキーストアの情報を入力し、​**\[OK\]**​ をクリックします。 この例では、トラストストア側は ​**\[insecure (安全でない)\]**​ に設定されており、キーストア、別名、パスワード情報が追加されています。 ![「Trust Store Configuration (トラストストア設定)」 セクションに空白の項目がある HTTP リスナーの 「Global Elements (グローバル要素)」 ウィンドウの 「TLS」 タブ。](/mulesoft/current/ja-jp/anypoint-security/_images/tokenization-example-set-keystore-info.png) 5. Mule から、トークナイズされたサービスへの HTTP 接続に対して、TLS を有効にするように HTTP エンドポイントの設定を編集します。 \== Runtime Fabric にアプリケーションをデプロイする 6. アプリケーションを保存して、エクスポートします。 7. Anypoint Platform で、​**Runtime Manager**​ に移動して、​**\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックします。 8. **\[Deploy Application (アプリケーションをデプロイ)\]**​ ページで、次の手順を実行します。 1. **\[Application Name (アプリケーション名)\]**​ を入力します。 2. **\[Deployment Target (デプロイメント対象)\]**​ ドロップダウンから、アプリケーションのデプロイ先の Runtime Fabric を選択します。 3. **\[Choose File (ファイルを選択)\]**​ をクリックし、エクスポートしたアプリケーションをアップロードします。 4. アプリケーションを実行する Mule の ​**\[Runtime version (ランタイムバージョン)\]**​ を選択し、​**\[Replicas (レプリカ)\]**​ と ​**\[Resource Allocation (リソース割り当て)\]**​ を設定します。 5. **\[Ingress (イングレス)\]**​ タブをクリックし、​**\[Enable Last-Mile Security (Last-Mile セキュリティを有効化)\]**​ オプションを選択します。 9. **\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Runtime Fabric へのアプリケーションおよび API プロキシのデプロイ](#2.4@runtime-fabric::deploy-index.adoc) # トークナイゼーション形式 トークナイゼーション形式により、トークンの作成時に受信データの元の形式が設定した形式にどのように変換されるのかが定義されます。 たとえば、トークンが元のデータソースのように見えるように指定したり、文字列全体をトークナイズするのか、一部の文字列をトークナイズするのかを指定したりできます。 [トークナイゼーション形式を作成](https://docs.mulesoft.com/jp/anypoint-security/create-tokenization-format)​し、データドメインを選択する場合、​[設定オプション](#data-domain-configuration-options)​が提供されます。 ## [](#サポートされるデータドメイン)サポートされるデータドメイン
データドメイン 説明

Credit card number (クレジットカード番号)

長さに特殊な制限のある数値。限定的な可変文字セットが許可される Luhn チェックサム。先頭と末尾の「n」桁が保持され、無効な桁が適用されます。

Decimal (10 進数)​

任意の長さの 10 進数。先頭と末尾の「n」桁が保持され、無効な桁が適用されます。

Lax decimal (可変 10 進数)​

可変文字が許可される任意の長さの 10 進数。先頭と末尾の「n」桁が保持され、無効な桁が適用されます。

Social security number (社会保障番号)

特殊なサブコンポーネントの制限がある 9 桁の 10 進数。限られた数の可変文字 (非 10 進数) が許可されます。シリアル番号部分が保持され、無効な桁が適用されます。

Email address (メールアドレス)​

ローカル部分 (Radix = 83) とドメイン部分 (Radix = 64) に個別の制限がある複雑なドメイン。

Printable ASCII (印刷可能な ASCII)​

Unicode 番号 (整数) 32 ~ 126 (A ~ Z、a ~ z、0 ~ 9、スペース、二重引用符) の UTF-8 文字と ! # $ % & '( ) * + ,­ . / : ; < = > ? @ [ \ ] ^ _ ` { } ~ の特殊文字のサブセット。この形式では、先頭と末尾の「n」文字が保持されます。

Lax alphanumeric (可変英数字)​

難読化されるが可変文字が許可される大文字のラテン文字、小文字のラテン文字、10 進数の文字。先頭と末尾の「n」桁が保持されます。

Lax uppercase/lowercase/decimal - Preserving (可変大文字/小文字/10 進数 - 保持)​

クリアテキストの大文字のラテン文字は、難読化されたテキストでも大文字のラテン文字のままになります。クリアテキストの小文字のラテン文字は、難読化されたテキストでも小文字のラテン文字のままになります。クリアテキストの 10 進数は、難読化されたテキストでも 10 進数のままになります。その他のすべての文字は、可変文字として処理されます。先頭と末尾の「n」文字が保持されます。

Lax uppercase/decimal - Preserving (可変大文字/10 進数 - 保持)​

クリアテキストの大文字のラテン文字は、難読化されたテキストでも大文字のラテン文字のままになります。クリアテキストの 10 進数は、難読化されたテキストでも 10 進数のままになります。その他のすべての文字は、可変文字として処理されます。先頭と末尾の「n」文字が保持されます。

Lax lowercase/decimal - Preserving (可変小文字/10 進数 - 保持)​

クリアテキストの小文字のラテン文字は、難読化されたテキストでも小文字のラテン文字のままになります。クリアテキストの 10 進数は、難読化されたテキストでも 10 進数のままになります。その他のすべての文字は、可変文字として処理されます。先頭と末尾の「n」文字が保持されます。

Masking (マスク)

文字を指定されたマスク文字 (​#​ など) に置き換えます。入力はすべて印刷可能な ASCII 文字です。省略可能な ​[Ignore Characters (文字を無視)]​ 設定可能項目の印刷可能な ASCII 文字は無視されます。​[Masking Character (マスク文字)]​ 設定可能オプションで指定された文字は、文字 ID をマスクするために使用されます。

## [](#データドメイン設定オプション)データドメイン設定オプション
オプション 説明 データドメイン

Preserve first characters (先頭の文字を保持)​

トークナイズしない、元の文字列の文字数を定義します。保持する先頭の桁数の値を入力します。例: 4​。

  • Credit card (クレジットカード)

  • Decimal (10 進数)

  • Lax decimal (可変 10 進数)

  • Lax alphanumeric (可変英数字)

  • Printable ASCII (印刷可能な ASCII)

  • Lax uppercase/lowercase/decimal - Preserving (可変大文字/小文字/10 進数 - 保持)

  • Lax uppercase/decimal - Preserving (可変大文字/10 進数 - 保持)

  • Lax lowercase/decimal - Preserving (可変小文字/10 進数 - 保持)

Preserve last characters (末尾の文字を保持)

保持する末尾の桁数の値を入力します。例: 4​。
先頭と末尾にそれぞれサンプル値 ​4​ を使用すると、元の文字列の先頭の 4 桁と末尾の 4 桁が保持され、その間のすべてがトークナイズされます。

  • Credit card number (クレジットカード番号)

  • Decimal (10 進数)

  • Lax decimal (可変 10 進数)

  • Lax alphanumeric (可変英数字)

  • Printable ASCII (印刷可能な ASCII)

  • Lax uppercase/lowercase/decimal - Preserving (可変大文字/小文字/10 進数 - 保持)

  • Lax uppercase/decimal - Preserving (可変大文字/10 進数 - 保持)

  • Lax lowercase/decimal - Preserving (可変小文字/10 進数 - 保持)

Force token characters in illegal range (トークン文字を無効な範囲に適用)​

たとえば、CCN ​1234567890123456​ がある場合、​[Preserve characters (文字を保持)]​ オプションを設定して末尾の 4 桁を保持し、左からのオフセット 2 で無効な 1 桁を適用すると、生成されるトークンは ​54D3210987653456​ のようになります。

1 桁の 10 進数がラテンアルファベット文字の範囲にマップされます。

データを無効にする必要があるのは 1 文字のみであるため (文字 A を社会保障番号に追加するなど)、無効な文字は 2 文字に制限されています。無効な文字を追加すると、トークナイズされるデータのランダマイズに使用できる桁数が減少します。

  • Credit card number (クレジットカード番号)

  • Decimal (10 進数)

  • Social security number (社会保障番号)

Luhn digit test (Luhn 数値テスト)​

このオプションは、クレジットカード番号データドメイン専用です。Luhn チェックサム数式を使用して、元のデータに含まれている数値を検証します。オプションは次のとおりです。

  • Disabled (無効)​

  • Generated token must pass Luhn test (生成されたトークンは Luhn テストに合格する必要がある)​

  • Generated token must fail Luhn test (生成されたトークンは Luhn テストに失敗する必要がある)​

Credit card number (クレジットカード番号)

Maximum token length (最大トークン長)​

生成されるトークンの最大桁数の値を入力します。

  • Decimal (10 進数)

  • Lax decimal (可変 10 進数)

  • Email address (メールアドレス)

  • Lax alphanumeric (可変英数字)

  • Printable ASCII (印刷可能な ASCII)

  • Lax uppercase/lowercase/decimal - Preserving (可変大文字/小文字/10 進数 - 保持)

  • Lax uppercase/decimal - Preserving (可変大文字/10 進数 - 保持)

  • Lax lowercase/decimal - Preserving (可変小文字/10 進数 - 保持)

Preserve serial number sub-component (シリアル番号のサブコンポーネントを保持)​

このオプションは、社会保障データドメイン専用です。

Social security number (社会保障番号)

Ignore characters (文字を無視)

マスクされない文字を指定するためにマスクドメインによって使用されます。たとえば、​[Ignore Characters (文字を無視)]​ が ​-​ に設定され、​[Masking Character (マスク文字)]​ が ​#​ に設定されている場合、数値 ​123-45-6789​ に適用されたマスクは ​####-###-####​ を返します。

Masking (マスク)

Masking character (マスク文字)

機密データを非表示にするために使用される文字を指定するためにマスクドメインによって使用されます。たとえば、​#​ 文字など。

Masking (マスク)

# トークナイゼーション形式の作成、更新、削除 トークナイゼーション形式により、受信データの変換方法が定義されます。トークナイゼーション形式を定義する場合、トークンが元のデータの形式と一致していることを確認します。たとえば、クレジットカード形式を使用する場合、その形式で定義される桁数と元のクレジットカードの桁数が一致している必要があります。 サポートされているトークナイゼーション形式についての詳細は、​[「トークナイゼーション形式」](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats)​を参照してください。 ## [](#トークナイゼーション形式を作成する)トークナイゼーション形式を作成する 1. Anypoint Platform にサインインします。 2. **\[Management Center\]**​ で、​**\[Anypoint Security\]**​ をクリックします。 3. 左側のメニューで、​**\[Tokenization Format (トークナイゼーション形式)\]**​ をクリックします。 4. **\[Create Format (形式を作成)\]**​ をクリックします。 5. **\[Create Format (形式を作成)\]**​ ダイアログボックスで、次の情報を入力します。 - **Name (名前)**​: トークナイゼーション形式の名前。 - **Description (説明)**​: 必要に応じて、トークナイゼーション形式の簡単な説明を入力する。 - **Data Domain (データドメイン)**​: データドメインを選択すると、設定オプションが表示されます。オプションは、選択したデータドメインの種別によって異なります。サポートされているデータドメインと設定オプションについては、​[「トークナイゼーション形式」](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats)​を参照してください。 6. **\[Save (保存)\]**​ をクリックします。 ## [](#トークナイゼーション形式を更新する)トークナイゼーション形式を更新する いつでも形式を更新できます。 1. Anypoint Security の左側のメニューで ​**\[Tokenization Formats (トークナイゼーション形式)\]**​ をクリックします。 2. リストから、更新するトークナイゼーション形式をクリックします。 3. 変更を加えて ​**\[Save (保存)\]**​ をクリックします。 ## [](#トークナイゼーション形式を削除する)トークナイゼーション形式を削除する トークナイゼーション形式を削除する前に、使用中でないことを確認します。 1. Anypoint Security の左側のメニューで ​**\[Tokenization Formats (トークナイゼーション形式)\]**​ をクリックします。 2. リストから、削除するトークナイゼーション形式をクリックします。 3. 右上隅にある ​**\[Delete (削除)\]**​ をクリックします。 4. **\[Confirm Delete (削除を確認)\]**​ 確認ダイアログで、​**\[Delete (削除)\]**​ をクリックします。 # トークナイゼーション権限の付与 組織の管理者は、アクセス管理を使用してユーザーに管理権限を付与できます。 ## [](#トークナイゼーション権限)トークナイゼーション権限 ユーザーがトークナイゼーション形式とサービスを作成および管理するには、定義済みの一連の権限が必要です。
名前 説明

Manage Tokenization Formats (トークナイゼーション形式の管理)

特定の環境のトークナイゼーションサービスで使用するトークナイゼーション形式を作成、変更、および削除できます。

Manage Tokenization Services (トークナイゼーションサービスの管理)

特定の環境でトークナイゼーションサービスを作成およびデプロイしたり、トークナイゼーションサービスを変更および削除したりできます。

## [](#ユーザーにトークナイゼーション権限を付与する)ユーザーにトークナイゼーション権限を付与する 1. \[Access Management (アクセス管理)\] ページで、左ナビゲーションメニューに移動して ​**\[Users (ユーザー)\]**​ をクリックします。 2. ユーザーに権限を付与するには、ユーザーの名前をクリックします。 3. **\[Permissions (権限)\]**​ タブで、​**\[Tokenization (トークナイゼーション)\]**​ をクリックします。 4. **\[Permissions (権限)\]**​ メニューから ​**\[Manage Tokenization Formats (トークナイゼーション形式の管理)\]**​ を選択して、青色の「プラス」アイコンをクリックします。 5. \[Environment (環境)\] メニューから環境を選択し、\[Permissions (権限)\] メニューから ​**\[Manage Tokenization Services (トークナイゼーションサービスの管理)\]**​ を選択して、青色の「プラス」アイコンをクリックします。 # 例: WAF ポリシーのテスト \[Request RuleSets (要求ルールセット)\] に表示されている WAF ポリシーがデプロイされている場合、次の要求が送信されると、この要求の「scanner detected (スキャナーが検出されました)」によって WAF エラーが生成されます。textField 値の終わりの二重引用符が省略されています。 curl -v -k -X POST --resolve choice-waf14.example.com:443:192.168.2.1 https://choice-waf14.example.com:443/ -H "Content-Type: text/plain" -H "SOAPAction: 'http://example.org/soapformat/Example'" -H "User-Agent: (hydra)" -H "Content-Length: 10" -d 'hello' 応答は次のようになります。 `HTTP/1.1 400 BAD REQUEST - web application firewall error`​ 不正な要求「Scanner detected (スキャナーが検出されました)」により、ルール「920130」の検出がトリガーされます。数分待機すると、\[RTF Security Policy Summary (RTF セキュリティポリシーの概要)\] に次のデータが表示されます。 "wafSummary": { "ruleTriggerCounts": { "requestScannerDetection": { "913100": 3, "913101": 0, "913102": 0, "913110": 0, "913120": 0 }, "requestProtocolEnforcement": { "920100": 0, "920120": 0, "920121": 0, "920130": 0, "920140": 0, "920160": 0, "920170": 0, "920180": 0, "920190": 0, "920200": 0, "920201": 0, "920202": 0, "920210": 0, "920220": 0, "920230": 0, "920240": 0, "920250": 0, "920260": 0, "920270": 0, "920271": 0, "920272": 0, "920273": 0, "920274": 0, "920280": 0, "920290": 0, "920300": 0, "920310": 0, "920311": 0, "920320": 0, "920330": 0, "920340": 0, "920350": 0, "920360": 0, "920370": 0, "920380": 0, "920390": 0, "920400": 0, "920410": 0, "920420": 0, "920430": 0, "920440": 0, "920450": 0, "920460": 0 }, "requestProtocolAttack": { "921100": 0, "921110": 0, "921120": 0, "921130": 0, "921140": 0, "921150": 0, "921151": 0, "921160": 0, "921180": 0 }, "requestApplicationAttackLfi": { "930100": 0, "930110": 0, "930120": 0, "930130": 0 }, "requestApplicationAttackRfi": { "931100": 0, "931110": 0, "931120": 0, "931130": 0 }, "requestApplicationAttackRce": { "932100": 0, "932105": 0, "932110": 0, "932115": 0, "932120": 0, "932130": 0, "932140": 0, "932150": 0, "932160": 0, "932170": 0, "932171": 0 }, "requestApplicationAttackPhp": { "933100": 0, "933110": 0, "933111": 0, "933120": 0, "933130": 0, "933131": 0, "933140": 0, "933150": 0, "933151": 0, "933160": 0, "933161": 0, "933170": 0, "933180": 0 }, "requestApplicationAttackXss": { "941100": 0, "941101": 0, "941110": 0, "941120": 0, "941130": 0, "941140": 0, "941150": 0, "941160": 0, "941170": 0, "941180": 0, "941190": 0, "941200": 0, "941210": 0, "941220": 0, "941230": 0, "941240": 0, "941250": 0, "941260": 0, "941270": 0, "941280": 0, "941290": 0, "941300": 0, "941310": 0, "941320": 0, "941330": 0, "941340": 0, "941350": 0 }, "requestApplicationAttackSqli": { "942100": 0, "942110": 0, "942120": 0, "942130": 0, "942140": 0, "942150": 0, "942160": 0, "942170": 0, "942180": 0, "942190": 0, "942200": 0, "942210": 0, "942220": 0, "942230": 0, "942240": 0, "942250": 0, "942251": 0, "942260": 0, "942270": 0, "942280": 0, "942290": 0, "942300": 0, "942310": 0, "942320": 0, "942330": 0, "942340": 0, "942350": 0, "942360": 0, "942370": 0, "942380": 0, "942390": 0, "942400": 0, "942410": 0, "942420": 0, "942421": 0, "942430": 0, "942431": 0, "942432": 0, "942440": 0, "942450": 0, "942460": 0 }, "requestApplicationAttackSessionFixation": { "943100": 0, "943110": 0, "943120": 0 }, "responseDataLeakages": { "950100": 0, "950130": 0 }, "responseDataLeakagesSql": { "951110": 0, "951120": 0, "951130": 0, "951140": 0, "951150": 0, "951160": 0, "951170": 0, "951180": 0, "951190": 0, "951200": 0, "951210": 0, "951220": 0, "951230": 0, "951240": 0, "951250": 0, "951260": 0 }, "responseDataLeakagesJava": { "952100": 0, "952110": 0 }, "responseDataLeakagesPhp": { "953100": 0, "953110": 0, "953120": 0 }, "responseDataLeakagesIis": { "954100": 0, "954110": 0, "954120": 0, "954130": 0 } } } `wafSummary`​ では、ルール ID と数がルールセットごとに分類されています。 ソース IP アドレスをテストするために TRACE ログを有効にするには、ログルールを変更し、Runtime Fabric インバウンドトラフィックの ​**\[Deploy (デプロイ)\]**​ をクリックします。このケースでは、ソース IP アドレス ​`192.168.0.1`​ に IP 検索条件が追加されています。すべての IP アドレスや大量の要求がある IP アドレスに検索条件を追加しないでください。 `curl`​ メッセージを再送すると、WAF 検出ログメッセージを見つけることができます。
openstackvm14.example.comINPUT\_SERVERINFOsecurityfabric-edge-runtime1303813065/edge/cbrcore/src/rtc/embedded/src/ModSecTransaction.cpp121517251501406932
{"requestInfo":{"timestamp":"2018-12-05T22:09:56.048Z","node":"vm14.example.com","transactionId":517251501406932,"correlationId":"616045b7-4af2-4eb5-9bd9-356119a0d7ae","clientIpAddr":"192.168.2.1","clientPort":51918,"protocol":"HTTP/1.1","method":"POST","uri":"/","serverIpAddr":"192.168.39.168","serverPort":443},"ruleMatch":\[{"ruleId":913100,"ruleVersion":"OWASP\_CRS/3.0.0","severity":2,"phase":1,"message":"Found User-Agent associated with security scanner","tags":\["application-multi","language-multi","platform-multi","attack-reputation-scanner","OWASP\_CRS/AUTOMATION/SECURITY\_SCANNER","WASCTC/WASC-21","OWASP\_TOP\_10/A7","PCI/6.5.10"\]}\]}
WAF 検出ログメッセージには、検出およびルールに関するその他の詳細が表示されます。ルールは、RAML で表示できます。次に、ルール ID ​`913100`​ を示します。 "ruleIdList": \[ { "id": 913100, "ver": "OWASP\_CRS/3.0.0", "rev": "2", "phase": "request", "severity": "CRITICAL", "accuracy": "9", "maturity": "9", "taglist": \[ "attack-reputation-scanner", "OWASP\_CRS/AUTOMATION/SECURITY\_SCANNER", "WASCTC/WASC-21", "OWASP\_TOP\_10/A7", "PCI/6.5.10" \], "msg": "Found User-Agent associated with security scanner", "operator": "QHBtRnJvbUZpbGUgc2Nhbm5lcnMtdXNlci1hZ2VudHMuZGF0YQo=", "paranoia": 1, "chain": "no" }, 正規表現を表示するには、​`operator`​ 項目に対して base64 デコードを実行します。 echo "QHBtRnJvbUZpbGUgc2Nhbm5lcnMtdXNlci1hZ2VudHMuZGF0YQo=" | base64 -d @pmFromFile scanners-user-agents.data この RAML には、ファイル ​`scanners-user-agents.data`​ が含まれています。次に、ファイルの冒頭部分を示します。 \# Vulnerability scanners, bruteforce password crackers and exploitation tools # password cracker # http://sectools.org/tool/hydra/ (hydra) # vuln scanner # http://virtualblueness.net/nasl.html .nasl # sql injection # https://sourceforge.net/projects/absinthe/ absinthe # email harvesting # 暗号化スイート TLS コンテキストを設定すると、選択した TLS バージョンに基づいてデフォルトの暗号化が適用されます。デフォルトを使用しない場合は、設定されたキーストアと一致する暗号化を選択し、TLS が接続をセットアップできるようにします。 - RSA キー (最も一般的な種別) があるキーストアの場合、文字列 ​`RSA`​ を含む暗号化を選択する。 - ECC 暗号化を使用している場合、文字列 ​`ECDSA`​ を含む暗号化を選択する。 詳細は、TLS の規格とドキュメントを参照してください。 - クライアントデバイスが AES 専用 CPU 命令をサポートしている場合、AES-GCM 暗号化を使用する。 クライアントが AES 専用命令 (一部のモバイルおよび IoT デバイス) をサポートしていない場合、クライアントは ​`CHACHA20-POLY1305`​ を使用するようにネゴシエートします。CHACHA を実行するには、2 つ (クライアントとサーバー) が必要になります。 ## [](#tls-1-3-暗号化スイート)TLS 1.3 暗号化スイート TLS 1.3 サポートは、​**Anypoint Security**​ の対象を使用している場合にのみ可能です。 TLS 1.3 の暗号化スイートは TLS 1.2 および TLS 1.1 の暗号化スイートと共にリストされ、​**\[No known vulnerabilities and support Perfect Forward Secrecy (既知の脆弱性はなく、Perfect Forward Secrecy をサポート)\]**​ グループに表示されます。文字列 ​`TLS`​ で始まる暗号化スイートを使用する場合、次の点に留意してください。 - TLS 1.3 の新しい暗号化スイートは、TLS 1.1 および TLS 1.2 では使用できない。 - TLS 1.2 および TLS 1.1 の暗号化スイートは、TLS 1.3 では使用できない。 - TLS 1.3 の新しい暗号化スイートは以前のバージョンの TLS の暗号化スイートとは異なる方法で定義されており、証明書種別 (RSA、DSA、ECDSA など) またはキーエクスチェンジメカニズム (DHE または ECHDE など) を指定しない。 ## [](#暗号化の選択)暗号化の選択 デフォルトに加えて、選択した TLS バージョンで使用する他の暗号化を選択できます。各 TLS コンテキストに複数の暗号化を含めることができます。 1. **\[Ciphers (暗号化)\]**​ をクリックして使用可能な暗号化を選択します。 **\[TLS Version (TLS バージョン)\]**​ の値に ​**\[TLS 1.3\]**​ を選択した場合、デフォルトの選択のままにします。これには 3 つすべての TLS 暗号化スイートが含まれます。 2. TLS コンテキストの ​**\[Target (対象)\]**​ の値に ​**\[Mule\]**​ を選択した場合、プロキシインスタンスで使用するカスタム暗号化を定義できます。 3. **\[Save (保存)\]**​ をクリックします。 Java ランタイムでサポートされていない暗号化を追加すると、警告が表示されますが、これにより TLS コンテキストの保存が妨げられることはありません。 ## [](#anypoint-runtime-fabric-での-tls-サポート)Anypoint Runtime Fabric での TLS サポート TLS 1.3 プロトコルをサポートするクライアントでは、このプロトコルがデフォルトで有効になります。 OpenSSL 1.1.1 と TLS 1.3 は、TLS 1.2 と比較してセキュリティとパフォーマンスが改善されています。 - TLS 1.2 の接続パフォーマンススループットは、OpenSSL 1.0.2 で実行される以前の Runtime Fabric 内部ロードバランサーと比較して 2 倍以上強化されています。 - フルハンドシェイクが 1 往復減っています。 - TLS 1.2 および TLS 1.3 ChaCha20-Poly1305 暗号化が追加され、モバイルおよび IoT デバイスのサポートが改善されています。 - ダウングレード攻撃を防ぎます。 - RSA キーと ECDSA キーの両方が引き続きサポートされます。 - TLS 1.2 および TLS 1.1 の安全でない不用な機能が削除されています。 サポートされている暗号化と非推奨の暗号化のリストについては、​[「Anypoint Security Edge リリースノート」](#release-notes::anypoint-security/anypoint-security-rtf-edge.adoc)​を参照してください。 ## [](#関連情報)関連情報 - [Mule の TLS コンテキストの追加](https://docs.mulesoft.com/jp/anypoint-security/secret-group-add-tls-context) - [Runtime Fabric ロードバランサーの TLS コンテキストの設定](https://docs.mulesoft.com/jp/anypoint-security/configure-tls-context-rtf-lb) # 機密情報の検出 機密情報検出 (SID) を使用すると、機密情報の漏洩の可能性がある場所を特定できます。 ## [](#waf-セキュリティポリシーの概要ログ)WAF セキュリティポリシーの概要ログ WAF ポリシーを Runtime Fabric に適用し、​[\[WAF policy (WAF ポリシー)](https://docs.mulesoft.com/jp/anypoint-security/create-waf-policy)\]​ 設定で ​**\[Detect sensitive information (機密情報を検出)\]**​ オプションを選択した場合、要求と応答に機密情報の漏洩がないかどうかが検査されます。​`rtfWafSecurityPolicySummary`​ メッセージは、1 分の収集期間を使用して、違反した SID ルールのリストと、ルールに違反した要求および応答の件数をログに報告します。 `rtfWafSecurityPolicySummary`​ ログには WAF カテゴリが含まれ、SID 関連カテゴリも示されます。SID 関連カテゴリ内のいずれかのルールがトリガーされた場合、ルール ID と、違反の検出件数が表示されます。この件数は、収集期間中に特定のルールに違反した要求と応答の件数です。 次にログの例を示します。これは、収集期間中に ​`requestSidPiiCore`​ カテゴリをトリガーした SID ルール ID ​`600100`​ (TAXID) がこのペイロード内で 1 回検出されたことを示しています。 ```json { "timeStamp": "2019-04-15T16:13:00.045Z", "collectionIntervalInMinutes": "1", "node": "node-host", "wafSummary": { "requestScannerDetection": [ ], "requestProtocolEnforcement": [ ], "requestProtocolAttack": [ ], "requestApplicationAttackLfi": [ ], "requestApplicationAttackRfi": [ ], "requestApplicationAttackRce": [ ], "requestApplicationAttackPhp": [ ], "requestApplicationAttackXss": [ ], "requestApplicationAttackSqli": [ ], "requestApplicationAttackSessionFixation": [ ], "requestSidPiiCore": [{ "ruleId": "600100", "count": 1 }], "requestSidPiiEnhanced": [ ], "requestSidPci": [ ], "requestSidPhi": [ ], "responseDataLeakages": [ ], "responseDataLeakagesSql": [ ], "responseDataLeakagesJava": [ ], "responseDataLeakagesPhp": [ ], "responseDataLeakagesIis": [ ], "responseSidPiiCore": [ ], "responseSidPiiEnhanced": [ ], "responseSidPci": [ ], "responseSidPhi": [ ] } } ``` ## [](#sid-概要ログ)SID 概要ログ WAF ポリシーを Runtime Fabric に適用し、​**\[Detect sensitive information (機密情報を検出)\]**​ オプションを選択した場合、​`rtfSidSummary`​ ログが生成されます。この概要ログには、1 分の収集期間中に 1 つ以上のトリガーが発生したルールインスタンス (ルール ID、API、メソッド、方向、件数) のリストが含まれます。 件数はメッセージ (要求または応答) のみに適用され、収集期間中にどれだけの数のメッセージがルールインスタンスをトリガーしたかを示します。 たとえば、出生証明書申請の要求が過去 1 分間に 1 回のみ実行され、要求に次の内容が含まれていたとします。 DOB of Mother SSN of Mother DOB of Father SSN of Father DOB of Father DOB of Baby CCN to pay for the application 概要メッセージには、違反したルールごとに 1 つずつ、3 つの項目 (DOB、SSN、CCN) が含まれます。つまり、1 つのメッセージ内に同じルールの違反が複数あっても、1 つのメッセージ内の各ルール違反は 1 回のみ数えられます。 これは、ペイロード内で機密情報 (SSN) が検出された要求の ​`rtfSidSummary`​ ログの例です。 ```json { "timeStamp": "2019-05-03T20:28:00.493Z", "collectionIntervalInMinutes": "1", "node": "node-host", "sidSummary": [{ "api": "myapi", "envId": "a2f87a26-6ee9-4843-a145-bf258e630aa8", "method": "POST", "rule": "Social Security Number key value pair", "direction": "Request", "count": 1 }] } ``` ## [](#サポートされるコンテンツタイプ)サポートされるコンテンツタイプ SID ルールでは、次のコンテンツタイプを照合して、機密データのタグと値を確認します。 - 要求種別: - text/plain - application/json - 応答種別: - text/plain - application/json ## [](#ルールカテゴリ)ルールカテゴリ 機密情報検出ルールは、以下を含むルールカテゴリに属します。 - PII: 個人情報 (生年月日、社会保障番号、パスポート番号など)。 - PCI: 支払カード情報 (Visa または Mastercard 番号など)。 - PHI: 保護健康情報。 ## [](#raml-での-sid-ルールとルール-id-の参照)RAML での SID ルールとルール ID の参照 SID ルールとルール ID は Anypoint Security ポリシー RAML 内で参照できます。 1. 公開の [MuleSoft 開発者ポータル](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/)​に移動し、「Anypoint Security Policies API」 (Anypoint Security ポリシー API) を検索します。 2. RAML をダウンロードし、ZIP ファイルを展開します。 3. `/anypoint-security-policies-api--raml/dataTypes/policies/WafRules/Rulesets.json`​ に移動します。 4. 「​MULESOFT\_SID​」を検索し、名前 (​`msg`​) と ​`id`​ を含め、SID ルールとその詳細を確認します。 RAML ファイルのコンテンツの例を次に示します。 { "id": 600780, "ver": "", "rev": "1", "phase": "response", "severity": "WARNING", "accuracy": "5", "maturity": "1", "taglist": \["MULESOFT\_SID"\], "msg": "VISA CARD", "variables": "RESPONSE\_BODY", "operator": "UkVTUE9OU0VfQk9EWSAoPzwhWy5cdy1dKTRbMC05XXszfShbIC1dPylbMC05XXs0fVwxWzAtOV17NH1cMVswLTldezR9KD8hWy5cdy1dKQo=", "paranoia": 1, "chain": "no" } ### [](#関連情報)関連情報 - [Runtime Fabric でのログの表示および設定](https://docs.mulesoft.com/jp/runtime-fabric/1.13/runtime-fabric-logs) - [Web アプリケーションファイアウォールポリシーの作成](https://docs.mulesoft.com/jp/anypoint-security/create-waf-policy) # 証明書の追加 Privacy-Enhanced Mail (PEM) 証明書をシークレットグループに追加し、Base64 でエンコードされた DER 証明書を使用します。 この証明書は、「リーフ」 (エンドエンティティ) 証明書です。 1. \[Secret Groups (シークレットグループ)\] リストビューで、証明書を追加する必要があるシークレットグループを選択し、​**\[Edit (編集)\]**​ をクリックします。 2. 左側のメニューで ​**\[Certificate (証明書)\]**​ を選択し、​**\[Add Certificate (証明書を追加)\]**​ をクリックします。 3. **\[Add Certificate (証明書を追加)\]**​ 画面で、次の項目に入力します。 - **Name (名前)** 証明書の名前を入力します。 - **型** ドロップダウンメニューから ​\*\[PEM\] \*​を選択します。 - **Certificate File (証明書ファイル)** **\[Choose File (ファイルを選択)\]**​ をクリックし、アップロードする証明書ファイルを選択します。 - **Override Expiration Date (有効期限を上書き)** 証明書の現在の有効期限を上書きする場合は、新しい有効期限を選択します。 4. **\[Save (保存)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [シークレットグループの作成](https://docs.mulesoft.com/jp/anypoint-security/asm-secret-group-creation-task) - [TLS コンテキストを追加する](https://docs.mulesoft.com/jp/anypoint-security/secret-group-add-tls-context)