Aracılığıyla paylaş


Application Gateway'de Web Uygulaması Güvenlik Duvarı ile Azure Container Apps'i koruma

Uygulamalarınızı veya mikro hizmetlerinizi Azure Container Apps'te barındırdığınızda, bunları her zaman doğrudan İnternet'te yayımlamak istemeyebilirsiniz. Bunun yerine, bunları ters ara sunucu aracılığıyla kullanıma sunmanız gerekebilir.

Ters ara sunucu, bir veya daha fazla hizmetin önünde yer alan, gelen trafiği durduran ve uygun hedefe yönlendiren bir hizmettir.

Ters proxy'ler, uygulamalarınızın önüne aşağıdakiler gibi çapraz kesme işlevlerini destekleyen hizmetler yerleştirmenizi sağlar:

  • Yönlendirme
  • Önbellekleme
  • Hız sınırlaması
  • Yük dengeleme
  • Güvenlik katmanları
  • İstek filtreleme

Bu makalede, kapsayıcı uygulamalarınızı, bir iç Container Apps ortamıyla Azure Uygulama Geçidi üzerinde Web Uygulaması Güvenlik Duvarı (WAF) kullanarak nasıl koruyacağınız gösterilmektedir.

Container Apps'teki ağ kavramları hakkında daha fazla bilgi için bkz . Azure Container Apps'te Ağ Ortamı.

Önkoşullar

  • Sanal ağ ile iç ortam: İç ortamda bulunan ve sanal ağ ile tümleştirilmiş bir kapsayıcı uygulamasına sahip olun. Sanal ağ ile tümleşik uygulama oluşturma hakkında daha fazla bilgi için bkz. İç Azure Container Apps ortamına sanal ağ sağlama.

  • Güvenlik sertifikaları: Uygulama ağ geçidinde TLS/SSL şifrelemesi kullanmanız gerekiyorsa, uygulama ağ geçidinize bağlanmak için kullanılan geçerli bir genel sertifika gerekir.

Kapsayıcı uygulamanızın etki alanını alın

Özel DNS Bölgenizi ayarlamak için varsayılan etki alanının ve statik IP'nindeğerlerini almak için aşağıdaki adımları kullanın.

  1. Portaldaki kaynak grubunun Genel Bakış penceresinden kapsayıcı uygulamanızı seçin.

  2. Kapsayıcı uygulaması kaynağınızın Genel Bakış penceresinde Container Apps Ortamı bağlantısını seçin

  3. Kapsayıcı uygulaması ortamı kaynağınızın Genel Bakış penceresinde, kapsayıcı uygulamaları ortamının JSON gösterimini görüntülemek için sayfanın sağ üst köşesindeki JSON Görünümü'nü seçin.

  4. defaultDomain ve staticIp özelliklerinin değerlerini kopyalayın ve bir metin düzenleyicisine yapıştırın. Sonraki bölümde varsayılan etki alanı için bu değerleri kullanarak özel bir DNS bölgesi oluşturacaksınız.

Azure Özel DNS bölgesi oluşturma ve yapılandırma

Azure Özel DNS bölgesi oluşturmak ve yapılandırmak için aşağıdaki adımları gerçekleştirin:

  1. Azure portalına gidin.

  2. Arama çubuğuna Özel DNS Bölgesi girin.

  3. Arama sonuçlarından Özel DNS Bölgesi'ni seçin.

  4. Oluştur düğmesini seçin.

  5. Aşağıdaki değerleri girin:

    Ayarlar Eylem
    Abonelik Azure aboneliği seçin.
    Kaynak grubu Kapsayıcı uygulamanızın kaynak grubunu seçin.
    İsim Önceki bölümde yer alan Container Apps Ortamının defaultDomain özelliğini girin.
    Kaynak grubu konumu Varsayılan olarak bırakın. Özel DNS Bölgeleri genel olduğundan bir değer gerekmez.
  6. Gözden geçir ve oluştur’u seçin. Doğrulama tamamlandıktan sonra Oluştur'u seçin.

  7. Özel DNS bölgesi oluşturulduktan sonra Kaynağa Git'i seçin.

  8. Genel Bakış penceresinde + Kayıt kümesi'ni seçerek yeni bir kayıt kümesi ekleyin.

  9. Kayıt kümesi ekle penceresinde aşağıdaki değerleri girin:

    Ayarlar Eylem
    İsim * girin.
    Türü Adres Kaydı'nı seçin.
    TTL Varsayılan değerleri koruyun.
    TTL birimi Varsayılan değerleri koruyun.
    IP Adresi Önceki bölümde yer alan Container Apps Ortamının staticIp özelliğini girin.
  10. Kayıt kümesini oluşturmak için Tamam'ı seçin.

  11. İkinci bir kayıt kümesi eklemek için +Kayıt kümesi'ne yeniden tıklayın.

  12. Kayıt kümesi ekle penceresinde aşağıdaki değerleri girin:

    Ayarlar Eylem
    İsim @ girin.
    Türü Adres Kaydı'nı seçin.
    TTL Varsayılan değerleri koruyun.
    TTL birimi Varsayılan değerleri koruyun.
    IP Adresi Önceki bölümde yer alan Container Apps Ortamının staticIp özelliğini girin.
  13. Kayıt kümesini oluşturmak için Tamam'ı seçin.

  14. Sayfanın sol tarafındaki menüden Sanal ağ bağlantıları penceresini seçin.

  15. Aşağıdaki değerlere sahip yeni bir bağlantı oluşturmak için +Ekle'yi seçin:

    Ayarlar Eylem
    Bağlantı adı my-vnet-pdns-link girin.
    Sanal ağın kaynak kimliğini biliyorum İşaretsiz bırakın.
    Sanal ağ Kapsayıcı uygulamanızın tümleşik olduğu sanal ağı seçin.
    Otomatik kaydı etkinleştir İşaretsiz bırakın.
  16. Sanal ağ bağlantısını oluşturmak için Tamam'ı seçin.

