Mutual TLS authentication in Azure Front Door (preview)

Şunlar için geçerlidir: ✔️ Front Door Premium

Important

Azure Front Door'ta Mutual TLS şu anda önizleme aşamasında. Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Karşılıklı TLS (mTLS) doğrulaması veya istemci kimlik doğrulaması, trafiğin istemci ile sunucu arasında her iki yönde güvenli ve güvenilir olmasını sağlar. Mutual TLS kullanarak, Azure Front Door'u geçerli bir istemci sertifikası sunarak istemci kimliğini doğrulamak için yapılandırabilirsiniz. Karşılıklı TLS doğrulama, müşterileri güvenli bir şekilde tanımlamanız ve yönetmeniz gereken durumlarda faydalıdır; örneğin işletmelerden işletmelere (B2B) uygulamalar, Nesnelerin İnterneti (IoT) uygulamaları, bankacılık uygulamaları, VPN'ler, kurumsal ağlar ve daha fazlası.

Mutual TLS'yi Azure Front Door tarafından desteklenen diğer yetkilendirmeler ve kimlik doğrulama yöntemleriyle birlikte kullanabilirsiniz.

Note

Azure Front Door Premium karşılıklı TLS desteğini verir.

Karşılıklı TLS doğrulama modları

  • mTLS: istemci sertifikası ve doğrulama gerekmiyor. Bu seçenek varsayılandır.

  • mTLS'i etkinleştirin:

    • Müşteri sertifikası gerekli ve doğrulanmıştır: Müşteri sertifikası zorunludur. Azure Front Door tam doğrulama işlemlerini yapar; istemci sertifikasının varlığını, geçerliliğini, iptal ve Root CA zinciri ile SAN/CN listesini kontrol eder. Azure Front Door, isteği başlıkla X-Azure-ClientCertificate birlikte orijine yönlendirir. Bu seçenek, mTLS etkinleştirildiğinde varsayılan senaryodur.

    • Gerekli ancak doğrulanmayan istemci sertifikası: Müşteri sertifikası zorunludur. Azure Front Door başka doğrulama yapmaz. Azure Front Door, sertifika içermeyen talepleri düşürüyor. Orijin tüm doğrulamaları gerçekleştirmelidir. Varsayılan olarak, Azure Front Door bu modda başlıklar aracılığıyla sertifikadan backend'e geçer.

      • İstemci sertifikası doğrulaması sunulursa: Müşteri sertifikası zorunlu değildir. Azure Front Door, bir istemci sertifikası olduğunda tam doğrulama yapar ve istemci sertifikasını başlık X-Azure-ClientCertificate aracılığıyla kaynak noktasına iletir. İstemci bir istemci sertifikası sunmazsa, Azure Front Door isteği daha fazla doğrulama için kaynak noktasına iletir.
    • mTLS geçişi orijine: Müşteri sertifikası gerekmiyor. Azure Front Door herhangi bir doğrulama yapmaz. Orijin tüm doğrulamaları gerçekleştirmelidir.

İstemci kimlik doğrulaması doğrulaması

Azure Front Door'u istemci sertifikasını doğrulamak için yapılandırmak için yaptığınızda, aşağıdaki bilgileri kontrol eder:

  • Mevcut tarih, sertifika Not After tarihinden küçüktür.

  • Mevcut tarih, sertifika Not Before tarihinden büyük veya eşittir.

  • Sertifika Genişletilmiş Anahtar Kullanımı mevcut değildir veya varsa, istemci kimlik doğrulama OID'sini içerir.

  • Geçerlilik ve bütünlük, sertifikanın formatı değiştirilmemiş.

  • Sertifika zincirini kontrol edin; eğer istemci sertifikası belirli alan adı için güvenilir bir veren tarafından verilmişse, sertifikaların CN'si (sertifika adı) kesintisiz bir zincir oluşturur.

Ayrıca isteğe bağlı doğrulamaları da yapılandırabilirsiniz, örneğin:

  • Azure Front Door'a yüklenen İzinli SAN listesine karşı istemci sertifikasının SAN/CN uzantısını doğrula. Azure Front Door özel alan alan bilgisayar adı, karşılıklı TLS doğrulaması için geçerli sayılması için bu listeye açıkça dahil edilmelidir. SAN önce doğrulanır, eğer eşleşme yoksa veya SAN boş değilse, CN doğrulanır. SAN veya CN'den biri Azure Front Door'ta yapılandırılmış izin verilen SAN listesiyle eşleşirse, doğrulama başarılı olur.

  • İstemci sertifikasının iptal durumunu OCSP (Online Certificate Status Protocol) kullanarak kontrol edin.

