TLS/SSL hakkında

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

Bir önceki 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 bir istemci, şifrelenmemiş HTTP protokolü yerine şifrelenmiş HTTPS protokolünü kullanarak sunucuya güvenli bir istekte bulunur.

Edge, hem bulutta hem de şirket içi dağıtımda tek yönlü TLS'yi 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 kullanan daha güçlü bir kimlik doğrulama biçimini de destekler. Uçtan uca güvenliği artırmak ve verilerinizi istemci adres sahteciliği veya ortadaki adam saldırıları gibi istemci saldırılarından korumak için genellikle iki yönlü TLS uygularsınız. İki yönlü TLS'de istemci, önce sunucunun kimliğini doğrular ve ardından sunucunun kimliğini istemcinin kimliğini doğrular.

TLS terminolojisi

TLS'yi yapılandırmadan önce aşağıdaki önemli terimler ve kavramlar hakkında bilgi sahibi olmanız gerekir:

Terim

Tanım

Kanada

Sertifika Yetkilisi. Sertifika yayınlamak ve sertifikanın orijinalliğini doğrulamak için Symantec veya VeriSign gibi güvenilir bir varlık kullanılır. Kendinden imzalı sertifika olarak adlandırılan bir sertifika türü CA gerektirmez.

Sertifika zinciri

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

MT

Sertifika İmzalama İsteği. CSR, TLS sunucusunda özel anahtara dayalı olarak oluşturulan bir dosyadır. CSR, ortak anahtarı ve kuruluşun adı, konumu ve alan adı gibi diğer bilgileri içerir. CA, CSR'yi TLS sertifikası oluşturmak üzere imzalar. Genellikle süresi dolmuş bir sertifikanız varsa ve bu sertifikayı yenilemek istiyorsanız bir 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 sahip olur, ancak çoğu zaman .cer dosya uzantısına sahiptir. DER .cer dosyası ile PEM .cer dosyası arasındaki farkı ayırt etmenin 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ıyla 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 bir şekilde tanımlar.

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

Anahtar deposu

Anahtar deposu, bir veya daha fazla TLS sertifikasının yanı sıra İstemci ile Sunucu arasındaki TLS el sıkışması sırasında varlığı tanımlamak için kullanılan ilgili özel anahtarın bulunduğu bir depodur.

Kuzey giden bağlantıda, Yönlendirici sunucu görevi görür ve sertifikası Apigee Edge'deki anahtar deposunda depolanır.

Güneye giden bağlantıda, Mesaj İşleyici istemci, arka uç sunucusu ise sunucu görevi 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 depolanır ve dosya uzantısı .p7b veya .p7c olur. P7B sertifikaları, -----BEGIN PKCS7----- ve -----END PKCS7----- ifadeleri içerir. P7B dosyası yalnızca sertifikaları ve zincir sertifikaları içerir, özel anahtarı içermez.

PEM

Privacy Enhanced Mail (PEM) biçimi, ikili Ayırt Edici Kodlama Kuralları (DER) biçiminin Base64 kodlaması olan metin tabanlı bir ASCII biçimidir. PEM sertifikaları herhangi bir Metin Düzenleyici'de açılabilir ve gerçek sertifika içeriği -----BEGIN CERTIFICATE----- ile -----END CERTIFICATE----- ifadeleri arasında sınırlandırılır.

Sertifika, sertifika zinciri veya özel anahtar depolamak için X.509 biçimiyle uyumludur. Sertifikanız veya özel anahtarınız bir PEM dosyası tarafından tanımlanmamışsa OpenSSL gibi yardımcı programları kullanarak bir 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ı genellikle Windows makinelerinde sertifikaları ve özel anahtarları içe ve dışa aktarmak için kullanılır.

Özel anahtar

TLS sunucusunda verilerin şifresini çözmek için kullanılır. Özel anahtar yalnızca TLS sunucusunda vardır. Bu anahtar TLS istemcileriyle paylaşılmaz.

Ortak anahtar

Bir TLS istemcisinden bir 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 yönlendirme düzeyi sağlar. Bu nedenle, anahtar deposu değişiklikleri, aynı referans ve anahtar takma adı korunduğu sürece sanal ana makine güncellemesi gerektirmez. Böylece Apigee Destek Ekibi ile birlikte bu değişiklikleri kendi kendinize yapabilir ve bağımlılıkları azaltabilirsiniz.

Kendinden imzalı sertifika

Güvenilen bir CA tarafından imzalanmamış bir sertifika. Veren ve konu aynı; içerdikleri ortak anahtarla eşleşen özel anahtarla imzalanırlar.

SNI

Server Name Indication (Sunucu Adı Göstergesi) Birden fazla HTTPS hedefinin aynı IP adresi ve bağlantı noktasından sunulmasına, bu hedeflerin aynı sertifikayı kullanmasına olanak tanır.

TLS sertifikası

TLS işlemindeki bir varlığı tanımlayan dijital dosya. Bir sertifika veya cert, TLS yapılandırmasına bağlı olarak TLS sunucusunu ve TLS istemcisini tanımlamak için kullanılabilir.

Truststore

Bir TLS sunucusunun istemciye sunulan sertifikasını doğrulamak amacıyla kullanılan bir TLS istemcisinde güvenilir sertifikalar içerir. Bu sertifikalar genellikle kendinden imzalı veya güvenilir bir CA tarafından imzalanmayan sertifikalardır.

