Öğretici: Azure portalı kullanarak Web Uygulaması Güvenlik Duvarı ile bir uygulama ağ geçidi oluşturma

Bu öğreticide, Web Uygulaması Güvenlik Duvarı (WAF) ile Application Gateway oluşturmak için Azure portal nasıl kullanılacağı gösterilmektedir. WAF, uygulamanızı korumak için OWASP kurallarını kullanır. Bu kurallar SQL ekleme, siteler arası betik saldırıları ve oturum ele geçirme gibi saldırılara karşı korumayı içerir. Uygulama ağ geçidini oluşturduktan sonra doğru çalıştığından emin olmak için test edin. Azure Application Gateway ile bağlantı noktalarına dinleyiciler atayarak, kurallar oluşturarak ve arka uç havuzuna kaynak ekleyerek uygulamanızın web trafiğini belirli kaynaklara yönlendirirsiniz. Kolaylık olması açısından, bu öğreticide genel ön uç IP'siyle basit bir kurulum, bu uygulama ağ geçidinde tek bir siteyi barındırmak için temel bir dinleyici, arka uç havuzu için kullanılan iki Linux sanal makinesi ve temel bir istek yönlendirme kuralı kullanılır.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:

  • WAF etkinken bir uygulama ağ geçidi oluşturma
  • Arka uç sunucuları olarak kullanılan sanal makineleri oluşturma
  • Bir depolama hesabı oluşturma ve tanılamaları yapılandırma
  • Uygulama ağ geçidini test etme

Web uygulaması güvenlik duvarı örneğinin diyagramı.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Ön koşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure'da oturum açma

Azure Portal oturum açın.

Uygulama ağ geçidi oluşturma

  1. Azure portal sol menüsünde Kaynak oluştur'u seçin. Yeni penceresi görüntülenir.

  2. Ağ'ı ve ardından Öne Çıkanlarlistesinden Application Gateway'ı seçin.

Temel Bilgiler sekmesi

  1. Temel Bilgiler sekmesinde, aşağıdaki uygulama ağ geçidi ayarları için şu değerleri girin:

    • Kaynak grubu: Kaynak grubu için myResourceGroupAG öğesini seçin. Yoksa, oluşturmak için Yeni oluştur'u seçin.

    • Uygulama ağ geçidi adı: Uygulama ağ geçidinin adı olarak myAppGateway yazın.

    • Katman: WAF V2'yi seçin.

    • WAF İlkesi: Yeni oluştur'u seçin, yeni ilke için bir ad yazın ve tamam'ı seçin. Bu, yönetilen Bir Çekirdek Kural Kümesi (CRS) ile temel bir WAF ilkesi oluşturur.

      Yeni uygulama ağ geçidi oluştur: Temel bilgiler sekmesinin ekran görüntüsü.

  2. Azure'ın oluşturduğunuz kaynaklar arasında iletişim kurabilmesi için bir sanal ağ gerekir. Yeni bir sanal ağ oluşturabilir veya var olan bir sanal ağı kullanabilirsiniz. Bu örnekte, uygulama ağ geçidini oluştururken yeni bir sanal ağ oluşturacaksınız. Application Gateway örnekleri ayrı alt ağlarda oluşturulur. Bu örnekte iki alt ağ oluşturursunuz: biri uygulama ağ geçidi için, diğeri de arka uç sunucuları için.

    Sanal ağı yapılandır'ın altında Yeni oluştur'u seçerek yeni bir sanal ağ oluşturun. Açılan Sanal ağ oluştur penceresinde, sanal ağı ve iki alt ağı oluşturmak için aşağıdaki değerleri girin:

    • Ad: Sanal ağın adı olarak myVNet girin.

    • Alt ağ adı (Application Gateway alt ağ): Alt ağlarkılavuzunda Varsayılan adlı bir alt ağ gösterilir. Bu alt ağın adını myAGSubnet olarak değiştirin.
      Uygulama ağ geçidi alt ağı yalnızca uygulama ağ geçitlerini içerebilir. Başka hiçbir kaynağa izin verilmez.

    • Alt ağ adı (arka uç sunucusu alt ağı): Alt ağlar kılavuzunun ikinci satırına Alt ağ adı sütununa myBackendSubnet yazın.

    • Adres aralığı (arka uç sunucu alt ağı): Subnets Grid'in ikinci satırına myAGSubnet adres aralığıyla çakışmayan bir adres aralığı girin. Örneğin, myAGSubnet adres aralığı 10.21.0.0/24 ise, myBackendSubnet adres aralığı için 10.21.1.0/24 girin.

    Tamam'ı seçerek Sanal ağ oluştur penceresini kapatın ve sanal ağ ayarlarını kaydedin.

    Yeni uygulama ağ geçidi oluştur: Sanal ağ oluşturma'nın ekran görüntüsü.

  3. Temel Bilgiler sekmesinde, diğer ayarlar için varsayılan değerleri kabul edin ve ardından İleri: Ön uçlar'ı seçin.

