mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 11:26:11 -08:00
Translated ['src/pentesting-cloud/azure-security/az-services/az-containe
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
# Az - Container Instances
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Temel Bilgiler
|
||||
|
||||
**Azure Container Instances (ACI)**, temel altyapıyı yönetmeden bireysel konteynerleri hızlı bir şekilde çalıştırmanıza olanak tanıyan sunucusuz bir konteyner hizmetidir. **Azure Container Apps (ACA)**, olay odaklı otomatik ölçeklendirme, yerleşik Dapr entegrasyonu ve karmaşık orkestrasyon senaryoları desteği gibi özelliklerle mikro hizmetler ve web uygulamaları çalıştırmak için tamamen yönetilen bir ortam sunarak bunu genişletir. **Container App Jobs**, belirli bir süre boyunca çalışan ve ardından çıkan kısa ömürlü, toplu veya planlı görevleri çalıştırmak için tasarlanmış ACA içindeki özel bir özelliktir.
|
||||
|
||||
Farklar:
|
||||
- ACI, minimum orkestrasyon gerektiren **basit**, bağımsız konteyner iş yükleri için idealdir.
|
||||
- ACA, otomatik ölçeklendirme ve hizmet keşfi gibi gelişmiş özelliklere sahip ölçeklenebilir, birbirine bağlı mikro hizmetler oluşturmak için en uygun olanıdır.
|
||||
- Container App Jobs, arka plan veya toplu işleri ACA ortamında çalıştırmak için düzenli bir yol sağlayarak **tek seferlik veya planlı görevler** üzerine odaklanır.
|
||||
|
||||
### Yapılandırmalar
|
||||
|
||||
**ACI** için özel seçenekler:
|
||||
- Ağ ile ilgili olarak bu 3 seçenekten birini seçmek mümkündür:
|
||||
- **Halka açık** (varsayılan)
|
||||
- **Özel** (sadece VNet'ten erişilebilir)
|
||||
- **Yok** (ağ erişimi yok)
|
||||
|
||||
**ACA** için özel seçenekler:
|
||||
- Konteynerin trafiğini konteyner uygulama ortamına kısıtlamak veya halka açık bırakmak mümkündür.
|
||||
- Kimlik doğrulama için bir **harici kimlik sağlayıcı** (Microsoft, Facebook, Google ve Twitter) kullanmak mümkündür.
|
||||
- **Uygulama gizli anahtarlarını** (açık metin olarak veya bir MI ile erişim atayarak bir kasaya bağlantılar olarak) saklamak mümkündür.
|
||||
- **Uygulamanın revizyonları ve kopyaları** olabilir.
|
||||
- Bir konteyner kullanmak yerine belirli bir **kaynak kodu veya artefakt** üzerinden dağıtım yapmak mümkündür. Kaynak kodu için GitHub'a erişim verilmelidir. Artefaktlar için, uygulama oluşturulduktan sonra yüklenmesi mümkündür.
|
||||
|
||||
**Görevler** için özel seçenekler:
|
||||
- Tetikleme türü **manuel, planlı veya olay tabanlı** (bir kuyruğa mesaj gelmesi gibi) olabilir.
|
||||
|
||||
Ortak seçenekler:
|
||||
- Bir konteyner oluşturmak için halka açık bir görüntü, bir Azure Container Registry'den konteyner görüntüsü veya bir harici depo kullanmak mümkündür; bu, erişim için bir şifre yapılandırmayı **gerektirebilir**.
|
||||
- Bu, konteynerin yapılandırmasının hassas bilgiler içerebileceği anlamına gelir.
|
||||
- Ayrıca, aşağıdaki gibi yaygın docker ayarlarını yapılandırmak da mümkündür:
|
||||
- **Çevre değişkenleri** (hassas bilgiler için kontrol edin)
|
||||
- **Hacimler** (Azure Files'dan bile)
|
||||
- **Açık portlar**
|
||||
- **CPU ve bellek sınırları**
|
||||
- **Yeniden başlatma politikası**
|
||||
- **Yetkili olarak çalıştır**
|
||||
- Konteynerlerin **çalıştırılacak komut satırını ve argümanlarını** geçersiz kılmak (mevcut konteynerlerde de değiştirilebilir)
|
||||
- ...
|
||||
|
||||
## Sayım
|
||||
|
||||
> [!WARNING]
|
||||
> Sayım yaparken, **çevre değişkenleri**, **ağ detayları** veya **yönetilen kimlikler** gibi hassas yapılandırmaları açığa çıkarabilirsiniz.
|
||||
```bash
|
||||
# ACI
|
||||
## List all container instances in the subscription
|
||||
az container list
|
||||
|
||||
## Show detailed information about a specific container instance
|
||||
az container show --name <container-name> --resource-group <res-group>
|
||||
|
||||
## Fetch logs from a container
|
||||
az container logs --name <container-name> --resource-group <res-group>
|
||||
|
||||
## Execute a command in a running container and get the output
|
||||
az container exec --name <container-name> --resource-group <res-group> --exec-command "/bin/sh" # Get a shell
|
||||
|
||||
## Get yaml configuration of the container group
|
||||
az container export --name <container-name> --resource-group <res-group> --file </path/local/file.yml>
|
||||
|
||||
# ACA
|
||||
## List all container apps in the subscription
|
||||
az containerapp list
|
||||
|
||||
## Show detailed information about a specific container app
|
||||
az containerapp show --name <app-name> --resource-group <res-group>
|
||||
|
||||
## List app environments
|
||||
az containerapp env list --resource-group <res-group>
|
||||
|
||||
## Fetch logs from a container app
|
||||
az containerapp logs show --name <app-name> --resource-group <res-group>
|
||||
|
||||
## Get configured secrets
|
||||
az containerapp secret list --name <app-name> --resource-group <res-group>
|
||||
### Get value
|
||||
az containerapp secret show --name <app-name> --resource-group <res-group> --secret-name <secret-name>
|
||||
|
||||
## Get authentication options
|
||||
az containerapp auth show --name <app-name> --resource-group <res-group>
|
||||
|
||||
## Get a shell
|
||||
az containerapp exec --name <app-name> --resource-group <res-group> --command "sh"
|
||||
|
||||
## Get debugging shell
|
||||
az containerapp debug --name <app-name> --resource-group <res-group>
|
||||
|
||||
# Jobs
|
||||
## List all container apps jobs in a resource group
|
||||
az containerapp job list --resource-group <res-group>
|
||||
|
||||
## Show detailed information about a specific container app job
|
||||
az containerapp job show --name <job-name> --resource-group <res-group>
|
||||
|
||||
## Fetch logs from a container app job
|
||||
az containerapp job logs show --name <job-name> --resource-group <res-group>
|
||||
|
||||
## Fetch executions from a container app job
|
||||
az containerapp job execution list --name <job-name> --resource-group <res-group>
|
||||
az containerapp job execution show --name <job-name> --resource-group <res-group> --job-execution-name <job-execution>
|
||||
|
||||
## Start a job execution (for manual jobs)
|
||||
az containerapp job start --name <job-name> --resource-group <res-group>
|
||||
```
|
||||
## Yetki Yükseltme & Sonrası İstismar
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
Reference in New Issue
Block a user