Kuzeye giden bağlantıda, 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üneye giden bağlantıda, arka uç sunucusunun sertifikaları Apigee Edge'deki güven deposunda depolanır. Apigee Edge'de arka ucun sertifikasını Apigee Edge ile arka uç sunucusu arasında tek yönlü veya çift yönlü TLS iletişimiyle doğrulamak istiyorsanız bu gereklidir.

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

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ın barındırılmasına (her adın ayrı şekilde işlenmesiyle) yardımcı olan bir varlıktır. Bu, bir sunucunun, sağlanan tüm hizmetlerin aynı ana makine adını kullanmasına gerek kalmadan, bellek ve işlemci döngüleri gibi kaynaklarını paylaşmasına olanak tanır.

Sanal ana makineler, HTTP veya HTTPS (SSL özellikli) trafiği sunabilir.

SSL özellikli bir sanal ana makine, tek yönlü veya iki yönlü TLS modunda yapılandırılabilir. Aşağıdaki şekilde yapılandırılır:

  • Bir veya daha fazla barındırma takma adı (API uç nokta 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 deposu (istemci kimlik doğrulamasının etkinleştirildiği iki yönlü TLS'de)

Tek yönlü TLS/SSL

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

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

  • İ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.
  • İmzalanmış 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 genel anahtarları içeren bir güven deposunu kullanır.
  • İstemci ve sunucu, anahtarları doğrulamak için birkaç mesaj daha gönderip alır.
  • İ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üven deposu oluşturursunuz. İstemci, güven deposunu güvendiği sunucu sertifikaları ve genel 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 uç

    Uç, 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, sertifikayı ve özel anahtarı içeren anahtar deposuna sahiptir.

  • 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ç sunucunun sertifikasını ve özel anahtarını içeren bir anahtar deposu vardır.

İ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 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 istemcisine sunar. Daha sonra istemci, sertifikasını sunucuya göndermeden önce sunucunun kimliğini doğrular.
  • TLS istemcisi, kendi kimliğini sunucuda doğrulamak için sertifikasını TLS sunucusuna 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 şöyle olur:

  • TLS sunucusu kendinden imzalı bir sertifika veya güvenilir bir CA tarafından imzalanmamış bir sertifika kullanıyorsa istemcide bir güven deposu oluşturursunuz. İstemcinin güven deposunda sunucu sertifikasının bir kopyası bulunur. TLS el sıkışması sırasında istemci, sunucunun kimliğini doğrulamak için güven deposundaki 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üven deposu oluşturursunuz.server'ın güven deposunda istemcinin sertifikasının bir kopyası bulunur. TLS el sıkışması sırasında server, istemcinin kimliğini doğrulamak için güven deposundaki sertifikayı istemciden gönderilen sertifikayla karşılaştırır.

İstemci, sunucu veya her ikisi de bir güven deposu kullanabilir.

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

  • Sunucu olarak uç

    Uç, TLS uç noktasını barındıran sunucudur. TLS uç noktası, 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 deposu gerektirir.

  • Müşteri 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ç sunucusu, sertifikasını ve özel anahtarını içeren bir anahtar deposuna sahiptir.

    Edge, kendisini arka uç hizmetine doğrulamak için gereken sertifikayı içeren bir anahtar deposu ve 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 tanımlamalıdır.

Edge'in nasıl yapılandıracağınızdan bağımsız olarak iki yönlü TLS'yi destekleyecek kadar esnek olduğunu unutmamanız önemlidir.

SNI desteği

Edge, API proxy'lerinden Edge'e kadar Sunucu Adı Göstergesi'nin (SNI) kullanılmasını destekler. Bu sunucularda Edge, TLS sunucusu görevi görür. Edge'den de hem Cloud hem de Private Cloud kurulumlarında TLS istemcisi olarak çalıştığı hedef uç noktalar için kullanılır.

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

Şirket içi kurulum için SNI'yı etkinleştirme hakkında daha fazla bilgi edinmek için Edge ile SNI'yı kullanma bölümüne bakın.

Kuzeye giden ve güneye giden

Apigee'de "Kuzey sınırı", API Proxy'sini çağırmak için istemci uygulamaları tarafından kullanılan API uç noktasını ifade eder. Yönlendirici genellikle Apigee Edge'deki giriş noktasıdır ve Apigee Edge'e gelen istekleri işler. Bu nedenle Apigee'de istemci uygulaması ile Apigee Edge (Router) arasındaki iletişim için kullanılan uç nokta kuzeysel olarak adlandırılır.

Apigee'de güney sınırı, Apigee'nin arka uç sunucusuyla iletişim kurmak için kullandığı hedef uç noktasını ifade eder. Bu nedenle Apigee'de, Apigee Edge (Mesaj İşleyici) ile arka uç sunucusu arasındaki iletişim için kullanılan uç nokta Southbound olarak adlandırılır. Mesaj İşleyici, Apigee Edge'in API isteklerini arka uç hedef sunuculara proxy olarak gönderen bir bileşenidir.

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

Kuzeye ve güneye doğru akıntı. Yönlendiriciye yönelik istemci uygulaması kuzey sınırındadır. Ardından İleti İşleyici'ye gidin. Arka Uç Sunucusuna İleti İşleyicisi güneye doğru gidiyor.