TLS/SSL hakkında

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Önceki sürümü Güvenli Yuva Katmanı (SSL) olan Taşıma Katmanı Güvenliği (TLS), bir web sunucusu ile tarayıcı veya uygulama gibi bir web istemcisi arasında şifrelenmiş bir bağlantı oluşturmaya yönelik standart güvenlik teknolojisidir. Şifrelenmiş bir bağlantı, sunucu ile istemci arasında geçen tüm verilerin gizli kalmasını sağlar. TLS'yi kullanmak için istemci, şifrelenmemiş HTTP protokolü yerine şifrelenmiş HTTPS protokolünü kullanarak sunucuya güvenli bir istek gönderir.

Edge, hem bulut hem de şirket içi dağıtımda tek yönlü TLS ve çift yönlü TLS'yi destekler (desteklenen TLS sürümleri için Desteklenen yazılımlar ve desteklenen sürümler bölümüne bakın). Tek yönlü TLS, TLS istemcisinin TLS sunucusunun kimliğini doğrulamasını sağlar. Örneğin, bir Android telefonda (istemci) çalışan bir uygulama, Edge API'lerinin (sunucu) kimliğini doğrulayabilir.

Apigee, iki yönlü veya istemci TLS kullanarak daha güçlü bir kimlik doğrulama biçimini de destekler. Genellikle, uçtan uca güvenliği artırmak ve verilerinizi istemci sahteciliği veya ortadaki adam saldırıları gibi istemci saldırılarına karşı korumak için iki yönlü TLS uygularsınız. İki yönlü TLS'de istemci, sunucunun kimliğini doğruladıktan sonra sunucu, istemcinin kimliğini doğrular.

TLS terminolojisi

TLS'yi yapılandırmadan önce aşağıdaki önemli terimleri ve kavramları bilmeniz gerekir:

Terim

Tanım

CA

Sertifika yetkilisi. Sertifika vermek ve sertifikanın gerçekliğini doğrulamak için kullanılan Symantec veya VeriSign gibi güvenilir bir kuruluş. Kendinden imzalı sertifika olarak adlandırılan bir sertifika türü için CA gerekmez.

Sertifika zinciri

Genellikle CA'nızın kök özel anahtarıyla imzalanmış bir sertifikanız olmaz. Bunun yerine, bir zincir oluşturan bir veya daha fazla ara sertifikayla birlikte sertifikanız vardır. Zincirdeki son ara sertifika genellikle CA'nın kök özel anahtarıyla imzalanır.

CSR

Sertifika İmzalama İsteği CSR, TLS sunucusunda özel anahtara göre oluşturulan bir dosyadır. CSR, ortak anahtarı ve kuruluşun adı, konumu ve alan adı gibi diğer bilgileri içerir. CA, TLS sertifikası oluşturmak için CSR'yi imzalar. Genellikle, süresi dolmuş bir sertifikanız olduğunda ve bunu yenilemek istediğinizde CSR oluşturursunuz.

DER

Ayrılmış Kodlama Kuralları. DER biçimi, ASCII PEM biçimi yerine sertifikanın ikili biçimidir. Bazen .der dosya uzantısına sahip olsa da genellikle .cer dosya uzantısına sahiptir. DER .cer dosyası ile PEM .cer dosyası arasındaki farkı anlamanın tek yolu, dosyayı bir metin düzenleyicide açıp BEGIN ve END ifadelerini aramaktır. Tüm sertifika ve özel anahtar türleri DER biçiminde kodlanabilir. DER genellikle Java platformlarında kullanılır.

Anahtar takma adı

Anahtar takma adı, anahtar deposundaki bir anahtar deposu girişini (TLS sertifikası ve karşılık gelen özel anahtar) benzersiz şekilde tanımlar.

Apigee Edge'de KeyAlias, kullanıcı arayüzünü veya API'yi kullanarak sertifikayı/anahtarı anahtar depolarına yüklediğinizde alias olarak adlandırılır.

Anahtar deposu

Anahtar deposu, bir veya daha fazla TLS sertifikası ve bir istemci ile sunucu arasındaki TLS el sıkışması sırasında varlığı tanımlamak için kullanılan ilgili özel anahtarı içeren bir depodur.

Kuzeye giden bağlantıda yönlendirici, sunucu görevi görür ve sertifikası Apigee Edge'deki anahtar deposunda saklanır.

Güney yönlü bağlantıda, İleti İşleyici istemci, arka uç sunucusu ise sunucu olarak işlev görür. İstemci sertifikası ve özel anahtarı, Apigee Edge'deki anahtar deposunda saklanır.

P7B

