Translated ['src/pentesting-cloud/azure-security/az-persistence/az-queue

This commit is contained in:
Translator
2025-02-20 00:55:48 +00:00
parent abdd6a63a5
commit 503516c422
10 changed files with 79 additions and 47 deletions

View File

@@ -7,12 +7,12 @@
詳細については、次を確認してください:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
この権限により、攻撃者はストレージアカウント内のキューそのプロパティを作成または変更することができます。これを使用して、不正なキューを作成したり、メタデータを変更したり、アクセス制御リストACLを変更してアクセスを付与または制限することができます。この機能は、ワークフローを妨害したり、悪意のあるデータを注入したり、機密情報を抽出したり、さらなる攻撃を可能にするためにキュー設定を操作したりする可能性があります。
この権限により、攻撃者はストレージアカウント内のキューおよびそのプロパティを作成または変更できます。これを使用して、不正なキューを作成したり、メタデータを変更したり、アクセス制御リストACLを変更してアクセスを付与または制限したりできます。この機能は、ワークフローを妨害したり、悪意のあるデータを注入したり、機密情報を抽出したり、さらなる攻撃を可能にするためにキュー設定を操作したりする可能性があります。
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>

View File

@@ -0,0 +1,20 @@
# Az - SQL Persistence
{{#include ../../../banners/hacktricks-training.md}}
## SQL
詳細については、次を確認してください:
{{#ref}}
../az-services/az-sql.md
{{#endref}}
### 一般的な永続化技術
- SQL資格情報を侵害するか、SQLユーザーを作成する必要に応じてSQL認証を有効にする
- 侵害されたユーザーをEntra ID管理者として割り当てる必要に応じてEntra ID認証を有効にする
- VMにバックドアを設置するSQL VMが使用されている場合
- SQLデータベースへのアクセスを維持するためにFWルールを作成する
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -7,12 +7,12 @@
詳細については、次を確認してください:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
この権限を持つ攻撃者は、Azure Storage Queueからメッセージを覗き見ることができます。これにより、攻撃者はメッセージの内容を処理済みとしてマークしたり、その状態を変更したりすることなく表示できます。これにより、機密情報への不正アクセスが可能になり、データの流出やさらなる攻撃のための情報収集が行る可能性があります。
この権限を持つ攻撃者は、Azure Storage Queueからメッセージを覗き見ることができます。これにより、攻撃者はメッセージの内容を処理済みとしてマークしたり、その状態を変更したりすることなく表示できます。これにより、機密情報への不正アクセスが可能になり、データの流出やさらなる攻撃のための情報収集が行われる可能性があります。
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
@@ -32,7 +32,7 @@ az storage message put --queue-name <queue-name> --content "Injected malicious m
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`
この権限により、攻撃者はAzure Storage Queueに新しいメッセージを追加したり、既存のメッセージを更新したりすることができます。これを使用することで、攻撃者は有害なコンテンツを挿入したり、既存のメッセージを変更したりすることができ、アプリケーションを誤解させたり、キューに依存するシステム望ましくない動作を引き起こす可能性があります。
この権限により、攻撃者はAzure Storage Queueに新しいメッセージを追加したり、既存のメッセージを更新したりすることができます。これを使用することで、攻撃者は有害なコンテンツを挿入したり、既存のメッセージを変更したりすることができ、キューに依存するアプリケーションを誤解させたり、システム望ましくない動作を引き起こす可能性があります。
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
@@ -46,19 +46,19 @@ az storage message update --queue-name <queue-name> \
```
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/delete`
この権限により、攻撃者はストレージアカウント内のキューを削除することができます。この機能を利用することで、攻撃者はキューとその関連メッセージを永久に削除し、ワークフローに重大な混乱を引き起こし、影響を受けたキューに依存するアプリケーションにとって重要なデータ損失をもたらすことができます。このアクションは、システムの重要なコンポーネントを削除することでサービスを妨害するためにも使用される可能性があります。
この権限により、攻撃者はストレージアカウント内のキューを削除できます。この機能を利用することで、攻撃者はキューとその関連メッセージを永久に削除し、ワークフローに重大な混乱を引き起こし、影響を受けたキューに依存するアプリケーションにとって重要なデータ損失をもたらすことができます。このアクションは、システムの重要なコンポーネントを削除することでサービスを妨害するためにも使用できます。
```bash
az storage queue delete --name <queue-name> --account-name <storage-account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete`
この権限を持つ攻撃者は、Azure Storage Queueからすべてのメッセージを削除できます。このアクションはすべてのメッセージを削除し、ワークフローを妨げ、キューに依存するシステムデータ損失を引き起こします。
この権限を持つ攻撃者は、Azure Storage Queueからすべてのメッセージを削除できます。このアクションはすべてのメッセージを削除し、ワークフローを妨げ、キューに依存するシステムデータ損失を引き起こします。
```bash
az storage message clear --queue-name <queue-name> --account-name <storage-account>
```
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
この権限により、攻撃者はストレージアカウント内のキューとそのプロパティを作成または変更できます。これを使用して、不正なキューを作成したり、メタデータを変更したり、アクセス制御リストACLを変更してアクセスを付与または制限したりできます。この機能は、ワークフローを妨害したり、悪意のあるデータを注入したり、機密情報を抽出したり、さらなる攻撃を可能にするためにキュー設定を操作したりする可能性があります。
この権限により、攻撃者はストレージアカウント内のキューとそのプロパティを作成または変更できます。これを使用して、不正なキューを作成したり、メタデータを変更したり、アクセス制御リストACLを変更してアクセスを許可または制限したりできます。この機能は、ワークフローを妨害したり、悪意のあるデータを注入したり、機密情報を抽出したり、さらなる攻撃を可能にするためにキュー設定を操作したりする可能性があります。
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>

View File

@@ -4,10 +4,10 @@
## Service Bus
詳細については、次を確認してください
詳細については、次を確認してください:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Actions: `Microsoft.ServiceBus/namespaces/Delete`
@@ -24,7 +24,7 @@ az servicebus topic delete --resource-group <ResourceGroupName> --namespace-name
```
### Actions: `Microsoft.ServiceBus/namespaces/queues/Delete`
この権限を持つ攻撃者は、Azure Service Bus キューを削除できます。このアクションはキューとその中のすべてのメッセージを削除し、重要なデータの失を引き起こし、キューに依存するシステムやワークフローを混乱させる可能性があります。
この権限を持つ攻撃者は、Azure Service Bus キューを削除できます。このアクションはキューとその中のすべてのメッセージを削除し、重要なデータの失を引き起こし、キューに依存するシステムやワークフローを混乱させる可能性があります。
```bash
az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
```
@@ -36,21 +36,21 @@ az servicebus topic subscription delete --resource-group <ResourceGroupName> --n
```
### Actions: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
Azure Service Bus キューを作成または変更する権限を持つ攻撃者キューを変更するには、Action:`Microsoft.ServiceBus/namespaces/queues/read` も必要です)は、これを利用してデータを傍受したり、ワークフローを妨害したり、無許可のアクセスを可能にしたりすることができます。彼らは、悪意のあるエンドポイントにメッセージを転送する、メッセージの TTL を調整してデータを不適切に保持または削除する、またはエラーハンドリングに干渉するためにデッドレターを有効にするなど、重要な設定を変更することができます。さらに、キューのサイズ、ロックの期間、またはステータスを操作してサービスの機能を妨害したり、検出を回避したりすることできるため、これは重要なポストエクスプロイテーションリスクとなります。
Azure Service Bus キューを作成または変更する権限を持つ攻撃者キューを変更するには、Action:`Microsoft.ServiceBus/namespaces/queues/read` も必要です)は、これを利用してデータを傍受したり、ワークフローを妨害したり、無許可のアクセスを可能にしたりすることができます。彼らは、悪意のあるエンドポイントにメッセージを転送する、メッセージの TTL を調整してデータを不適切に保持または削除する、またはエラーハンドリングに干渉するためにデッドレターを有効にするなど、重要な設定を変更することができます。さらに、サービス機能を妨害したり、検出を回避したりするために、キューのサイズ、ロックの期間、またはステータスを操作することできます。これは重要なポストエクスプロイテーションリスクす。
```bash
az servicebus queue create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
az servicebus queue update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
Azure Service Bus 名前空間内でトピックを作成または変更する権限を持つ攻撃者は、これを利用してメッセージワークフローを妨害したり、機密データを露出させたり、無許可のアクションを有効にしたりすることができます。az servicebus topic updateのようなコマンドを使用して、スケーラビリティの悪用のためにパーティショニングを有効にしたり、メッセージを不適切に保持または破棄するためにTTL設定を変更したり、制御を回避するために重複検出を無効にしたりするなど構成を操作できます。さらに、トピックのサイズ制限を調整したり、ステータスを変更して可用性を妨害したり、インターセプトされたメッセージを一時的に保存するためにエクスプレストピックを構成したりすることができるため、トピック管理はポストエクスプロイテーションの緩和において重要な焦点となります。
Azure Service Bus 名前空間内でトピックを作成または変更する権限を持つ攻撃者は、これを利用してメッセージワークフローを妨害したり、機密データを露出させたり、無許可のアクションを有効にしたりすることができます。az servicebus topic updateのようなコマンドを使用して、スケーラビリティの悪用のためにパーティショニングを有効にしたり、メッセージを不適切に保持または破棄するためにTTL設定を変更したり、制御を回避するために重複検出を無効にしたりするなど構成を操作できます。さらに、トピックのサイズ制限を調整したり、ステータスを変更して可用性を妨害したり、インターセプトされたメッセージを一時的に保存するためにエクスプレストピックを構成したりすることができるため、トピック管理はポストエクスプロイテーションの緩和において重要な焦点となります。
```bash
az servicebus topic create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
az servicebus topic update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
サブスクリプションを作成または変更する権限を持つ攻撃者サブスクリプションを変更するには、Action: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read` も必要ですは、Azure Service Bus トピック内でこれを利用してメッセージワークフローを傍受、再ルーティング、または中断することができます。az servicebus topic subscription updateのようなコマンドを使用して、メッセージを転送するためにデッドレターを有効にしたり、未承認のエンドポイントにメッセージを転送したり、TTLやロック期間を変更してメッセージ配信を保持または干渉したりするなどの設定を操作できます。さらに、ステータスや最大配信回数の設定を変更して操作を中断させたり、検出を回避したりすることができるため、サブスクリプション制御はポストエクスプロイテーションシナリオの重要な側面となります。
サブスクリプションを作成または変更する権限を持つ攻撃者サブスクリプションを変更するには、Action: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read` も必要ですは、Azure Service Bus トピック内でこれを利用してメッセージワークフローを傍受、再ルーティング、または中断することができます。az servicebus topic subscription updateのようなコマンドを使用して、メッセージを転送するためにデッドレターを有効にしたり、無許可のエンドポイントにメッセージを転送したり、TTLやロック期間を変更してメッセージ配信を保持または干渉したりするなどの設定を操作できます。さらに、ステータスや最大配信回数の設定を変更して操作を中断させたり、検出を回避したりすることができるため、サブスクリプション制御はポストエクスプロイテーションシナリオの重要な側面となります。
```bash
az servicebus topic subscription create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
az servicebus topic subscription update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>

View File

@@ -4,10 +4,10 @@
## Queue
詳細については、次を確認してください:
詳細については、次を確認してください
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
@@ -20,7 +20,7 @@ az storage message peek --queue-name <queue_name> --account-name <storage_accoun
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action`
この権限を持つ攻撃者は、Azure Storage Queueからメッセージを取得して処理することができます。これは、メッセージの内容を読み取り、処理済みとしてマークすることを意味し、実際システムから隠すことになります。これにより、機密データが露出したり、メッセージの処理方法に混乱が生じたり、メッセージを意図したユーザーに利用できなくすることで重要なワークフローが停止する可能性があります。
この権限を持つ攻撃者は、Azure Storage Queueからメッセージを取得して処理することができます。これは、メッセージの内容を読み取り、処理済みとしてマークすることを意味し、実際には正当なシステムから隠すことになります。これにより、機密データが露出したり、メッセージの処理方法に混乱が生じたり、メッセージを意図したユーザーに利用できなくすることで重要なワークフローが停止する可能性があります。
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
@@ -32,7 +32,7 @@ az storage message put --queue-name <queue-name> --content "Injected malicious m
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`
この権限により、攻撃者はAzure Storage Queueに新しいメッセージを追加したり、既存のメッセージを更新したりすることができます。これを使用することで、攻撃者は有害なコンテンツを挿入したり、既存のメッセージを変更したりすることができ、アプリケーションを誤解させたり、キューに依存するシステム望ましくない動作を引き起こす可能性があります。
この権限により、攻撃者はAzure Storage Queueに新しいメッセージを追加したり、既存のメッセージを更新したりすることができます。これを使用することで、攻撃者は有害なコンテンツを挿入したり、既存のメッセージを変更したりすることができ、キューに依存するアプリケーションを誤解させたり、システム望ましくない動作を引き起こす可能性があります。
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>

View File

@@ -7,14 +7,14 @@
詳細については、次を確認してください:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action または Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
これらの権限により、Service Bus 名前空間内のローカル認証ルールのキーを取得または再生成できます。このキーを使用することで、Service Bus 名前空間として認証でき、任意のキューやトピックにメッセージを送信したり、任意のキューやサブスクリプションからメッセージを受信したり、システムに対して操作を妨害したり、正当なユーザーを偽装したり、メッセージングワークフローに悪意のあるデータを注入したりする可能性があります。
これらの権限により、Service Bus 名前空間内のローカル認証ルールのキーを取得または再生成できます。このキーを使用することで、Service Bus 名前空間として認証でき、任意のキューやトピックにメッセージを送信したり、任意のキューやサブスクリプションからメッセージを受信したり、システムに対して操作を妨害したり、正当なユーザーを偽装したり、メッセージングワークフローに悪意のあるデータを注入したりすることが可能です。
デフォルトでは、**`RootManageSharedAccessKey` ルールは Service Bus 名前空間に対して完全な制御を持っています** そしてこれは `az` cli によって使用されますが、他のキー値を持つ他のルールが存在する可能性があります。
デフォルトでは、**`RootManageSharedAccessKey` ルールは Service Bus 名前空間に対して完全な制御を持っています** そしてこれは `az` cli によって使用されますが、他のキー値を持つ他のルールが存在する可能性があります。
```bash
# List keys
az servicebus namespace authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --authorization-rule-name RootManageSharedAccessKey [--authorization-rule-name RootManageSharedAccessKey]
@@ -41,7 +41,7 @@ az servicebus namespace authorization-rule update \
```
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action
Service Bus 名前空間内の特定のトピックやキューは、それぞれ独自の承認ルールを持つことができ、エンティティへのアクセスを制御するために使用されます。これらの権限を持つことで、**これらのローカル承認ルールのキーを取得または再生成することができ**、エンティティとして認証し、メッセージの送受信、サブスクリプションの管理、またはシステムと相互作用して操作を妨害したり、有効なユーザーを偽装したり、メッセージングワークフローに悪意のあるデータを注入したりする可能性があります。
Service Bus 名前空間内の特定のトピックやキューは、それぞれ独自の承認ルールを持つことができ、エンティティへのアクセスを制御するために使用されます。これらの権限を持つことで、**これらのローカル承認ルールのキーを取得または再生成する**ことができ、エンティティとして認証し、メッセージの送受信、サブスクリプションの管理、またはシステムと相互作用して操作を妨害したり、有効なユーザーを偽装したり、メッセージングワークフローに悪意のあるデータを注入したりする可能性があります。
```bash
# List keys (topics)
az servicebus topic authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name>
@@ -82,13 +82,14 @@ az servicebus queue authorization-rule update --resource-group <res-group> --nam
```bash
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
```
### Send Messages with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### メッセージをキーで送信する (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action または Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
`PrimaryConnectionString`を取得できます。これはService Bus名前空間の資格情報として機能します。この接続文字列を使用すると、Service Bus名前空間として完全に認証でき、任意のキューやトピックにメッセージを送信し、システムに対して操作を妨害したり、有効なユーザーを偽装したり、メッセージングワークフローに悪意のあるデータを注入したりする可能性があります。この方法は、`--disable-local-auth`がfalseに設定されている場合に機能します。
`PrimaryConnectionString`を取得できます。これはService Bus名前空間の資格情報として機能します。この接続文字列を使用すると、Service Bus名前空間として完全に認証でき、任意のキューやトピックにメッセージを送信し、システムに対して操作を妨害したり、有効なユーザーを偽装したり、メッセージングワークフローに悪意のあるデータを注入したりする可能性があります。この方法は、`--disable-local-auth`がfalseに設定されている場合に機能します(つまり、ローカル認証が有効になっています)
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NAMESPACE_CONNECTION_STR = "<PrimaryConnectionString>"
TOPIC_OR_QUEUE_NAME = "<TOPIC_OR_QUEUE_NAME>"
@@ -129,12 +130,13 @@ az rest --method post \
--body "<MESSAGE_BODY>"
```
### Receive with keys (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Receive with keys (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
PrimaryConnectionStringを取得できます。これはService Bus名前空間の資格情報として機能します。この接続文字列を使用して、名前空間内の任意のキューまたはサブスクリプションからメッセージを受信でき、潜在的に機密または重要なデータアクセスでき、データの流出を可能にしたり、メッセージ処理やアプリケーションのワークフローに干渉したります。この方法は、`--disable-local-auth`がfalseに設定されている場合に機能します。
PrimaryConnectionStringを取得できます。これはService Bus名前空間の資格情報として機能します。この接続文字列を使用して、名前空間内の任意のキューまたはサブスクリプションからメッセージを受信でき、潜在的に機密または重要なデータへのアクセスを可能にし、データの流出を促進したり、メッセージ処理やアプリケーションのワークフローに干渉したりすることができます。この方法は、`--disable-local-auth`がfalseに設定されている場合に機能します。
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
CONN_STR = "<PrimaryConnectionString>"
QUEUE = "<QUEUE_NAME>"
@@ -182,7 +184,7 @@ sas_token = generate_sas_token(resource_uri, "<KEYNAME>", "<PRIMARY_KEY>")
print(sas_token)
```
キューでは、メッセージを取得またはプレビューできます(メッセージを取得すると削除されますが、プレビューすると削除されません):
キューでは、メッセージを取得またはプレビューできます(メッセージを取得すると削除されますが、プレビューでは削除されません):
```bash
#Get a message
az rest --method post \
@@ -224,13 +226,15 @@ import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net" # Your namespace
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
async def run():
credential = DefaultAzureCredential()
async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client:
#async with client.get_topic_sender(topic_name=TOPIC) as sender: # Use this to send the message to a topic
async with client.get_queue_sender(queue_name=QUEUE) as sender:
await sender.send_messages(ServiceBusMessage("Single Message"))
print("Sent a single message")
@@ -246,6 +250,7 @@ asyncio.run(run())
import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net"
QUEUE = "<QUEUE>"

View File

@@ -4,7 +4,7 @@
## 基本情報
Azure Queue Storageは、アプリケーションコンポーネント間のメッセージキューイングのために設計されたMicrosoftのAzureクラウドプラットフォームのサービスであり、**非同期通信とデカップリングを可能にします**。無制限の数のメッセージを保存でき、各メッセージのサイズは最大64 KBでキューの作成や削除、メッセージの追加、取得、更新、削除、メタデータやアクセスポリシーの管理などの操作をサポートしています。通常、メッセージは先入れ先出しFIFO方式で処理されますが、厳密なFIFOは保証されていません。
Azure Queue Storageは、アプリケーションコンポーネント間のメッセージキューイングのために設計されたMicrosoftのAzureクラウドプラットフォームのサービスです。**非同期通信とデカップリングを可能にします**。無制限の数のメッセージを保存でき、各メッセージのサイズは最大64 KBです。キューの作成や削除、メッセージの追加、取得、更新、削除、メタデータやアクセスポリシーの管理などの操作をサポートしています。通常、メッセージは先入れ先出しFIFO方式で処理されますが、厳密なFIFOは保証されていません。
### 列挙

View File

@@ -4,7 +4,7 @@
## Service Bus
Azure Service Busは、アプリケーションの異なる部分や別々のアプリケーション間での信頼性のある**通信を可能にするために設計された**クラウドベースの**メッセージングサービス**です。これは、安全な仲介者として機能し、送信者と受信者が同時に操作していなくてもメッセージが安全に配信されることを保証します。システムを分離することで、アプリケーションは独立して動作しながらデータや指示を交換できます。これは、複数のワーカー間での負荷分散、信頼性のあるメッセージ配信、または順序通りのタスク処理やアクセス管理のような複雑な調整が必要なシナリオに特に役立ちます。
Azure Service Busは、アプリケーションの異なる部分や別々のアプリケーション間での信頼性のある**通信を可能にする**ために設計されたクラウドベースの**メッセージングサービス**です。これは、安全な仲介者として機能し、送信者と受信者が同時に操作していなくてもメッセージが安全に配信されることを保証します。システムを分離することで、アプリケーションは独立して動作しながらデータや指示を交換できます。これは、複数のワーカー間での負荷分散、信頼性のあるメッセージ配信、またはタスクを順番に処理したり、安全にアクセス管理したりするなどの複雑な調整が必要なシナリオに特に役立ちます。
### Key Concepts
@@ -17,9 +17,9 @@ Azure Service Busは、アプリケーションの異なる部分や別々のア
3. **Topics:** ブロードキャストのためのパブリッシュ-サブスクライブメッセージング。
- 複数の独立したサブスクリプションがメッセージのコピーを受け取ります。
- 各サブスクリプションはトピック内のキューのようなものです。
- サブスクリプションは、配信を制御したりメタデータを追加するためのルール/フィルターを持つことができます。
- サブスクリプションは、配信を制御したりメタデータを追加したりするためのルール/フィルターを持つことができます。
The service bus endpoint/connection string is:
サービスバスのエンドポイント/接続文字列は:
```bash
https://<namespace>.servicebus.windows.net:443/
```
@@ -34,7 +34,7 @@ https://<namespace>.servicebus.windows.net:443/
- **メッセージ延期**: 準備ができるまでメッセージの取得を延期します。
- **トランザクション**: 操作を原子的な実行にグループ化します。
- **フィルターとアクション**: メッセージをフィルタリングまたは注釈を付けるためのルールを適用します。
- **アイドル時の自動削除**: 非アクティブ後にキューを削除します(最小: 5 分)。
- **アイドル時の自動削除**: 非アクティブ状態の後にキューを削除します(最小: 5 分)。
- **重複検出**: 再送信中に重複メッセージを削除します。
- **バッチ削除**: 期限切れまたは不要なメッセージを一括削除します。
@@ -50,14 +50,14 @@ az cli パラメータの **`--disable-local-auth`** は、Service Bus 名前空
SAS ポリシーは、Azure Service Bus エンティティの名前空間(最も重要なもの)、キュー、およびトピックに対するアクセス権限を定義します。各ポリシーには次のコンポーネントがあります:
- **権限**: アクセスレベルを指定するためのチェックボックス:
- 管理: エンティティに対する完全な制御を付与し、構成および権限管理を含みます。
- 管理: エンティティに対する完全な制御を付与し、構成権限管理を含みます。
- 送信: エンティティにメッセージを送信することを許可します。
- リスン: エンティティからメッセージを受信することを許可します。
- **プライマリおよびセカンダリキー**: アクセス認証用の安全なトークンを生成するために使用される暗号化キーです。
- **プライマリおよびセカンダリ接続文字列**: エンドポイントとキーを含む事前構成された接続文字列で、アプリケーションでの簡単な使用のために提供されます。
- **プライマリおよびセカンダリ接続文字列**: エンドポイントとキーを含む事前構成された接続文字列で、アプリケーションでの使用が容易です。
- **SAS ポリシー ARM ID**: プログラムによる識別のためのポリシーへの Azure Resource Manager (ARM) パスです。
名前空間には、すべてのエンティティに影響を与える単一の SAS ポリシーがあることに注意することが重要です。一方、キューやトピックは、より詳細な制御のために独自の SAS ポリシーを持つことができます。
名前空間には、すべてのエンティティに影響を与える単一の SAS ポリシーがあることに注意することが重要です。一方、キューやトピックは、より細かい制御のために独自の SAS ポリシーを持つことができます。
### 列挙

View File

@@ -8,9 +8,9 @@ Azure SQLは、**Azureクラウド内のSQL Serverデータベースエンジン
Azure SQLは、4つの主要な提供物で構成されています
1. **Azure SQL Server**: SQL Serverデータベースの**展開と管理**に必要なサーバーです。
2. **Azure SQL Database**: これは**完全管理されたデータベースサービス**で、Azureクラウド内に個別のデータベースをホストできます。
3. **Azure SQL Managed Instance**: これは、より大規模な、全体のSQL Serverインスタンススコープの展開用です。
1. **Azure SQL Server**: SQL Serverデータベースの**デプロイと管理**に必要なサーバーです。
2. **Azure SQL Database**: これは**完全管理データベースサービス**で、Azureクラウド内に個別のデータベースをホストできます。
3. **Azure SQL Managed Instance**: これは、より大規模な、全体のSQL Serverインスタンススコープのデプロイメント用です。
4. **Azure SQL Server on Azure VMs**: これは、**オペレーティングシステム**とSQL Serverインスタンスを**制御したい**アーキテクチャに最適です。
### SQL Server Security Features
@@ -33,7 +33,7 @@ SQL認証が許可されている場合、管理者ユーザーユーザー
**暗号化:**
- 「透過的データ暗号化」と呼ばれ、データベース、バックアップ、およびログを静止状態で暗号化します。
- 常に、Azure管理キーがデフォルトで使用されますが、顧客管理暗号化キーCMEKも使用できます。
- 常に、Azure管理キーがデフォルトで使用されますが、顧客管理暗号化キーCMEKも使用できます。
**管理されたアイデンティティ:**
- システムおよびユーザー管理のMIを割り当てることが可能です。
@@ -47,14 +47,14 @@ SQL認証が許可されている場合、管理者ユーザーユーザー
- Defenderについては独自のレッスンで説明します他のいくつかのAzureサービスで有効にできます
**バックアップ:**
- バックアップの頻度は保持ポリシーで管理されます。
- バックアップの頻度は保持ポリシーで管理されます。
**削除されたデータベース:**
- 既存のバックアップから削除されたDBを復元することが可能です。
## Azure SQL Database
**Azure SQL Database**は、スケーラブルで安全なリレーショナルデータベースソリューションを提供する**完全管理されたデータベースプラットフォームとしてのサービスPaaS**です。最新のSQL Server技術に基づいており、インフラ管理の必要がなく、クラウドベースのアプリケーションに人気の選択肢となっています。
**Azure SQL Database**は、スケーラブルで安全なリレーショナルデータベースソリューションを提供する**完全管理データベースプラットフォームPaaS**です。最新のSQL Server技術に基づいており、インフラ管理の必要がなく、クラウドベースのアプリケーションに人気の選択肢となっています。
SQLデータベースを作成するには、ホストされるSQLサーバーを指定する必要があります。
@@ -71,11 +71,11 @@ SQLデータベースを作成するには、ホストされるSQLサーバー
- **データ冗長性:** オプションはローカル、ゾーン、地理的または地理的ゾーン冗長です。
- **台帳:** データの整合性を暗号的に検証し、改ざんが検出されることを保証します。金融、医療、機密データを管理する組織に役立ちます。
SQLデータベースは**エラスティックプール**の一部である可能性があります。エラスティックプールは、複数のデータベースを管理するためのコスト効果の高いソリューションで、構成可能なコンピュートeDTUsとストレージリソースを共有し、価格はデータベースの数ではなく、割り当てられたリソースに基づいてます。
SQLデータベースは**エラスティックプール**の一部である可能性があります。エラスティックプールは、複数のデータベースを管理するためのコスト効果の高いソリューションで、構成可能なコンピュートeDTUsとストレージリソースを共有し、データベースの数ではなく、割り当てられたリソースに基づいて価格が設定されます。
#### Azure SQL Column Level Security (Masking) & Row Level Security
**Azure SQLの動的**データマスキングは、**機密情報を不正なユーザーから隠す**のに役立つ機能です。実際のデータを変更するのではなく、表示されるデータを動的にマスクし、クレジットカード番号などの機密情報が隠されるようにします。
**Azure SQLの動的**データマスキングは、**機密情報を保護するために**未承認のユーザーから隠す機能です。実際のデータを変更するのではなく、表示されるデータを動的にマスクし、クレジットカード番号などの機密情報が隠されることを保証します。
**動的データマスキング**は、マスクされていないユーザーこれらのユーザーは指定する必要がありますと管理者を除くすべてのユーザーに影響します。動的データマスキングから免除されるSQLユーザーを指定する構成オプションがあり、**管理者は常に除外されます**
@@ -83,7 +83,7 @@ SQLデータベースは**エラスティックプール**の一部である可
### Azure SQL Managed Instance
**Azure SQL Managed Instances**は、より大規模な、全体のSQL Serverインスタンススコープの展開用です。最新のSQL ServerオンプレミスEnterprise Editionデータベースエンジンとのほぼ100%の互換性を提供し、一般的なセキュリティの懸念に対処するネイティブの仮想ネットワークVNet実装を提供し、オンプレミスのSQL Server顧客にとって有利なビジネスモデルを提供します。
**Azure SQL Managed Instances**は、より大規模な、全体のSQL Serverインスタンススコープのデプロイメント用です。最新のSQL Serverオンプレミスエンタープライズエディションデータベースエンジンとのほぼ100%の互換性を提供し、一般的なセキュリティの懸念に対処するネイティブの仮想ネットワークVNet実装を提供し、オンプレミスのSQL Server顧客にとって有利なビジネスモデルを提供します。
### Azure SQL Virtual Machines
@@ -301,4 +301,10 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
../az-post-exploitation/az-sql-post-exploitation.md
{{#endref}}
### 永続性
{{#ref}}
../az-persistence/az-sql-persistance.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}