Azure Application Gateway oluşturma ve yapılandırma

Azure Application Gateway oluşturmak ve yapılandırmak için aşağıdaki adımları gerçekleştirin:

  1. Azure portalına gidin.

  2. Arama çubuğuna Application Gateway yazın.

  3. Arama sonuçlarından Application Gateway'i seçin.

Şimdi Temel Bilgiler sekmesi, Ön uçlar sekmesi, Arka uçlar sekmesi ve Yapılandırma sekmesi altına gerekli ayrıntıları girin.

Temel Bilgiler sekmesi

Aşağıdaki adımları gerçekleştirin:

  1. Proje ayrıntıları bölümüne aşağıdaki değerleri girin.

    Ayarlar Eylem
    Abonelik Azure aboneliği seçin.
    Kaynak grubu Kapsayıcı uygulamanız için kaynak grubunu seçin.
    Uygulama ağ geçidi adı my-container-apps-agw girin.
    Bölge Kapsayıcı Uygulamanızın sağlandığı konumu seçin.
    Katman WAF V2'yi seçin. WAF'ye ihtiyacınız yoksa Standart V2'yi kullanabilirsiniz.
    Otomatik ölçeklendirmeyi etkinleştirme Varsayılan değerde bırakın. Üretim ortamları için otomatik ölçeklendirme önerilir. Bkz. Azure Otomatik Ölçeklendirme Uygulama Geçidi.
    Erişilebilirlik bölgesi Hiçbiri seçeneğini belirtin. Üretim ortamlarında daha yüksek kullanılabilirlik için Kullanılabilirlik Alanları önerilir.
    HTTP2 (İngilizce) Varsayılan değeri değiştirmeyin.
    WAF İlkesi Create new'u seçin ve WAF İlkesi için my-waf-policy'yi girin. Tamam'ı seçin. Katman için Standart V2'yi seçtiyseniz bu adımı atlayın.
    Sanal ağ Kapsayıcı uygulamanızın tümleşik olduğu sanal ağı seçin.
    Alt ağ (subnet) Alt ağ yapılandırmasını yönet'i seçin. Kullanmak istediğiniz bir alt ağınız zaten varsa, bunun yerine bunu kullanın ve Ön Uçlar bölümüne atlayın.
  2. my-vnet'inAlt Ağlar penceresinde +Alt Ağ'ı seçin ve aşağıdaki değerleri girin:

    Ayarlar Eylem
    İsim appgateway-subnet girin.
    Alt ağ adres aralığı Varsayılan değerleri koruyun.
  3. Ayarların geri kalanı için varsayılan değerleri koruyun.

  4. Yeni alt ağı oluşturmak için Kaydet'i seçin.

  5. Uygulama ağ geçidi oluştur penceresine dönmek için Alt Ağlar penceresini kapatın.

  6. Aşağıdaki değerleri seçin:

    Ayarlar Eylem
    Alt ağ (subnet) Oluşturduğunuz appgateway-subnet öğesini seçin.
  7. Devam etmek için İleri: Ön uçlar'ı seçin.

Arayüzler sekmesi

Aşağıdaki adımları gerçekleştirin:

  1. Ön Uçlar sekmesinde aşağıdaki değerleri girin:

    Ayarlar Eylem
    Ön uç IP adresi türü Genel’i seçin.
    Genel IP adresi Yeni ekle'yi seçin. Ön ucunuzun adı için my-frontend girin ve Tamam'ı seçin

    Uyarı

    Application Gateway v2 SKU'su için genel bir ön uç IP'si olmalıdır. Daha fazla bilgi için bkz: Genel ve özel IP adresi desteği ve Azure Application Gateway ile genel IP adresini yönetme.

  2. Sonraki: Backends'i seçin.

