TLS/SSL hakkında

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

Önceki sürümünün Güvenli Yuva Katmanı (SSL) olduğu 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şturmak için kullanılan standart güvenlik teknolojisidir. Şifrelenmiş bağlantı, sunucu ile istemci arasında geçen tüm verilerin gizli kalmasını sağlar. İstemci, TLS kullanmak için şifrelenmemiş HTTP protokolü yerine şifrelenmiş HTTPS protokolünü kullanarak sunucuya güvenli bir istek gönderir.

Edge, hem bulutta hem de şirket içinde tek yönlü TLS ve iki yönlü TLS'yi destekler (TLS'nin desteklenen 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, Android telefonda (istemci) çalışan bir uygulama, Edge API'lerinin (sunucu) kimliğini doğrulayabilir.

Apigee, iki yönlü veya istemci TLS'yi kullanarak daha güçlü bir kimlik doğrulama şeklini de destekler. Genellikle uçtan uca güvenliği artırmak ve verilerinizi istemci kimliğine bürünme 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ğrular ve ardından sunucu istemcinin kimliğini doğrular.

TLS terminolojisi

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

Terim

Tanım

CA

Sertifika yetkilisi. Symantec veya VeriSign gibi, sertifika vermek ve sertifika Kendinden imzalı sertifika adı verilen bir sertifika türü için CA gerekmez.

Sertifika zinciri

Genellikle CA'nızın kök özel anahtarı tarafından imzalanmış bir sertifikanız olmaz. Bunun yerine, sertifikanızla birlikte zincir oluşturan bir veya daha fazla ara 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 bu sertifikayı yenilemek istediğinizde CSR oluşturursunuz.

DER

Ayırt Edici Kodlama Kuralları. DER biçimi, ASCII PEM biçimi yerine sertifikanın ikili biçimidir. Bazen .der dosya uzantısına sahiptir ancak 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üzenleyicisinde 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 ilgili özel anahtar) benzersiz şekilde tanımlar.

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

Keystore

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

Kuzey yönlü bağlantıda yönlendirici sunucu gibi davranır ve sertifikası Apigee Edge'deki anahtar deposunda saklanır.

Güney yönlü bağlantıda Mesaj İşleyen istemci, arka uç sunucu ise sunucu olarak görev yapar. İ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----- beyanları 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ıdır ve metne dayalı 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 uygun olmalıdır. Sertifikanızın veya gizli anahtarınızın PEM dosyası ile tanımlanmadığı durumlarda 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ının uzantıları genellikle .pfx ve .p12 şeklindedir. PFX dosyaları genellikle Windows makinelerinde sertifika ve özel anahtarları içe aktarmak ve dışa aktarmak için 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.

Herkese açık anahtar

TLS istemcisinden TLS sunucusuna gönderilen verileri şifrelemek için kullanılır. Ortak anahtar sertifikaya dahildir. Tüm TLS istemcileri, sunucunun ortak anahtarının bir kopyasına sahiptir.

References Referanslar, anahtar depoları için bir dolaylı referans düzeyi sağlar. Bu nedenle, aynı referans ve anahtar takma adı korunduğu sürece anahtar deposu değişiklikleri için sanal ana makine güncellemesi gerekmez. Bu sayede bu değişiklikleri kendi kendinize yapabilir ve Apigee Destek Ekibi'ne olan bağımlılığınızı azaltabilirsiniz.

Kendinden imzalı sertifika

Güvenilir bir CA tarafından imzalanmamış bir sertifika. Yayınlayan ve konu aynıdır; içerdikleri ortak anahtarla eşleşen özel anahtarla imzalanır.

SNI

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

TLS sertifikası

TLS işleminde bir varlığı 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.

Truststore

TLS istemcisinde, istemciye sunulan TLS sunucusunun sertifikasını doğrulamak için kullanılan güvenilir sertifikaları içerir. Bu sertifikalar genellikle kendinden imzalı sertifikalar veya güvenilir bir CA tarafından imzalanmamış sertifikalar olur.

Kuzey bağlantısında istemci uygulamasının sertifikaları Apigee Edge'deki güven deposunda depolanır. Bu, yalnızca istemci ile Apigee arasında iki yönlü TLS yapılandırdıysanız gereklidir.

Güney bağlantısında arka uç sunucunun sertifikaları Apigee Edge'deki güven deposunda saklanır. Apigee Edge ile arka uç sunucu arasındaki tek yönlü veya iki yönlü TLS iletişiminde Apigee Edge'deki arka uç sertifikasını doğrulamak istiyorsanız bu gereklidir.

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

Sanal ana makine

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ı (her ad ayrı olarak ele alınarak) barındırmaya yardımcı olan bir öğedir. Bu sayede, bir sunucu, sağlanan tüm hizmetlerin aynı ana makine adını kullanmasını gerektirmeden bellek ve işlemci döngüsü gibi kaynaklarını paylaşabilir.

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