Ön uçlar sekmesi

  1. Ön Uçlar sekmesinde Ön uç IP adresi türününGenel olarak ayarlandığını doğrulayın.
    Ön Uç IP'sini, kullanım örneğiniz gereği Genel veya Her İkisi olacak şekilde yapılandırabilirsiniz. Bu örnekte Genel Ön Uç IP'sini seçeceksiniz.

    Not

    Application Gateway v2 SKU'su için Genel ve Her İkisi Ön Uç IP adresi türleri bugün desteklenmektedir. Yalnızca özel ön uç IP yapılandırması şu anda desteklenmiyor.

  2. Genel IP adresi için Yeni ekle'yi seçin ve genel IP adresi adı olarak myAGPublicIPAddress girin ve ardından Tamam'ı seçin.

    Yeni uygulama ağ geçidi oluştur: Ön uçların ekran görüntüsü.

  3. İleri: Arka uçlar'ı seçin.

Arka uçlar sekmesi

Arka uç havuzu, istekleri isteğe hizmet eden arka uç sunucularına yönlendirmek için kullanılır. Arka uç havuzları NIC'lerden, sanal makine ölçek kümelerinden, genel IP'lerden, iç IP'lerden, tam etki alanı adlarından (FQDN) ve Azure App Service gibi çok kiracılı arka uçlardan oluşabilir. Bu örnekte, uygulama ağ geçidinizle boş bir arka uç havuzu oluşturacak ve ardından arka uç hedeflerini arka uç havuzuna ekleyeceksiniz.

  1. Arka uçlar sekmesinde Arka uç havuzu ekle'yi seçin.

  2. Açılan Arka uç havuzu ekle penceresinde, boş bir arka uç havuzu oluşturmak için aşağıdaki değerleri girin:

    • Ad: Arka uç havuzunun adı olarak myBackendPool girin.
    • Hedefleri olmayan arka uç havuzu ekleme: Hedefleri olmayan bir arka uç havuzu oluşturmak için Evet'i seçin. Uygulama ağ geçidini oluşturduktan sonra arka uç hedefleri ekleyeceksiniz.
  3. Arka uç havuzu ekle penceresinde Ekle'yi seçerek arka uç havuzu yapılandırmasını kaydedin ve Arka Uçlar sekmesine dönün.

    Yeni uygulama ağ geçidi oluştur: Arka uçların ekran görüntüsü.

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