Arka Plan Sekmesi

Arka uç havuzu, istekleri uygun arka uç sunucularına yönlendirmek için kullanılır. Arka uç havuzları aşağıdaki kaynakların herhangi bir bileşiminden oluşabilir:

  • NIC’ler
  • Genel IP adresleri
  • İç IP adresleri
  • Sanal Makine Ölçek Kümeleri
  • Tam Nitelikli Alan Adları (FQDN)
  • Azure App Service ve Container Apps gibi çok kiracılı arka uçlar

Bu örnekte, kapsayıcı uygulamanızı hedefleyen bir arka plan havuzu oluşturuyorsunuz.

Arka uç havuzu oluşturmak için aşağıdaki adımları uygulayın:

  1. Backend havuzu ekle'yi seçin.

  2. Yeni bir sekme açın ve kapsayıcı uygulamanıza gidin.

  3. Kapsayıcı Uygulamasının Genel Bakış penceresinde Uygulama Url'sini bulun ve kopyalayın.

  4. Arka uçlar sekmesine dönün ve Arka uç havuzu ekle penceresine aşağıdaki değerleri girin:

    Ayarlar Eylem
    İsim my-agw-backend-pool'u girin.
    Hedef içermeyen backend grubu ekle Hayır'ı seçin.
    Hedef türü IP adresi veya FQDN'yi seçin.
    Hedef Kopyaladığınız Container App Uygulama Url'sini girin ve https:// ön ekini kaldırın. Bu konum, kapsayıcı uygulamanızın FQDN'sini gösterir.
  5. Ekle'yi seçin.

  6. Arka Uçlar sekmesinde İleri: Yapılandırma'yı seçin.

Yapılandırma sekmesi

Yapılandırma sekmesinde, oluşturduğunuz ön uç ve arka uç havuzunu bir yönlendirme kuralı kullanarak bağlarsınız.

Ön uç ve arka uç havuzunu bağlamak için aşağıdaki adımları gerçekleştirin:

  1. Yönlendirme kuralı ekle'yi seçin. Aşağıdaki değerleri girin:

    Ayarlar Eylem
    İsim my-agw-routing-rule girin.
    Öncelik 1 girin.
  2. Dinleyici sekmesinde aşağıdaki değerleri girin:

    Ayarlar Eylem
    Dinleyici adı my-agw-listener öğesini girin.
    Ön uç IP adresi Genel’i seçin.
    Protokol HTTPS'yi seçin. Kullanmak istediğiniz bir sertifikanız yoksa HTTP'yi seçebilirsiniz
    Liman 443 girin. Protokolünüzün HTTP'sini seçtiyseniz 80 girin ve varsayılan/özel etki alanı bölümüne atlayın.
    Sertifika Seçin Sertifika yükle'yi seçin. Sertifikanız Key Vault'ta depolanıyorsa Key Vault'tan sertifika seçin'i seçebilirsiniz.
    Sertifika adı Sertifikanız için bir ad girin.
    PFX sertifika dosyası Geçerli genel sertifikanızı seçin.
    Parola Sertifika parolanızı girin.

    Varsayılan etki alanını kullanmak istiyorsanız aşağıdaki değerleri girin:

    Ayarlar Eylem
    Dinleyici Türü Temel'i seçin
    Hata sayfası URL'si Hayır olarak bırak

    Alternatif olarak, özel bir etki alanı kullanmak istiyorsanız aşağıdaki değerleri girin:

    Ayarlar Eylem
    Dinleyici Türü Çoklu site'yi seçin
    Sunucu türü Tekli Seç
    Konak Adları Kullanmak istediğiniz Özel Etki Alanını girin.
    Hata sayfası URL'si Hayır olarak bırak
  3. Arka uç hedefleri sekmesini seçin ve aşağıdaki değerleri girin:

  4. Arka uç hedefleri sekmesine geçiş yapın ve aşağıdaki değerleri girin:

    Ayarlar Eylem
    Hedef türü Daha önce oluşturduğunuz my-agw-backend-pool öğesini seçin.
    Arka plan ayarları Yeni ekle'yi seçin.
  5. Arka uç ayarı ekle penceresinde aşağıdaki değerleri girin:

    Ayarlar Eylem
    Arka plan ayarları adı my-agw-backend-setting girin.
    Arka uç protokolü HTTPS'yi seçin.
    Arka uç bağlantı noktası 443 girin.
    İyi bilinen CA sertifikası kullanma Evet'i seçin.
    Yeni ana bilgisayar adı kullanarak geçersiz kıl Evet'i seçin.
    Sunucu adı geçersiz kılma Arka uç hedefinden konak adını seç seçeneğini işaretleyin.
    Özel yoklamalar oluşturma Hayır'ı seçin.
  6. İstek Başlığı Yeniden Yazma altında aşağıdakileri yapılandırın:

    • İstek Üst Bilgisi Yeniden Yazmayı Etkinleştir: Evet'i seçin.
    • İstek üst bilgisi ekleyin:
      • Üst bilgi adı: X-Forwarded-Host
      • Değer: {host}

    Bu eylem, istemci isteğindeki özgün Host üst bilginin korunmasını ve arka uç uygulaması tarafından erişilebilir olmasını sağlar.

  7. Arka uç ayarlarını eklemek için Ekle'yi seçin.

  8. Yönlendirme kuralı ekle penceresinde Yeniden Ekle'yi seçin.

  9. İleri: Etiketler'i seçin.

  10. İleri: Gözden geçir + oluştur'u seçin ve ardından Oluştur'u seçin.

