Azure Application Gateway’in artık karşılıklı aktarım katmanı güvenliğini (mTLS) ve çevrimiçi sertifika durumu protokolünü (OCSP) desteklediğini paylaşmaktan mutluluk duyuyorum. Bu, bulut iş yükleri için daha güvenli iletişim seçenekleri arayan müşterilerimizin temel sorularından biriydi. Burada, mTLS’nin ne olduğunu, nasıl çalıştığını, ne zaman dikkate alınacağını ve Application Gateway’de nasıl doğrulanacağını ele alıyorum.

mTLS nedir?

Karşılıklı aktarım katmanı güvenliği (TLS), şifreli bir TLS bağlantısı kurmadan önce her iki tarafın da birbirlerinin dijital sertifikalarını doğruladığı ve kimliğini doğruladığı bir iletişim işlemidir. mTLS, standart TLS protokolünün bir uzantısıdır ve TLS üzerinden ek bir güvenlik katmanı sağlar. Geleneksel TLS ile sunucunun kimliği doğrulanır, ancak istemci doğrulanmaz. Bu, istemci veya kullanıcı bunu yapmaya yetkili olmasa bile, herkesin sunucuya bağlanabileceği ve güvenli bir bağlantı başlatabileceği anlamına gelir. mTLS kullanarak, güvenli bağlantıyı kurmadan önce hem istemcinin hem de sunucunun birbirlerinin kimliğini doğrulaması gerektiğinden emin olabilirsiniz, bu da her iki tarafta da yetkisiz erişimin mümkün olmadığından emin olacaktır. mTLS sıfır güven çerçevesinde çalışır: asla güvenmeyin, her zaman doğrulayın. Bu çerçeve, hiçbir bağlantıya otomatik olarak güvenilmemesini sağlar.

mTLS nasıl çalışır?

mTLS, hem istemcinin hem de sunucunun kimliğini doğrulamak için güvenli dijital sertifikaların ve özel anahtarların bir birleşimini kullanarak çalışır. İstemci ve sunucunun her birinin, güven ve güvenli bağlantı kurmak için kullanılan kendi dijital sertifikaları ve özel anahtarları vardır. İstemci sunucunun sertifikasını doğrular ve sunucu istemcinin sertifikasını doğrular; bu, her iki tarafın da iddia ettikleri kişi olmasını sağlar.

TLS ve mTLS’nin farkı nedir?

TLS ve mTLS protokolleri, istemci ve sunucu arasındaki ağ iletişimini şifrelemek için kullanılır. TLS protokolünde, şifreli iletişimi kurmadan önce yalnızca istemci sunucunun geçerliliğini doğrular. Sunucu, TLS el sıkışması sırasında istemciyi doğrulamaz. Öte yandan mTLS, istemci ile sunucu arasında karşılıklı kimlik doğrulaması gerektirerek ek bir güvenlik katmanı ekleyen bir TLS çeşididir. Bu, şifreli bağlantı kurulmadan önce hem istemcinin hem de sunucunun geçerli bir sertifika sunması gerektiği anlamına gelir. Bu, istemci ve sunucunun orijinalliğini doğrulayarak ek bir güvenlik katmanı eklediği için mTLS’yi TLS’den daha güvenli hale getirir.

TLS çağrı akışı:

TLS (Serbest T

Yukarıdaki akış diyagramı, İstemci ile Uygulama GW arasında TLS bağlantısı kurmada yer alan adımları göstermektedir

mTLS çağrı akışı:

mTLS

 

Yukarıdaki akış diyagramı, İstemci ve Uygulama GW arasında karşılıklı TLS (mTLS) bağlantısı kurmaya dahil olan adımları göstermektedir

mTLS ne zaman dikkate alınmalı?

  • mTLS, kuruluşların sıfır güven yaklaşımını izlediği durumlarda kullanışlıdır. Bu şekilde, bir sunucu, sunucu bilgilerini kullanmak isteyen belirli istemcinin veya aygıtın geçerliliğini sağlamalıdır. Örneğin, bir kuruluş, çalışanların veya müşterilerin finansal veriler, tıbbi kayıtlar veya kişisel bilgiler gibi çok hassas bilgilere erişmek için kullanabilecekleri bir web uygulamasına sahip olabilir. Kuruluş, mTLS kullanarak yalnızca yetkili çalışanların, istemcilerin veya cihazların web uygulamasına ve içerdiği hassas bilgilere erişebilmesini sağlayabilir.
  • Nesnelerin İnterneti (IoT) cihazları mTLS ile birbirleriyle konuşur. Her IoT cihazı, kimliğinin doğrulanması için birbirine kendi sertifikasını sunar.
  • Çoğu yeni uygulama mikro hizmet tabanlı mimari üzerinde çalışmaktadır. Mikro hizmetler, uygulama programlama arabirimleri (API) aracılığıyla birbirleriyle iletişim kurar, mTLS kullanarak API iletişiminin güvenli olduğundan emin olabilirsiniz. Ayrıca, mTLS kullanarak kötü amaçlı API’lerin API’lerinizle iletişim kurmadığından emin olabilirsiniz
  • Kaba kuvvet veya kimlik bilgisi doldurma gibi çeşitli saldırıları önlemek için. Bir saldırgan sızdırılmış bir parola alabilirse veya bir BOT rastgele parolalarla içeri girmeye çalışırsa, bunun hiçbir faydası olmaz – geçerli bir TLS sertifikası olmadan saldırgan TLS el sıkışmasını geçiremez.

Yüksek düzeyde artık mTLS’nin ne olduğunu ve sıfır güven güvenlik modelini izleyerek nasıl daha güvenli iletişim sunduğunu anlıyorsunuz. Application Gateway’de yeniyseniz ve Application Gateway’de TLS’yi hiç ayarlamadıysanız APPGW ve Arka Uç Sunucuları oluşturmak için bağlantıyı izleyin. Bu öğreticide, tanıtım amacıyla otomatik olarak imzalanan sertifikalar kullanılır. Üretim ortamı için, genel olarak güvenilen CA imzalı sertifikalar kullanın. Uçtan uca TLS ayarlandıktan sonra, mTLS’yi ayarlamak için bu bağlantıyı takip edebilirsiniz. Bu kurulumu test etmek için önkoşul, makinenizde OpenSSL ve curl aracının yüklü olmasıdır. İstemci sertifikasına ve istemci özel anahtarına erişiminiz olmalıdır.

mTLS Application Gateway’in nasıl test edileceğini inceleyelim. Aşağıdaki komutta, Sertifika Doğrulama iletisi için imza oluşturmak üzere istemcinin özel anahtarı kullanılır. Özel anahtar, mTLS el sıkışması sırasında istemci aygıtından ayrılmaz.

curl/openssl komutunu kullanarak mTLS kurulumunuzu doğrulama

  • curl -vk https://<yourdomain.com> –key client.key –cert client.crt <Yourdomain.com> -> Etki alanı adresiniz
    client.key -> İstemcinin özel anahtarı
    client.crt
    -> İstemci sertifikası

Resim4

Yukarıdaki çıktıda, mTLS’nin doğru şekilde ayarlanıp ayarlanmadığını doğruluyoruz. Doğru ayarlanmışsa, TSL el sıkışması sırasında sunucu istemci sertifikasını ister. Ardından, el sıkışmada, istemcinin Sertifika Doğrulama iletisiyle birlikte bir istemci sertifikası sunup sunmadığını doğrulamanız gerekir. İstemci sertifikası geçerli olduğundan, el sıkışma başarılı oldu ve uygulama bir HTTP “200” yanıtıyla yanıt verdi.

İstemci sertifikası, adım 8’deki bağlantıya göre karşıya yüklenen kök CA dosyası tarafından imzalanmamışsa, el sıkışma başarısız olur. İstemci sertifikası geçerli değilse alacağımız yanıt aşağıdadır.

Resim5

Alternatif olarak, mTLS bağlantısını bir OpenSSL komutuyla doğrulayabilirsiniz.

  • openssl s_client -connect <IPaddress> :443 -key client.key -cert client.crt

Resim6

SSL bağlantısı kurulduktan sonra aşağıda yazılı olan tür:

EDİNİN / HTTP/1.1

Ana bilgisayar: <Ana bilgisayarın IP’si>

Resim7

Yanıt kodunu (200) almanız gerekir. Bu, karşılıklı kimlik doğrulamanın başarılı olduğunu doğrular.

Son

Umarım şimdi mTLS’nin ne olduğunu, hangi sorunu çözdüğünü, Application Gateway’de nasıl kurulacağını ve kurulumun nasıl doğrulanacağını öğrenmişsinizdir. Müşterimize yukarıda tartıştığımız çeşitli kullanım durumları için ekstra bir güvenlik katmanı sağlayan Application gateway’in birkaç harika özelliğinden biridir. Unutulmaması gereken bir nokta, şu anda Application Gateway’in yalnızca ön uçta (istemci ile Application gateway arasında) mTLS’yi desteklemesidir. Arka uç sunucunuz, Application Gateway ile arka uç sunucusu arasındaki SSL anlaşması sırasında bir istemci sertifikası bekliyorsa, bu istek başarısız olur.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Fill out this field
Fill out this field
Lütfen geçerli bir e-posta adresi girin.
You need to agree with the terms to proceed

Menü