Note

Wildcard alan adı Azure Front Door Allowed Domain listesinde desteklenmiyor. Eğer istemci sertifikasının SAN/CN'sinde joker alan alanı varsa, Azure Front Door izin listesinde bir alt alan düzeyi eşleşiyorsa, doğrulama başarılı olur.

Sertifika iptal denetimi

Azure Front Door, sertifikanın iptal edilmesi statüsüne karşı doğrulamayı destekler. Varsayılan olarak etkindir. Doğrulama sırasında, Azure Front Door, istemci tarafından sunulan sertifikayı tanımlı OCSP yanıtlayıcısını kullanarak Authority Information Access (AIA) uzantısında bakar. İstemci sertifikası iptal edilirse, Azure Front Door istemciye HTTP 403 durum kodu ve sebep ile yanıt verir. Sertifika geçerliyse, Azure Front Door talebi işlemeye devam eder.

mTLS açık ve özel sertifikaları destekliyor mu?

Azure Front Door şu anda hem tanınmış kamu sertifika otoriteleri hem de özel kurulan sertifika otoriteleri tarafından verilen sertifikaları desteklemektedir.

  • Tanınmış sertifika otoritelerinden verilen CA sertifikaları: Güvenilir sertifika depoları genellikle ara ve kök sertifikalar içerir; bu sertifikalar, cihazda çok az veya hiç ekstra yapılandırma olmadan güvenilir bağlantılar sağlar.

  • Kuruluşun oluşturduğu sertifika otoritelerinden verilen CA sertifikaları: Kuruluşunuz genellikle bu sertifikaları özel olarak verir ve diğer kuruluşlar onlara güvenmez. Müşterilerin zincir güven kurabilmesi için ara ve kök sertifikalarını güvenilir sertifika depolarına aktarmalısınız.