Özel bağlantı kullanarak yalnızca iç kapsayıcı uygulaması ortamlarına güvenli bir bağlantı kurabilirsiniz. Özel bağlantı, Application Gateway'inizin sanal ağ üzerinden arka uçta Kapsayıcı Uygulamanızla iletişim kurmasını sağlar.

  1. Application Gateway oluşturulduktan sonra Kaynağa git'i seçin.

  2. Soldaki menüden Özel bağlantı'yı ve ardından Ekle'yi seçin.

  3. Aşağıdaki değerleri girin:

    Ayarlar Eylem
    İsim my-agw-private-link girin.
    Özel bağlantı alt ağı Özel bağlantıyı oluşturmak istediğiniz alt ağı seçin.
    Ön Uç IP Yapılandırması Application Gateway'iniz için ön uç IP'sini seçin.
  4. Özel IP adresi ayarları'nın altında Ekle'yi seçin.

  5. Pencerenin alt kısmındaki Ekle'yi seçin.

Yönlendirmeler ve SSO için orijinal ana bilgisayar başlığını koruma

Azure Application Gateway ters ara sunucu olarak yapılandırıldığında ve Yeni ana bilgisayar adıyla geçersiz kıl ayarı etkinleştirildiğinde üst Host bilgi değiştirilir. Üst bilgide değişiklik yapmak, yeniden yönlendirme URL'leri, mutlak bağlantılar oluşturmak veya OpenID Connect (OIDC) kimlik doğrulama akışlarını desteklemek için özgün ana bilgisayar değerini kullanan uygulamaları etkileyebilir.

Özgün ana bilgisayar üst bilgisini yönlendirmek için, Application Gateway'in istek üst bilgisi yeniden yazma özelliğini kullanarak X-Forwarded-Host üst bilgisine ekleyebilirsiniz.

X-Forwarded-Host enjeksiyonunu yapılandırma

X-Forwarded-Host eklemesini etkinleştirmek için:

  1. Yapılandırma sekmesinin altında Application Gateway yönlendirme kuralınızın Arka uç ayarları bölümünü seçin:

    • İstek Üst Bilgisi Yeniden Yazmayı Etkinleştir.
    • Aşağıdaki değerlerle yeni bir istek üst bilgisi ekleyin:
      • Üstbilgi adı: X-Forwarded-Host
      • Değer: {host}

    Arka uç uygulamanız artık üst bilgiyi kullanarak özgün istek ana bilgisayarını X-Forwarded-Host okuyabilir.

Kapsayıcı uygulamasını doğrulama

  1. Uygulama ağ geçidinin genel IP adresini Genel Bakış sayfasında bulabilir veya adresi arayabilirsiniz. Arama yapmak için Tüm kaynaklar'ı seçin ve arama kutusuna my-container-apps-agw-pip yazın. Ardından arama sonuçlarında IP'yi seçin.

  2. Uygulama ağ geçidinin genel IP adresine gidin.

  3. İsteğiniz otomatik olarak kapsayıcı uygulamasına yönlendirilir ve bu da uygulama ağ geçidinin başarıyla oluşturulduğunu doğrular.

Kaynakları temizleme

Oluşturduğunuz kaynaklara artık ihtiyacınız kalmadığında kaynak grubunu silin. Kaynak grubunu sildiğinizde, tüm ilgili kaynakları da kaldırırsınız.

Kaynak grubunu silmek için:

  1. Azure portalı menüsünde Kaynak grupları'nı seçin veya Kaynak grupları'nı arayıp seçin.

  2. Kaynak grupları sayfasında my-container-apps öğesini arayın ve seçin.

  3. Kaynak grubu sayfasında Kaynak grubunu sil'i seçin.

  4. KAYNAK GRUBU ADıNı YAZıN kısmına my-container-apps yazın ve Sil seçeneğini seçin.

Sonraki adımlar