PKCS #7 veya P7B biçimi genellikle Base64 ASCII biçiminde saklanır ve .p7b veya .p7c dosya uzantısına sahiptir. P7B sertifikaları -----BEGIN PKCS7----- ve -----END PKCS7----- ifadelerini içerir. P7B dosyası yalnızca sertifikaları ve zincir sertifikalarını içerir, özel anahtarı içermez.

PEM

Privacy Enhanced Mail (PEM) biçimi, ikili Distinguished Encoding Rules (DER) biçiminin Base64 kodlaması olan metin tabanlı bir ASCII biçimidir. PEM sertifikaları herhangi bir metin düzenleyicide açılabilir ve gerçek sertifika içeriği, -----BEGIN CERTIFICATE----- ve -----END CERTIFICATE----- ifadeleri arasında sınırlandırılır.

Sertifika, sertifika zinciri veya özel anahtar depolamak için X.509 biçimine uygundur. Sertifikanız veya özel anahtarınız PEM dosyasıyla tanımlanmamışsa OpenSSL gibi yardımcı programları kullanarak PEM dosyasına dönüştürebilirsiniz.

PKCS #12/PFX PKCS #12 veya PFX biçimi, sunucu sertifikasını, tüm ara sertifikaları ve özel anahtarı tek bir şifrelenebilir dosyada depolamak için kullanılan ikili bir biçimdir. PFX dosyaları genellikle .pfx ve .p12 gibi uzantılara sahiptir. PFX dosyaları, sertifikaları ve özel anahtarları içe ve dışa aktarmak için genellikle Windows makinelerinde kullanılır.

Özel anahtar

Verilerin şifresini çözmek için TLS sunucusunda kullanılır. Özel anahtar yalnızca TLS sunucusunda bulunur ve TLS istemcileriyle paylaşılmaz.

Ortak anahtar

TLS istemcisinden TLS sunucusuna gönderilen verileri şifrelemek için kullanılır. Ortak anahtar, sertifikaya dahil edilir. Tüm TLS istemcilerinde sunucunun ortak anahtarının bir kopyası bulunur.

References Referanslar, anahtar depoları için bir düzeyde yönlendirme sağlar. Bu nedenle, aynı referans ve anahtar takma adı korunmaya devam ettiği sürece anahtar deposu değişiklikleri için sanal ana makine güncellemesi gerekmez. Bu sayede, değişiklikleri kendiniz yapabilir ve Apigee Destek Ekibi'ne olan bağımlılığınızı azaltabilirsiniz.

Kendinden imzalı sertifika

Güvenilir bir CA tarafından imzalanmamış sertifika. Düzenleyen ve konu aynıdır. İçerdikleri ortak anahtarla eşleşen özel anahtarla imzalanırlar.

SNI

Sunucu Adı Göstergesi. Bu özellik, birden fazla HTTPS hedefinin aynı IP adresi ve bağlantı noktasından sunulmasına olanak tanır. Bu hedeflerin aynı sertifikayı kullanması gerekmez.

TLS sertifikası

TLS işleminde bir tüzel kişiliği tanımlayan dijital dosya. TLS yapılandırmasına bağlı olarak TLS sunucusunu ve TLS istemcisini tanımlamak için sertifika veya cert kullanılabilir.

Güvenilirlik deposu

İstemciye sunulan TLS sunucusunun sertifikasını doğrulamak için kullanılan bir TLS istemcisinde güvenilir sertifikalar bulunur. Bu sertifikalar genellikle kendinden imzalı sertifikalar veya güvenilir bir CA tarafından imzalanmamış sertifikalardır.

Kuzeye giden bağlantıda, istemci uygulamasının sertifikaları Apigee Edge'deki güvenli depoda saklanır. Bu yalnızca istemci ile Apigee arasında iki yönlü TLS yapılandırdıysanız gereklidir.

Güney yönlü bağlantıda, arka uç sunucusunun sertifikaları Apigee Edge'deki güven deposunda saklanır. Bu, Apigee Edge ile arka uç sunucusu arasında tek yönlü veya iki yönlü TLS iletişimi sırasında arka ucun sertifikasını Apigee Edge'de doğrulamak istiyorsanız gereklidir.

Apigee Edge'de ayrı bir güven deposu nesnesi yoktur. Bu nedenle, güvenli depolar bir anahtar deposu nesnesi olarak oluşturulur ancak kullanıldığı her yerde (ör. sanal ana makine, hedef uç noktalar, hedef sunucular vb.) güvenli depo olarak referans verilir.

Sanal sunucu