Ancak, Azure Front Door, istemci sertifikalarının istemci kimlik doğrulaması için tasarlandığından emin olmak amacıyla Genişletilmiş Anahtar Kullanımı (EKU) kontrolleri yapar. Sektördeki değişiklikler nedeniyle, kamu sertifika otoriteleri (CA'lar) kısa sürede gerekli EKU ile istemci kimlik doğrulama sertifikaları vermeyi durdurur.

Azure Front Door'ta mTLS senaryoları için doğru EKU ile sertifikalar vermeye devam edebilen özel CA'lara geçiş. Bu geçiş, kesintisiz ve güvenli istemci kimlik doğrulamasını sağlar.

Ön Kapı Alan Alanlarında mTLS uygulamadan önce önemli tasarım hususları

  • Yeni alan ve yeni uç noktalarda gereksiz kesintileri önlemek için mTLS'i etkinleştirin.

  • mTLS'i etkinleştirdiğinizde, rotalarda önbellek yapmayı etkinleştiremezsiniz veya önbellekle motor rotasını geçersiz kılmayı etkinleştiremezsiniz. Bu kısıtlama, önbelleklenmiş içeriğin kimlik doğrulamasız istemcilere geri verilmesini engeller.

  • mTLS alan fonksiyonel olarak çalışır. Ancak, kötü niyetli kullanıcıların mTLS'yi atlayıp kaynağınıza ulaşamadığı durumlarda güvenliği sağlamak için, Azure Front Door uç noktasında mTLS kontrolü vardır. Özel bir alan alanında mTLS etkinleştirmeden önce, özel alan adının bağlanacağı Azure Front Door uç noktasında önce mTLS'i etkinleştirin. mTLS içeren tüm alan adları yalnızca bu uç noktalar altındaki rotalarla ilişkilendirilebilir. Karışık karşılıklı kimlik doğrulama durumu olan alan adlarını aynı uç noktaya bağlayamazsınız.

  • Front Door uç noktasında mTLS etkinleştirildiğinde Azure Front Door uç nokta alanını rotalar ile ilişkilendiremezsiniz. Tam tersine, uç nokta alanını uç nokta altındaki tüm rotalardan ayırmanız gerekir ve mTLS'i uç noktada etkinleştirebilirsiniz.

  • Mevcut Azure Front Door alanında mTLS'i açarsanız aşağıdaki değişiklikleri yapmanız gerektiği için kesinti süresi var. mTLS'i yeni özel alan adlarına etkinleştirin.

  1. mTLS etkin olan yeni bir uç nokta oluşturun veya mTLS etkin olan herhangi bir Azure Front Door uç noktasını kullanın.

  2. Özel alan adını, mTLS etkin olmayan mevcut rotalar ve uç noktadan ayırın.

  3. Sonra özel alan adını uç noktaya yeniden ilişkilendirin.

  • Bir alan üzerinde karşılıklı kimlik doğrulama etkinleştirildiğinde, devre dışı bırakmak da kesintiye neden olur.

    1. Mevcut mTLS özellikli uç nokta altındaki tüm rotalardan özel alan adını ayırın.

    2. Alan üzerinde mTLS'i devre dışı bırakın.

    3. Domain'i mTLS etkinleştirilmeden başka bir uç noktaya yeniden ilişkilendirin.

  • Geçerli bir Ön Kapıdan geldiğini doğrulamak için erişim kontrolünü kaynak konumunuza ekleyin. Daha fazla bilgi için bkz . Azure Front Door çıkış noktalarına yönelik trafiğin güvenliğini sağlama.

  • CA Sertifika Yönetimi: Azure Key Vault üzerinden bir root ve en fazla üç ara bağlantı (PEM, <25 KB) yükleyin. Otomatik rotasyon yok, ancak çift kala desteği sorunsuz devretme sağlıyor.

  • Azure Front Door, istemci sertifikaları üzerinde Genişletilmiş Anahtar Kullanımı (EKU) kontrolleri yapar ve bu sertifikaların istemci kimlik doğrulaması için tasarlandığından emin olur; bu önemli bir güvenlik önlemidir. Ancak sektördeki değişiklikler nedeniyle, kamu Sertifika Otoriteleri (CA'lar) yakında gerekli EKU ile istemci kimlik doğrulama sertifikaları vermeyi durduracaktır. Azure Front Door'ta mTLS senaryoları için doğru EKU ile sertifikalar vermeye devam edebilecek özel CA'lara geçiş, böylece kesintisiz ve güvenli istemci kimlik doğrulaması sağlanır.

  • Müşteriler OCSP'den uzaklaşıyor. Front Door sertifikasının iptal kontrolü sırasında, Azure Front Door şu anda sadece OCSP'yi kontrol ediyor.

  • İstemci aşağıdaki başlıklarla istek gönderirse, Azure Front Door başlıkları kaldırır ve isteği orijina iletir.

    • X-Azure-ClientCertEndDate
    • X-Azure-ClientCertFingerprint
    • X-Azure-ClientCertIssuer
    • X-Azure-ClientCertSerial
    • X-Azure-ClientCertStartDate
    • X-Azure-ClientCertSubject
    • X-Azure-ClientCertVerify
    • X-Azure-ClientCertificate

Çözüm hangi metrikleri ve log alanlarını ortaya çıkarıyor?

Çözüm aşağıdaki metrikleri ortaya koyar:

  • mTLS isteği sayısı.

  • mTLS talepleri başarısız oldu.

  • mTLS hata istekleri, hata türleri, SNI ana isimleri ve TLS protokollerine göre ayrılmıştır.

Konfigürasyon kota sınırı

  • İstemci CA sertifika zinciri bir kök ve en fazla üç ara nokta içerebilir.

  • CA sertifikaları PEM kodlu ve 25 KB'ın altında olmalıdır.

  • Otomatik rotasyon desteklenmiyor.

  • Süresi dolması veya iptal sırasında kesintisiz devretme için iki CA sertifikası ekleyebilirsiniz. Azure Front Door, çalışma zamanı sırasında doğrulama için geçerli CA sertifikasını kullanır.

Yapılandırma adımları

  1. Sınırlamalar hakkında daha fazla bilgi edinmek için önemli tasarım hususları bölümüne bakabilirsiniz. Yeni uç nokta ve alan bölgelerinde mTLS'in etkinleştirilmesi önerilir.

  2. Azure portalına giriş yapın ve Front Door profilinizi arayın.

  3. Güvenlik altında, Mutual TLS CA sertifikalarını seçin. Geçmişte yüklediyseniz mevcut mTLS sertifika zincirlerinizin listesini görüyorsunuz.

  4. + Ekle'yi seçin. Erişiminiz olan Key Vault ve Secret nesneleri görüyorsunuz. mTLS el sıkışmasının açık anahtar parçası olarak kullanmak istediklerinizi seçin.

  5. Ayarlar bölümünden Ön Kapı Yöneticisi'ni seçin. Uç noktalarınızın listesini görüyorsunuz.

  6. + Bir uç nokta ekle seçeneğini seçin ve Enforce mutual TLS'i işaretle.

    Note

    .z01.azurefd.net etkin olduğunda, Azure Front Door varsayılan alan adını (örneğin, ) bu uç noktadaki rotalara alan adı olarak ekleyemezsiniz. Rotalar oluşturmadan önce mTLS etkinleştirilmiş özel alan adları oluşturmak için bir sonraki adıma geçin.

  7. Ayarlar'ın altında Etki Alanları'nı seçin. Mevcut özel alan adlarınızın listesini görüyorsunuz.

  8. + Ekle'yi seçin.

  9. Alan adı sayfası ekle bölümünde alan adını yapılandırın, ardından Gelişmiş ayarlar'a kaydırın ve karşılıklı TLS etkinleştir seçeneğini seçerek alan adı için karşılıklı TLS ayarları yapın.

  10. Alan adını oluşturmak için Ekle seçeneğini seçin.

    1. Karşılıklı TLS modu: dört seçenekten birini seçin

      • İstemci sertifikası gerekli ve doğrulanmış
      • İstemci sertifikası gerekli ancak doğrulanmamış
      • Sunulduğunda istemci sertifikası doğrulaması
      • mTLS geçiş orijinine
    2. Select CA cert when fillated for Azure Front Door to validate client certificate against.

    3. Sertifika İptal Kontrolünü etkinleştirin.

    4. Kontrol edilecek SAN/CN listesini ekleyin. Azure Front Door özel alan alan bilgisayar adı, karşılıklı TLS doğrulaması için geçerli sayılması için bu listeye açıkça dahil edilmelidir.

  11. Başarılı bir alan alanı oluşturulduktan sonra, Front Door Manager altında daha önce oluşturulan uç noktaya gidin ve bu alan adını doğru kaynak grubuna bağlamak için bir yol ekleyin.

  12. mTLS'in beklendiği gibi çalışıp çalışmadığını kontrol edin. Bu durumu, yerel host IP'sini Azure Front Door IP'lerinden birine bağlayarak kontrol edebilirsiniz.

  13. Başarılı doğrulamadan sonra, DNS'deki özel alan CNMAE kaydını Azure Front Door endpoint'e yönlendirecek şekilde güncelleyin.

    Backend/origin erişimini yalnızca Azure Front Door'tan gelen trafiği kabul edecek şekilde kısıtlayın, bu da doğrudan orijina erişerek mTLS'yi atlamayı engeller. Daha fazla bilgi için bkz . Azure Front Door çıkış noktalarına yönelik trafiğin güvenliğini sağlama.

Bir alan adında mevcut mTLS yapılandırmasını düzenlemek için, Alan Adı sayfasından alan adını seçin. Edit a domain sayfası mevcut mTLS yapılandırmasıyla birlikte görünüyor.

Note

Özel alan üzerinde mTLS'i devre dışı bırakmak kesintiye yol açabilir, çünkü özel alan adını rota ve uç noktadan ayırıp ardından mTLS'i alan üzerinde devre dışı bırakmanız gerekir. Kesinti süresini azaltmanın bir yolu, Azure Front Door'ta değişiklikler yaparken trafiği orijina yönlendirebilmenizdir.

Unexpected 403 (Forbidden) from Azure Front Door for mTLS request

Daha fazla tanı bilgisi için, isteği içeren başlığı X-Azure-DebugInfo:1 Azure Front Door'a iletebilirsiniz. Yanıt için, Front Door hata başlığını X-Azure-Externalerror, ve hatanın ne olabileceğini gösteren bir değeri döndürür. Aşağıdaki tablo hata değerlerini ve anlamlarını listeler.

Error Description
ClientCertExpired Doğrulama için sunulan istemci sertifikasının süresi dolmuştur.
ClientCertSelfSigned İstemci sertifikası kendi kendine imzalanır; veren ve yaprak aynı sertifikadır.
ClientCertIssuerNotFound Müşteri sertifikasının vericisi bulunamıyor.
ClientCertTooLongChain Müşteri sertifika zinciri, yaprak sertifikası da dahil olmak üzere beşten fazla sertifika içerir.
ClientCertIncorrectPurpose Sertifika, EKU'da istemci doğrulaması için tasarlanmamıştır.
ClientCertRootCAUntrusted Sertifikanın kök Sertifika Otoritesine güvenilmez.
ClientCertIssuerSubjectMismatch Sertifika, konu adı veren kurumun adıyla uyuşmadığı için reddedildi.
ClientCertCNSANMismatch CN SAN istemci sertifikası listesi, Azure portalında mTLS yapılandırması sırasında belirtilen izin verilen FQDN'lerle eşleşmedi.
ClientCertMissing Client sertifikası Azure Front Door'a sunulmuyor.
ClientCertRevoked İstemci sertifikası veya veren sertifikası iptal edilir.
ClientHeaderTooLong İstemci istekle çok uzun bir başlık gönderdi.
ClientCertInvalid Genel istemci sertifikası hatası.