Yapılandırma sekmesi

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

  1. Yönlendirme kuralları sütununda Yönlendirme kuralıekle'yi seçin.

  2. Açılan Yönlendirme kuralı ekle penceresinde Kural adı olarak myRoutingRule girin.

  3. Öncelik için bir öncelik numarası yazın.

  4. Yönlendirme kuralı için dinleyici gerekir. Yönlendirme kuralı ekle penceresinin Dinleyici sekmesinde dinleyici için aşağıdaki değerleri girin:

    • Dinleyici adı: Dinleyici adı olarak myListener girin.

    • Ön uç IP:Ön uç için oluşturduğunuz genel IP'yi seçmek için Genel'i seçin.

      Dinleyici sekmesindeki diğer ayarlar için varsayılan değerleri kabul edin, ardından yönlendirme kuralının geri kalanını yapılandırmak için Arka uç hedefleri sekmesini seçin.

    Yeni uygulama ağ geçidi oluştur: dinleyiciyi gösteren ekran görüntüsü.

  5. Arka uç hedefleri sekmesinde, Arka uç hedefi için myBackendPool öğesini seçin.

  6. Arka uç ayarları için Yeni ekle'yi seçerek yeni bir Arka uç ayarı oluşturun. Bu ayar, yönlendirme kuralının davranışını belirler. Açılan Arka Uç ayarı ekle penceresinde, Arka uç ayarları adı olarak myBackendSetting girin. Penceredeki diğer ayarlar için varsayılan değerleri kabul edin, ardından Yönlendirme kuralı ekle penceresine dönmek için Ekle'yi seçin.

    Yeni uygulama ağ geçidi oluştur, Arka uç ayarını gösteren ekran görüntüsü.

  7. Yönlendirme kuralı ekle penceresinde Ekle'yi seçerek yönlendirme kuralını kaydedin ve Yapılandırma sekmesine dönün.

    Yeni uygulama ağ geçidi oluştur: yönlendirme kuralını gösteren ekran görüntüsü.

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

Gözden geçirme ve oluşturma sekmesi

Gözden geçir ve oluştur sekmesindeki ayarları gözden geçirin ve ardından Oluştur'u seçerek sanal ağı, genel IP adresini ve uygulama ağ geçidini oluşturun. Azure'ın uygulama ağ geçidini oluşturması birkaç dakika sürebilir.

Sonraki bölüme geçmeden önce dağıtımın başarıyla tamamlanmasını bekleyin.

Arka uç hedefleri ekleme

Bu örnekte, hedef arka uç olarak sanal makineleri kullanacaksınız. Mevcut sanal makineleri kullanabilir veya yenilerini oluşturabilirsiniz. Azure'ın uygulama ağ geçidi için arka uç sunucusu olarak kullandığı iki sanal makine oluşturacaksınız.

Bunu yapmak için şunları yapacaksınız:

  1. Arka uç sunucusu olarak kullanılacak myVM ve myVM2 olmak üzere iki yeni Linux VM oluşturun.
  2. Uygulama ağ geçidinin başarıyla oluşturulduğunu doğrulamak için sanal makinelere NGINX yükleyin.
  3. Arka uç sunucularını arka uç havuzuna ekleyin.

Sanal makine oluşturma

  1. Azure portal Kaynak oluştur'u seçin. Kaynak oluştur penceresi görüntülenir.

  2. Sanal makine'nin altında Oluştur'u seçin.

  3. Aşağıdaki sanal makine ayarları için Temel Bilgiler sekmesine bu değerleri girin:

    • Kaynak grubu: Kaynak grubu adı olarak myResourceGroupAG öğesini seçin.
    • Sanal makine adı: Sanal makinenin adı olarak myVM girin.
    • Görüntü: Ubuntu Server 20.04 LTS - 2. Nesil.
    • Kimlik doğrulama türü: Parola
    • Kullanıcı adı: Yönetici kullanıcı adı için bir ad girin.
    • Parola: Yönetici parolası için bir parola girin.
    • Genel gelen bağlantı noktaları: Hiçbiri'ni seçin.
  4. Diğer varsayılanları kabul edin ve ardından İleri: Diskler'i seçin.

  5. Diskler sekmesi varsayılanlarını kabul edin ve ardından İleri: Ağ'ı seçin.

  6. sekmesinde Sanal ağ için myVNet'in seçili olduğunu ve AltağınmyBackendSubnet olarak ayarlandığını doğrulayın.

  7. Genel IP için Yok'u seçin.

  8. Diğer varsayılan değerleri kabul edin ve ardından İleri: Yönetim'i seçin.

  9. İleri: İzleme'yi seçin, Önyükleme tanılamasınıDevre Dışı Bırak olarak ayarlayın. Diğer varsayılan değerleri kabul edin ve gözden geçir ve oluştur'u seçin.

  10. Gözden geçir + oluştur sekmesinde ayarları gözden geçirin, doğrulama hatalarını düzeltin ve oluştur'u seçin.

  11. Devam etmeden önce sanal makine oluşturma işleminin tamamlanmasını bekleyin.

Test için NGINX yükleme

Bu örnekte, NGINX'i yalnızca Azure'ın uygulama ağ geçidini başarıyla oluşturduğunu doğrulamak için sanal makinelere yüklersiniz.

  1. Bash Cloud Shell açın. Bunu yapmak için, Azure portal üst gezinti çubuğundan Cloud Shell simgesini seçin ve ardından açılan listeden Bash'i seçin.

    Bash Cloud Shell gösteren ekran görüntüsü.

  2. NGINX'i sanal makineye yüklemek için aşağıdaki komutu çalıştırın:

     az vm extension set \
     --publisher Microsoft.Azure.Extensions \
     --version 2.0 \
     --name CustomScript \
     --resource-group myResourceGroupAG \
     --vm-name myVM \
     --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
    
  3. daha önce tamamladığınız bu adımları kullanarak ikinci bir sanal makine oluşturun ve NGINX'i yükleyin. Sanal makine adı ve cmdlet'in --vm-name ayarı için myVM2 kullanın.

Arka uç havuzuna arka uç sunucuları ekleme

  1. Tüm kaynaklar'ı ve ardından myAppGateway'i seçin.

  2. Soldaki menüden Arka uç havuzları'nı seçin.

  3. myBackendPool öğesini seçin.

  4. Hedef türü'nin altında açılan listeden Sanal makine'yi seçin.

  5. Hedef'in altında, açılan listeden myVM için ilişkili ağ arabirimini seçin.

  6. myVM2 için yineleyin.

    Arka uç sunucuları ekleme

  7. Kaydet’i seçin.

  8. Sonraki adıma geçmeden önce dağıtımın tamamlanmasını bekleyin.

Uygulama ağ geçidini test etme

Uygulama ağ geçidini oluşturmak için NGINX gerekli olmasa da, Azure'ın uygulama ağ geçidini başarıyla oluşturup oluşturmadığını doğrulamak için bunu yüklemişsinizdir. Uygulama ağ geçidini test etmek için web hizmetini kullanın:

  1. Uygulama ağ geçidinin genel IP adresini Genel Bakış sayfasında bulabilirsiniz. Genel Bakış sayfasındaki Application Gateway genel IP adresinin ekran görüntüsü.

    İsterseniz Tüm kaynaklar'ı seçebilir, arama kutusuna myAGPublicIPAddress girebilir ve arama sonuçlarında bunu seçebilirsiniz. Azure genel IP adresini Genel Bakış sayfasında görüntüler.

  2. Genel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın.

  3. Yanıtı denetleyin. Geçerli bir yanıt, uygulama ağ geçidinin başarıyla oluşturulduğunu ve arka uçla başarıyla bağlanabildiğini doğrular.

    Uygulama ağ geçidini test etme işleminin ekran görüntüsü.

Kaynakları temizleme

Uygulama ağ geçidiyle oluşturduğunuz kaynaklara artık ihtiyacınız kalmadığında kaynak grubunu kaldırın. Kaynak grubunu kaldırarak uygulama ağ geçidini ve ilgili tüm kaynaklarını da kaldırabilirsiniz.

Kaynak grubunu kaldırmak için:

  1. Azure portal sol menüsünde Kaynak grupları'nı seçin.
  2. Kaynak grupları sayfasında, listede myResourceGroupAG araması yapın ve seçin.
  3. Kaynak grubu sayfasında Kaynak grubunusil'i seçin.
  4. KAYNAK GRUBU ADI YAZIN için myResourceGroupAG yazın ve Sil'i seçin.

Sonraki adımlar