Sanal ana makine, istemci uygulamaları için Apigee API uç noktasını temsil eder. Tek bir sunucuda (veya sunucu havuzunda) birden fazla alan adının (her ad ayrı ayrı işlenerek) barındırılmasına yardımcı olan bir varlıktır. Bu sayede bir sunucu, bellek ve işlemci döngüleri gibi kaynaklarını, sağlanan tüm hizmetlerin aynı ana makine adını kullanmasını gerektirmeden paylaşabilir.

Sanal bir ana makine, HTTP veya HTTPS (SSL etkin) trafiği sunabilir.

SSL'nin etkin olduğu bir sanal ana makine, tek yönlü veya iki yönlü TLS modunda yapılandırılabilir. Aşağıdakilerle yapılandırılır:

  • Bir veya daha fazla ana makine takma adı (API uç noktası DNS adı).
  • Bağlantı noktası
  • Anahtar deposu
  • Anahtar deposundaki sunucu sertifikalarından birini benzersiz şekilde tanımlayan anahtar takma adı.
  • İsteğe bağlı olarak, güven deposu (istemci kimlik doğrulamasının etkin olduğu iki yönlü TLS'de).

Tek yönlü TLS/SSL

Aşağıdaki şekilde, bir TLS istemcisi ile TLS sunucusu arasındaki tek yönlü kimlik doğrulama için TLS/SSL el sıkışması gösterilmektedir:

Tek yönlü TLS yapılandırmasında el sıkışma şu şekilde gerçekleşir:

  • İstemci, sunucuya bir oturum isteği gönderir.
  • Sunucu, ortak anahtarını içeren bir sertifikayla yanıt verir. Bu sertifika, sunucunun özel anahtarını da içeren sunucunun anahtar deposundan gelir. Özel anahtar hiçbir zaman istemciye gönderilmez.
  • İmzalı bir sertifika için istemci, sertifika zincirinin güvenilen bir Sertifika Yetkilisi (CA) tarafından imzalandığını doğrulamak üzere sunucu sertifikaları ve ortak anahtarlar içeren bir güven deposu kullanır.
  • İstemci ve sunucu, anahtarları doğrulamak için birkaç ileti daha gönderir.
  • İstemci, sunucuyla TLS veri aktarımına başlar.

Aşağıdaki şekilde, istemcide isteğe bağlı bir güven deposu kullanılarak yapılan TLS/SSL el sıkışması gösterilmektedir:

TLS sunucusu kendinden imzalı bir sertifika veya güvenilir bir CA tarafından imzalanmamış bir sertifika kullanıyorsa istemcide bir güvenilir sertifika deposu oluşturursunuz. İstemci, güven deposunu güvendiği sunucu sertifikaları ve ortak anahtarlarla doldurur. İstemci bir sertifika aldığında, gelen sertifika güven deposundaki sertifikalara göre doğrulanır.

Tek yönlü TLS'de Edge, aşağıdaki gibi sunucu veya istemci olabilir:

  • TLS sunucusu olarak Edge

    Edge, TLS uç noktasını barındıran sunucudur. TLS uç noktası, sanal ana makineye dağıtılan bir API proxy'sine karşılık gelir. İstemci, API proxy'sine erişmeye çalışan bir uygulamadır. Bu senaryoda, Edge'de sertifika ve özel anahtarı içeren anahtar deposu bulunur.

  • TLS istemcisi olarak Edge

    Edge, bir arka uç hizmetine erişen istemci olarak çalışır. Bu durumda arka uç hizmeti, bir TLS uç noktasını barındıran sunucuya karşılık gelir. Bu nedenle, arka uç sunucusunda sertifikasını ve özel anahtarını içeren bir anahtar deposu bulunur.

İki yönlü TLS

Aşağıdaki şekilde, bir istemci ile sunucu arasında iki yönlü TLS kimlik doğrulaması için TLS/SSL el sıkışması gösterilmektedir:

İki yönlü TLS'de el sıkışma şu şekilde gerçekleşir:

  • Hem istemcinin hem de sunucunun kendi anahtar depoları vardır. İstemcinin anahtar deposu, sertifikasını ve özel anahtarını içerir. Sunucunun anahtar deposu, sertifikasını ve özel anahtarını içerir.
  • TLS sunucusu, kendisini doğrulamak için sertifikasını TLS istemcisine sunar. Ardından istemci, sertifikasını sunucuya göndermeden önce sunucunun kimliğini doğrular.
  • TLS istemcisi, sunucuya kimliğini doğrulatmak için TLS sunucusuna sertifikasını sunar.

Aşağıdaki şekilde, isteğe bağlı bir güven deposu kullanılarak yapılan TLS el sıkışması gösterilmektedir:

Bu senaryoda el sıkışma şu şekilde gerçekleşir:

  • TLS sunucusu, kendinden imzalı bir sertifika veya güvenilir bir CA tarafından imzalanmamış bir sertifika kullanıyorsa istemcide bir güvenilir sertifika deposu oluşturursunuz. İstemcinin güvenilen anahtar deposunda sunucunun sertifikasının bir kopyası vardır. TLS el sıkışması sırasında istemci, sunucunun kimliğini doğrulamak için güvenli deposundaki sertifikayı sunucudan gönderilen sertifikayla karşılaştırır.
  • TLS istemcisi, kendinden imzalı bir sertifika veya güvenilen bir CA tarafından imzalanmamış bir sertifika kullanıyorsa sunucuda bir güvenilir sertifika deposu oluşturursunuz.Sunucunun güvenilir sertifika deposunda istemcinin sertifikasının bir kopyası bulunur. TLS el sıkışması sırasında sunucu, istemcinin kimliğini doğrulamak için güvenli deposundaki sertifikayı istemciden gönderilen sertifikayla karşılaştırır.

İstemci, sunucu veya her ikisi de güvenli anahtar deposu kullanabilir.

İki yönlü TLS'de Edge, aşağıdaki gibi sunucu veya istemci olabilir:

  • Sunucu olarak Edge

    Edge, TLS uç noktasını barındıran sunucudur. TLS uç noktası bir API proxy'sine karşılık gelir. İstemci, API proxy'sine erişmeye çalışan bir uygulamadır. Bu senaryoda Edge'de sertifika ve özel anahtarı içeren bir anahtar deposu bulunur ve istemcinin sertifikasını ve CA zincirini içeren bir güven deposu gerekir.

  • İstemci olarak Edge

    Edge, bir arka uç hizmetine erişen istemci görevi görür. Bu durumda arka uç hizmeti, TLS uç noktasını barındıran sunucuya karşılık gelir. Bu nedenle, arka uç sunucusunda sertifikasını ve özel anahtarını içeren bir anahtar deposu bulunur.

    Edge, arka uç hizmetine karşı kendini doğrulamak için gereken sertifikayı içeren bir anahtar deposu da tanımlamalıdır. Sunucu, kendinden imzalı bir sertifika veya güvenilir bir CA tarafından imzalanmamış bir sertifika kullanıyorsa arka uç sunucusundan gelen sertifikayı içeren bir güven deposu da tanımlayabilir.

Yapılandırma şeklinizden bağımsız olarak Edge'in iki yönlü TLS'yi destekleyecek kadar esnek olduğunu unutmayın.

SNI desteği

Edge, hem Cloud hem de Private Cloud kurulumlarında API proxy'lerinden Edge'e (Edge, TLS sunucusu olarak hareket eder) ve Edge'den hedef uç noktalara (Edge, TLS istemcisi olarak hareket eder) Sunucu Adı Göstergesi (SNI) kullanımını destekler.

TLS/SSL'nin bir uzantısı olan SNI ile, aynı IP adresi ve bağlantı noktası üzerinden birden fazla HTTPS hedefi sunulabilir. Bu hedeflerin aynı sertifikayı kullanması gerekmez.

Şirket içi yükleme için SNI'yı etkinleştirme hakkında bilgi edinmek istiyorsanız SNI'yı Edge ile kullanma başlıklı makaleyi inceleyin.

Kuzeye ve güneye doğru

Apigee'de kuzeye doğru, istemci uygulamalarının API Proxy'sini çağırmak için kullandığı API uç noktasını ifade eder. Genellikle yönlendirici, Apigee Edge'deki giriş noktasıdır ve Apigee Edge'e gelen istekleri işler. Bu nedenle Apigee'de, istemci uygulaması ile Apigee Edge (Yönlendirici) arasındaki iletişim için kullanılan uç nokta kuzeye doğru olarak adlandırılır.

Apigee'de güney yönlü, Apigee'nin arka uç sunucusuyla iletişim kurmak için kullandığı hedef uç noktayı ifade eder. Bu nedenle Apigee'de, Apigee Edge (Message Processor) ile arka uç sunucusu arasındaki iletişim için kullanılan uç nokta güney yönlü olarak adlandırılır. Mesaj İşleyici, API isteklerini arka uç hedef sunucularına yönlendiren Apigee Edge'in bir bileşenidir.

Aşağıdaki şekilde Apigee Edge için kuzeye ve güneye giden bağlantılar gösterilmektedir:

Kuzeye ve güneye giden trafik. İstemci uygulamasından yönlendiriciye doğru olan trafik kuzeye doğrudur. Ardından Mesaj İşleyici'ye. Message Processor ile Backend Server arasındaki trafik güneye doğrudur.