Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Edge, tek yönlü ve çift yönlü TLS'yi destekleyen sanal ana makineler oluşturmanıza olanak tanır. Tek yönlü TLS'de istemci, bir Edge yönlendiricisine dağıtılan sanal ana bilgisayara oturum isteği gönderir ve yönlendirici, sanal ana bilgisayarın ortak anahtarını içeren bir sertifikayla yanıt verir. İmzalı bir sertifika için istemci, sertifikayı doğrulamak üzere Sertifika Yetkilisi'ne (CA) istekte bulunabilir.
İki yönlü TLS'de hem istemci hem de Edge, bir isteğin parçası olarak doğrulanan sertifikaları iletir:
- Edge yönlendirici, kimliğini doğrulamak için sertifikasını TLS istemcisine sunar. İstemci daha sonra sertifikasını sunucuya göndermeden önce sunucunun kimliğini doğrular.
- TLS istemcisi, kimliğini doğrulamak için sertifikasını Edge'e sunar.
Daha fazla bilgi için Sanal ana makineler hakkında başlıklı makaleyi inceleyin.
TLS bağlantı bilgilerini yakalama
TLS'yi destekleyen bir sanal ana makine üzerinden API proxy'sine yapılan istek sırasında Edge, TLS bağlantısıyla ilgili bilgileri yakalayabilir. API proxy'niz daha sonra ek analiz ve doğrulama yapmak için akış değişkenleri aracılığıyla bu bilgilere erişebilir.
Edge tarafından yakalanan TLS bilgilerinin türü, sanal ana makinenin tek yönlü veya çift yönlü TLS'yi destekleyip desteklemediğine bağlıdır. Örneğin, tek yönlü TLS için Edge, TLS bağlantısında kullanılan TLS şifresi veya TLS protokolü hakkında bilgi yakalayabilir.
İki yönlü TLS için Edge, tek yönlü TLS'de yakalanan tüm bilgileri yakalayabilir ve istemcinin sertifikasıyla ilgili bilgileri de yakalayabilir. Örneğin, Edge, istemci sertifikasının SHA1 parmak izini ve istemci sertifikasını PEM biçiminde yakalayabilir.
Tek yönlü ve çift yönlü TLS için bilgi yakalama
Aşağıdaki tabloda, Edge tarafından yakalanan ve API proxy'sinde erişime açık olan TLS bağlantı bilgilerini içeren akış değişkenleri listelenmektedir. Bu bilgiler, sanal ana makine tanımında <ConnectionProperties> değeri doğru olarak ayarlanarak hem tek yönlü hem de çift yönlü TLS için yakalanır:
| Akış değişkeni | Açıklama |
|---|---|
tls.cipher
|
TLS bağlantısı tarafından kullanılan şifre. |
tls.protocol
|
TLS bağlantısı tarafından kullanılan protokol. |
tls.server.name
|
İstenen SNI sunucu adı. |
tls.session.id
|
Oturum tanımlayıcısı. Bu akış değişkeni, |
İki yönlü TLS sırasında ek TLS bilgilerini yakalama
Aşağıdaki tabloda, Edge tarafından iki yönlü TLS'de yakalanan istemci sertifikası ayrıntılarını içeren akış değişkenleri listelenmiştir. Bu bilgiler, sanal ana makine tanımında <ClientProperties> değeri true olarak ayarlanarak iki yönlü TLS için yakalanır:
| Akış değişkeni | Açıklama |
|---|---|
tls.client.s.dn
|
İstemci sertifikasının konu ayırt edici adı (DN). |
tls.client.i.dn
|
İstemci sertifikasının veren ayırt edici adı (DN). |
tls.client.raw.cert
|
PEM biçimindeki istemci sertifikası. |
tls.client.cert.serial
|
İstemci sertifikasının seri numarası. |
tls.client.cert.fingerprint
|
İstemci sertifikasının SHA1 parmak izi. |
tls.session.id
|
Oturum tanımlayıcısı. Bu akış değişkeni, |
TLS bilgilerini yakalamak için sanal ana makineyi yapılandırma
Sanal ana makineyi TLS bilgilerini yakalayacak şekilde yapılandırmak için <PropagateTLSInformation> altındaki aşağıdaki özellikleri true olarak ayarlayın.
<ConnectionProperties>: Tek yönlü ve çift yönlü TLS için TLS bağlantı bilgilerinin yakalanmasını etkinleştirin. Varsayılan değerfalse'dır.<ClientProperties>: İki yönlü TLS için ek bilgilerin yakalanmasını etkinleştirin. Varsayılan değerfalse'dır.
Örneğin, aşağıdaki sanal ana makine tanımı iki yönlü TLS kullanır ve her iki TLS bilgisinin de yakalanmasını sağlar:
<VirtualHost name="secure">
....
<SSLInfo>
<Enabled>true</Enabled>
# Enable two-way TLS.
<ClientAuthEnabled>true</ClientAuthEnabled>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
<KeyAlias>ks-alias</KeyAlias>
<KeyStore>ref://ks-ref</KeyStore>
<TrustStore>ref://ts-ref</TrustStore>
</SSLInfo>
<PropagateTLSInformation>
<ConnectionProperties>true</ConnectionProperties>
<ClientProperties>true</ClientProperties>
</PropagateTLSInformation>
</VirtualHost>JSON gövdesi iletiyorsanız özellikleri şu şekilde ayarlayın:
"propagateTLSInformation" : {
"connectionProperties" : true,
"clientProperties" : true
}Başlık boyutu sınırlarını ayarlama
Bir sanal ana makinede TLS bilgilerinin yakalanmasını etkinleştirdiğinizde Edge, bu bilgileri HTTP üstbilgilerini kullanarak iletir. Bu nedenle, Cloud için Edge veya Özel Cloud için Edge kullanmanıza bağlı olarak başlık boyutu sınırlarının uygun şekilde ayarlandığından emin olmanız gerekir:
- Edge for the Cloud: Apigee, başlık boyutlarını uygun şekilde ayarlar.
- Edge for the Private Cloud: Özellik kullanılamaz.
API proxy'sinde akış değişkenlerine erişme
API proxy'nizden TLS akışı değişkenlerine erişebilir ve bunları inceleyebilirsiniz. Örneğin, bunlara erişmek için AssignMessage politikasını kullanabilir veya JavaScript politikasıyla JavaScript'te bunlara erişebilirsiniz.
Ayrıca, akış değişkenlerine bir proxy veya hedef akışın <Condition> öğesinde ya da bir <Step> veya <RouteRule> içinde de başvurabilirsiniz. Örneğin, bir isteği istemcinin SN'sine göre farklı hedeflere yönlendirebilirsiniz.
Daha fazla bilgi için: