mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-06 12:51:19 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-keyvault
This commit is contained in:
@@ -2,11 +2,11 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## 기본 정보
|
||||
## Basic Information
|
||||
|
||||
**Azure Key Vault**는 Microsoft Azure에서 제공하는 클라우드 서비스로, **비밀, 키, 인증서 및 비밀번호**와 같은 민감한 정보를 안전하게 저장하고 관리하는 데 사용됩니다. 이는 중앙 집중식 저장소 역할을 하며, Azure Active Directory (Azure AD)를 사용하여 안전한 액세스와 세밀한 제어를 제공합니다. 보안 관점에서 Key Vault는 암호화 키에 대한 **하드웨어 보안 모듈 (HSM) 보호**를 제공하고, 비밀이 저장 중 및 전송 중 모두 암호화되도록 보장하며, **역할 기반 액세스 제어 (RBAC)** 및 정책을 통해 강력한 액세스 관리를 제공합니다. 또한 **감사 로그** 기능, 액세스 추적을 위한 Azure Monitor와의 통합, 장기간 키 노출로 인한 위험을 줄이기 위한 자동 키 회전 기능도 포함되어 있습니다.
|
||||
**Azure Key Vault**는 Microsoft Azure에서 제공하는 클라우드 서비스로, **비밀, 키, 인증서 및 비밀번호**와 같은 민감한 정보를 안전하게 저장하고 관리하는 데 사용됩니다. 이는 중앙 집중식 저장소 역할을 하며, Azure Active Directory (Azure AD)를 사용하여 안전한 액세스와 세밀한 제어를 제공합니다. 보안 관점에서 Key Vault는 암호화 키에 대한 **하드웨어 보안 모듈 (HSM) 보호**를 제공하고, 비밀이 저장 중 및 전송 중 모두 암호화되도록 보장하며, **역할 기반 액세스 제어 (RBAC)** 및 정책을 통해 강력한 액세스 관리를 제공합니다. 또한 **감사 로그** 기능, 액세스 추적을 위한 Azure Monitor와의 통합, 장기 키 노출로 인한 위험을 줄이기 위한 자동 키 회전 기능도 포함되어 있습니다.
|
||||
|
||||
자세한 내용은 [Azure Key Vault REST API 개요](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates)를 참조하세요.
|
||||
자세한 내용은 [Azure Key Vault REST API 개요](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates)를 참조하십시오.
|
||||
|
||||
[**문서**](https://learn.microsoft.com/en-us/azure/key-vault/general/basic-concepts)에 따르면, Vault는 소프트웨어 및 HSM 지원 키, 비밀 및 인증서를 저장하는 것을 지원합니다. 관리형 HSM 풀은 HSM 지원 키만 지원합니다.
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
- `object-name`은 키 볼트 내에서 **고유한** 객체 이름입니다.
|
||||
- `object-version`은 시스템에서 생성되며 **객체의 고유 버전**을 지정하는 데 선택적으로 사용됩니다.
|
||||
|
||||
볼트에 저장된 비밀에 접근하기 위해 볼트를 생성할 때 2가지 권한 모델 중에서 선택할 수 있습니다:
|
||||
Vault에 저장된 비밀에 액세스하기 위해 Vault를 생성할 때 2개의 권한 모델 중에서 선택할 수 있습니다:
|
||||
|
||||
- **Vault 액세스 정책**
|
||||
- **Azure RBAC** (가장 일반적이고 권장됨)
|
||||
- 지원되는 모든 세부 권한은 [https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault)에서 확인할 수 있습니다.
|
||||
|
||||
### 액세스 제어 <a href="#access-control" id="access-control"></a>
|
||||
### Access Control <a href="#access-control" id="access-control"></a>
|
||||
|
||||
Key Vault 리소스에 대한 액세스는 두 가지 평면에 의해 제어됩니다:
|
||||
|
||||
@@ -34,29 +34,29 @@ Key Vault 리소스에 대한 액세스는 두 가지 평면에 의해 제어됩
|
||||
- **데이터 평면**, 대상은 **`<vault-name>.vault.azure.com`**입니다.
|
||||
- 키 볼트 내의 **데이터** (키, 비밀 및 인증서)를 관리하고 액세스하는 데 사용됩니다. 이는 **키 볼트 액세스 정책** 또는 Azure **RBAC**를 지원합니다.
|
||||
|
||||
**Contributor**와 같은 역할은 관리 평면에서 액세스 정책을 관리할 수 있는 권한을 가지고 있으며, 액세스 정책을 수정하여 비밀에 접근할 수 있습니다.
|
||||
**Contributor**와 같은 역할은 액세스 정책을 관리할 수 있는 관리 평면에서 권한을 가지고 있으며, 액세스 정책을 수정하여 비밀에 액세스할 수 있습니다.
|
||||
|
||||
### Key Vault RBAC 내장 역할 <a href="#rbac-built-in-roles" id="rbac-built-in-roles"></a>
|
||||
### Key Vault RBAC Built-In Roles <a href="#rbac-built-in-roles" id="rbac-built-in-roles"></a>
|
||||
|
||||
<figure><img src="../../../images/image (27).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### 네트워크 액세스
|
||||
### Network Access
|
||||
|
||||
Azure Key Vault에서는 **방화벽** 규칙을 설정하여 **지정된 가상 네트워크 또는 IPv4 주소 범위에서만 데이터 평면 작업을 허용**할 수 있습니다. 이 제한은 Azure 관리 포털을 통한 액세스에도 영향을 미치며, 사용자의 로그인 IP 주소가 허가된 범위 내에 있지 않으면 키 볼트에서 키, 비밀 또는 인증서를 나열할 수 없습니다.
|
||||
Azure Key Vault에서는 **방화벽** 규칙을 설정하여 **지정된 가상 네트워크 또는 IPv4 주소 범위에서만 데이터 평면 작업을 허용**할 수 있습니다. 이 제한은 Azure 관리 포털을 통한 액세스에도 영향을 미치며, 로그인 IP 주소가 허가된 범위에 포함되지 않으면 사용자는 키 볼트에서 키, 비밀 또는 인증서를 나열할 수 없습니다.
|
||||
|
||||
이 설정을 분석하고 관리하기 위해 **Azure CLI**를 사용할 수 있습니다:
|
||||
```bash
|
||||
az keyvault show --name name-vault --query networkAcls
|
||||
```
|
||||
이전 명령은 `name-vault`**의 방화벽 설정을 표시하며, 여기에는 활성화된 IP 범위와 거부된 트래픽에 대한 정책이 포함됩니다.**
|
||||
이전 명령은 `name-vault`의 f**irewall 설정**을 표시하며, 여기에는 활성화된 IP 범위와 거부된 트래픽에 대한 정책이 포함됩니다.
|
||||
|
||||
또한, **프라이빗 엔드포인트**를 생성하여 금고에 대한 프라이빗 연결을 허용할 수 있습니다.
|
||||
|
||||
### 삭제 보호
|
||||
|
||||
키 볼트가 생성될 때 삭제를 허용하는 최소 일수는 7일입니다. 즉, 해당 키 볼트를 삭제하려고 할 때 **삭제되기 위해서는 최소 7일이 필요합니다**.
|
||||
키 금고가 생성될 때 삭제를 허용하는 최소 일수는 7일입니다. 즉, 해당 키 금고를 삭제하려고 할 때 **삭제되기 위해서는 최소 7일이 필요**합니다.
|
||||
|
||||
그러나 **퍼지 보호가 비활성화된** 볼트를 생성할 수 있으며, 이는 키 볼트와 객체가 보존 기간 동안 퍼지될 수 있도록 허용합니다. 하지만, 이 보호가 볼트에 대해 활성화되면 비활성화할 수 없습니다.
|
||||
그러나 **퍼지 보호가 비활성화된** 금고를 생성할 수 있으며, 이는 키 금고와 객체가 보존 기간 동안 퍼지될 수 있도록 허용합니다. 하지만, 이 보호가 금고에 대해 활성화되면 비활성화할 수 없습니다.
|
||||
|
||||
## 열거
|
||||
|
||||
@@ -67,6 +67,7 @@ az keyvault show --name name-vault --query networkAcls
|
||||
az keyvault list
|
||||
# List Key Vaults in a specific Resource Group
|
||||
az keyvault list --resource-group <ResourceGroupName>
|
||||
az keyvault list --query '[].{name:name}' -o tsv # Get just the names
|
||||
# Show details of a specific Key Vault
|
||||
az keyvault show --name <KeyVaultName> # If accessPolicies, you can see them here
|
||||
# List all keys in a Key Vault
|
||||
|
||||
Reference in New Issue
Block a user