API proxy'sinde TLS bağlantı bilgilerine erişme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Edge, tek yönlü ve iki yönlü TLS'yi destekleyen sanal ana makineler oluşturmanıza olanak tanır. Tek yönlü TLS sayesinde istemci, bir uç yönlendirici ve yönlendirici üzerinde dağıtılan bir sanal ana makineye bir oturum isteği gönderir. sanal ana makinenin ortak anahtarını içeren bir sertifika ile yanıt verir. İmzalanmış bir sertifikada sertifikanın kimliğini doğrulamak için Sertifika Yetkilisine (CA) bir istekte bulunabilir.

İki yönlü TLS'de hem istemci hem de Edge, bir isteğin parçası olarak doğrulanan sertifikaları geçirir:

  • Uç Yönlendirici, kendi kimliğini doğrulamak için sertifikasını TLS istemcisine sunar. Müşteri daha sonra, sertifikasını sunucuya göndermeden önce sunucunun kimliğini doğrular.
  • TLS istemcisi, kendi kimliğini doğrulamak için sertifikasını Edge'e sunar.

Daha fazla bilgi için Sanal ana makineler hakkında başlıklı makaleye bakın.

TLS bağlantı bilgilerini yakalama

TLS'yi destekleyen bir sanal ana makine üzerinden API proxy'sine gönderilen istekler sırasında Edge TLS bağlantısı hakkında bilgi içerir. Daha sonra API proxy'niz bu bilgilere diğer akış değişkenlerini de dahil etmeniz gerekir.

Edge tarafından yakalanan TLS bilgilerinin türü, sanal ana makinenin tek yönlü veya çift yönlü TLS'dir. Örneğin, tek yönlü TLS için Edge TLS bağlantısında kullanılan TLS şifresi veya TLS protokolü

Edge, iki yönlü TLS'de tek yönlü TLS için yakalanan bilgilerin tümünü yakalayabilir. ve istemcinin sertifikasıyla ilgili bilgileri yakalar. Örneğin, Edge, SHA1 parmak izini yakalayabilir istemci sertifikasının PEM biçimindeki bir kopyasını alır.

Her ikisi için de bilgi yakalama tek yönlü ve çift yönlü TLS

Aşağıdaki tabloda, yakalanan TLS bağlantı bilgilerini içeren akış değişkenleri listelenmektedir tarafından yürütülebilir ve API proxy'sinden erişilebilir. Bu bilgiler hem tek yönlü hem de ve iki yönlü TLS'yi kontrol etmek için <ConnectionProperties> sanal ana makine tanımı:

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, <ConnectionProperties> bunlardan birini ayarladığınızda kullanılabilir veya <ClientProperties> değerine ayarlayın.

İki yönlü TLS sırasında ek TLS bilgileri yakalama

Aşağıdaki tabloda, Edge'in yakaladığı istemci sertifikası ayrıntılarını içeren akış değişkenleri listelenmektedir iki yönlü TLS'dir. Bu bilgiler iki yönlü TLS için Sanal ana makine tanımında <ClientProperties> değerini doğru değerine ayarlayın:

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ı veren kuruluş 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 dijital parmak izi
tls.session.id

Oturum tanımlayıcısı.

Bu akış değişkeni, Doğru değerine ayarlamak için <ConnectionProperties> veya <ClientProperties> kullanın.

TLS bilgilerini yakalamak için bir sanal ana makine yapılandırma

Sanal ana makineyi TLS bilgilerini yakalayacak şekilde yapılandırmak için aşağıdaki özellikleri ayarlayın <PropagateTLSInformation> altında true yerine.

  • <ConnectionProperties>: TLS bağlantı bilgilerinin yakalanmasını etkinleştir hem tek yönlü hem de çift yönlü TLS'nin Varsayılan değer false değeridir.
  • <ClientProperties>: Ek bilgi yakalamayı etkinleştir iki yönlü TLS'dir. Varsayılan değer false değeridir.

Örneğin, aşağıdaki sanal ana makine tanımı, iki yönlü TLS'yi kullanır ve veri yakalamayı iki tür TLS bilgisine sahip olmalıdır:

<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>

Bir 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 iletir . Bu nedenle, başlık boyutu sınırlarının uygun şekilde ayarlandığından emin olmalısınız. Cloud için Edge mi yoksa Private Cloud için Edge mi kullandığınıza bağlı olarak:

  • Cloud için Uç: Apigee, başlık boyutlarını uygun şekilde ayarlar.
  • Edge for the Private Cloud: Bu özellik kullanılamıyor.

API proxy'sindeki akış değişkenlerine erişme

API proxy'nizden TLS akışı değişkenlerine erişebilir ve bunları inceleyebilirsiniz. Örneğin, AssignMessage'ı kullanabilirsiniz politikası aracılığıyla erişmek için bir JavaScript politikası oluşturun.

Ayrıca, proxy veya hedef akışın <Condition> öğesindeki akış değişkenlerine de başvurabilirsiniz. veya <Step> ya da <RouteRule> içinde sunulur. Örneğin, her hafta istemcinin bağlantı noktasına göre farklı hedeflere istek gönderebilir.

Daha fazla bilgi için: