Files
hacktricks-cloud/src/pentesting-cloud/azure-security/az-services/az-postgresql.md

8.9 KiB
Raw Blame History

Az - PostgreSQL Veritabanları

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Azure PostgreSQL

Azure Database for PostgreSQL, PostgreSQL Community Edition'a dayanan tamamen yönetilen bir ilişkisel veritabanı hizmetidir. Çeşitli uygulama ihtiyaçları için ölçeklenebilirlik, güvenlik ve esneklik sağlamak üzere tasarlanmıştır. Azure MySQL'e benzer şekilde, PostgreSQL iki dağıtım modeli sunar:

  • Tek Sunucu (emeklilik yolunda):
  • Basit, maliyet etkin PostgreSQL dağıtımları için optimize edilmiştir.
  • Otomatik yedeklemeler, temel izleme ve yüksek kullanılabilirlik özelliklerine sahiptir.
  • Öngörülebilir iş yüklerine sahip uygulamalar için idealdir.
  • Esnek Sunucu:
  • Veritabanı yönetimi ve yapılandırması üzerinde daha fazla kontrol sağlar.
  • Hem aynı bölgede hem de bölgeler arasında yüksek kullanılabilirliği destekler.
  • Elastik ölçekleme, otomatik bakım ve maliyet tasarrufu işlevselliği sunar.
  • Maliyetleri optimize etmek için sunucunun başlatılmasına ve durdurulmasına izin verir.

Ana Özellikler

  • Özel Bakım Pencereleri: Kesintiyi en aza indirmek için güncellemeleri planlayın.
  • Aktif İzleme: Veritabanı performansını izlemek ve geliştirmek için ayrıntılı metrikler ve günlükler erişin.
  • Sunucuyu Durdur/ Başlat: Kullanıcılar sunucuyu durdurabilir ve başlatabilir.
  • Otomatik Yedeklemeler: 35 güne kadar yapılandırılabilir saklama süreleri ile yerleşik günlük yedeklemeler.
  • Rol Tabanlı Erişim: Kullanıcı izinlerini ve yönetim erişimini Azure Active Directory aracılığıyla kontrol edin.
  • Güvenlik ve Ağ: Güvenli veritabanı erişimi için sunucu güvenlik duvarı kurallarını yönetebilir ve gerektiğinde sanal ağ yapılandırmalarını ayırabilirsiniz.

Sayım

{% tabs %} {% tab title="az cli" %} {% code overflow="wrap" %}

# List servers in a resource group
az postgres flexible-server list --resource-group <resource-group-name>
# List databases in a flexible-server
az postgres flexible-server db list --resource-group <resource-group-name> --server-name <server_name>
# Show specific details of a Postgre database
az postgres flexible-server db show --resource-group <resource-group-name> --server-name <server_name> --database-name <database_name>

# List firewall rules of the a server
az postgres flexible-server firewall-rule list --resource-group <resource-group-name> --name <server_name>
# List parameter values for a felxible server
az postgres flexible-server parameter list --resource-group <resource-group-name> --server-name <server_name>
# List private link
az postgres flexible-server private-link-resource list --resource-group <resource-group-name> --server-name <server_name>

# List all ad-admin in a server
az postgres flexible-server ad-admin list --resource-group <resource-group-name> --server-name <server_name>
# List all user assigned managed identities from the server
az postgres flexible-server identity list --resource-group <resource-group-name> --server-name <server_name>

# List the server backups
az postgres flexible-server backup list --resource-group <resource-group-name> --name <server_name>
# List all read replicas for a given server
az postgres flexible-server replica list --resource-group <resource-group-name> --name <server_name>
# List migrations
az postgres flexible-server migration list --resource-group <resource-group-name> --name <server_name>

# Get the server's advanced threat protection setting
az postgres flexible-server advanced-threat-protection-setting show --resource-group <resource-group-name> --name <server_name>
# List all of the maintenances of a flexible server
az postgres flexible-server maintenance list --resource-group <resource-group-name> --server-name <server_name>
# List log files for a server.
az postgres flexible-server server-logs list --resource-group <resource-group-name> --server-name <server_name>

{% endcode %} {% endtab %}

{% tab title="Az PowerShell" %} {% code overflow="wrap" %}

Get-Command -Module Az.PostgreSql

# List flexible-servers in a resource group
Get-AzPostgreSqlFlexibleServer -ResourceGroupName <resource-group-name>
# List databases in a flexible-server
Get-AzPostgreSqlFlexibleServerDatabase -ResourceGroupName <resource-group-name> -ServerName <server_name>

# List firewall rules of the a flexible-server
Get-AzPostgreSqlFlexibleServerFirewallRule -ResourceGroupName <resource-group-name> -ServerName <server_name>

# List configuration settings of a flexible server
Get-AzPostgreSqlFlexibleServerConfiguration -ResourceGroupName <resource-group-name> -ServerName <server_name>
# Get the connection string for a flexible server
Get-AzPostgreSqlFlexibleServerConnectionString -ResourceGroupName <resource-group-name> -ServerName <server_name> -Client <client>

Get-AzPostgreSqlFlexibleServerLocationBasedCapability -Location <location>

# List servers in a resource group
Get-AzPostgreSqlServer -ResourceGroupName <resource-group-name>

{% endcode %} {% endtab %} {% endtabs %}

Bağlantı

rdbms-connect uzantısıyla veritabanına şu şekilde erişebilirsiniz:

{% code overflow="wrap" %}

az postgres flexible-server connect -n <server-name> -u <username> -p <password> --interactive

#or execute commands
az postgres flexible-server execute \
-n <server-name> \
-u <username> \
-p "<password>" \
-d <database-name> \
--querytext "SELECT * FROM <table-name>;"

{% endcode %}

Veya {% code overflow="wrap" %}

psql -h testpostgresserver1994.postgres.database.azure.com -p 5432 -U adminuser <database-name>

{% endcode %}

Referanslar

Yetki Yükseltme

{% content-ref url="../az-privilege-escalation/az-postgresql-privesc.md" %} az-postgresql-privesc.md {% endcontent-ref %}

Sonrası

{% content-ref url="../az-post-exploitation/az-postgresql-post-exploitation.md" %} az-postgresql-post-exploitation.md {% endcontent-ref %}

Yapılacaklar

  • Yetki yükseltme yöntemini doğrulamak için ad-admin ile erişim yolu arayın

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}