SSL özellikli 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ımlamak için kullanılan anahtar takma adı.
  • İsteğe bağlı olarak bir güven mağazası (istemci kimlik doğrulamasının etkin olduğu iki yönlü TLS'de).

Tek yönlü TLS/SSL

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

Tek yönlü TLS yapılandırmasında el sıkışma işlemi aşağıdaki gibidir:

  • İstemci, sunucuya oturum isteği gönderir.
  • Sunucu, ortak anahtarını içeren bir sertifika ile yanıt verir. Bu sertifika, sunucunun özel anahtarını da içeren anahtar deposundan gelir. Özel anahtar hiçbir zaman istemciye gönderilmez.
  • İmzalı bir sertifika için istemci, sertifika zincirinin güvenilir bir sertifika yetkilisi (CA) tarafından imzalandığını doğrulamak amacıyla sunucu sertifikalarını ve ortak anahtarları içeren bir güven mağazası kullanır.
  • İstemci ve sunucu, anahtarları doğrulamak için birkaç mesaj daha alışverişinde bulunur.
  • İstemci, sunucuyla TLS veri aktarımına başlar.

Aşağıdaki şekilde, istemcide isteğe bağlı bir güven mağazası kullanılarak TLS/SSL el sıkışma işlemi 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ıyla ve ortak anahtarlarla doldurur. İstemci bir sertifika aldığında gelen sertifika, güven mağazasındaki sertifikalarla 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 bir 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, arka uç hizmetine erişen istemci olarak çalışı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 mağazası bulunur.

İki yönlü TLS

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

İki yönlü TLS'de el sıkışma işlemi aşağıdaki gibidir:

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

Aşağıdaki resimde, isteğe bağlı bir güven mağazası kullanılarak TLS el sıkışması gösterilmektedir:

Bu senaryoda el sıkışma işlemi aşağıdaki gibidir:

  • 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üven mağazasında 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üven mağazasındaki sertifikayı sunucudan gönderilen sertifikayla karşılaştırır.
  • TLS istemcisi kendinden imzalı bir sertifika veya güvenilir bir CA tarafından imzalanmamış bir sertifika kullanıyorsa sunucuda bir güvenilir sertifika deposu oluşturursunuz.Sunucu, güvenilir sertifika deposunda istemcinin sertifikasının bir kopyasına sahiptir. TLS el sıkışması sırasında sunucu, istemcinin kimliğini doğrulamak için güven mağazasındaki sertifikayı istemci tarafından gönderilen sertifikayla karşılaştırır.

İstemci, sunucu veya her ikisi de bir güven mağazası 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, sertifikayı ve özel anahtarı içeren bir anahtar deposuna sahiptir ve istemcinin sertifikasını ve CA zincirini içeren bir güven deposuna ihtiyaç duyar.

  • İstemci olarak Edge

    Edge, arka uç hizmetine erişen bir istemci olarak çalışı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 mağazası bulunur.

    Edge, arka uç hizmetine karşı kendini doğrulamak için gereken sertifikayı içeren bir anahtar deposu da tanımlamalıdır. Ayrıca, sunucu kendinden imzalı bir sertifika veya güvenilir bir CA tarafından imzalanmamış bir sertifika kullanıyorsa isteğe bağlı olarak arka uç sunucusundaki sertifikayı içeren bir güven deposu da tanımlamalıdır.

Edge'in, nasıl yapılandırmaya karar verdiğinizden bağımsız olarak iki yönlü TLS'yi destekleyecek kadar esnek olduğunu unutmayın.

SNI desteği

Edge, hem Cloud hem de özel bulut kurulumlarında, API proxy'lerinden Edge'e (Edge'in TLS sunucusu olarak hareket ettiği yer) ve Edge'den hedef uç noktalara (Edge'in TLS istemcisi olarak hareket ettiği yer) Sunucu Adı Göstergesi'nin (SNI) kullanımını destekler.

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

Kurulum için SNI'yi etkinleştirme hakkında bilgi edinmek isterseniz Edge ile SNI'yi kullanma başlıklı makaleyi inceleyin.

Kuzeye ve güneye giden

Apigee'de kuzeye bakan, istemci uygulamalarının API Proxy'yi çağırmak için kullandığı API uç noktasını ifade eder. Yönlendirici genellikle Apigee Edge'e giriş noktasıdır ve Apigee Edge'e gelen istekleri işler. Bu nedenle Apigee'de, istemci uygulaması ile Apigee Edge (Yönlendirici) arasında iletişim için kullanılan uç noktaya kuzeye yönelik denir.

Apigee'de güney yönlü, Apigee'nin arka uç sunucuyla iletişim kurmak için kullandığı hedef uç noktasını ifade eder. Bu nedenle Apigee'de, Apigee Edge (Mesaj İşleyen) ile arka uç sunucu arasında iletişim için kullanılan uç noktaya güney bağlantısı denir. Mesaj İşleyici, API isteklerini arka uç hedef sunuculara proxy yapan Apigee Edge 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 akış. İstemci uygulamasından yönlendiriciye giden trafik kuzeye doğrudur. Ardından Mesaj İşleyici'ye gidin. Mesaj işleyiciden arka uç sunucuya giden bağlantı güney yönlüdür.