Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Edge umożliwia tworzenie hostów wirtualnych obsługujących jednokierunkowe i dwukierunkowe połączenia TLS. W przypadku jednokierunkowego protokołu TLS klient wysyła żądanie sesji do hosta wirtualnego wdrożonego w routerze brzegowym i routerze odpowiada certyfikatem zawierającym klucz publiczny hosta wirtualnego. W przypadku podpisanego certyfikatu klient może następnie wysłać do urzędu certyfikacji żądanie uwierzytelnienia certyfikatu.
W przypadku dwukierunkowego protokołu TLS zarówno certyfikaty klienta, jak i certyfikaty Edge, które są weryfikowane w ramach żądania:
- Router brzegowy przedstawia swój certyfikat klientowi TLS, aby się uwierzytelnić. Klient a następnie weryfikuje tożsamość serwera przed wysłaniem do niego certyfikatu.
- Klient TLS przedstawia swój certyfikat Edge, aby się uwierzytelnić.
Więcej informacji znajdziesz w artykule Informacje o hostach wirtualnych.
Przechwytywanie informacji o połączeniu TLS
Podczas wysyłania żądania do serwera proxy interfejsu API za pośrednictwem hosta wirtualnego, który obsługuje TLS, Edge może przechwytywać informacje o połączeniu TLS. Serwer proxy interfejsu API może uzyskać dostęp do tych informacji za pośrednictwem zmiennych przepływu, aby przeprowadzić dodatkową analizę i weryfikację.
Typ informacji TLS przechwytywanych przez Edge zależy od tego, czy host wirtualny obsługuje jedno- lub dwukierunkowe TLS. Na przykład w przypadku jednokierunkowego połączenia TLS usługa Edge Mechanizm szyfrowania TLS lub protokół TLS używany w połączeniu TLS.
W przypadku dwukierunkowego protokołu TLS Edge może rejestrować wszystkie informacje, które są rejestrowane w przypadku jednokierunkowego połączenia TLS. oraz zarejestrować informacje o certyfikacie klienta. Na przykład Edge może zarejestrować odcisk cyfrowy SHA1. z certyfikatem klienta i certyfikatem klienta w formacie PEM.
Rejestruję informacje w obu przypadkach jedno- i dwukierunkowe TLS
Tabela poniżej zawiera listę zmiennych przepływu, które zawierają przechwycone informacje o połączeniu TLS
Edge i dostępne do dostępu przez serwer proxy interfejsu API. Te informacje są rejestrowane w obu kierunkach
i dwukierunkowego TLS przez ustawienie zasady <ConnectionProperties>
na wartość Prawda
Definicja hosta wirtualnego:
Zmienna przepływu | Opis |
---|---|
tls.cipher
|
Mechanizm szyfrowania połączenia TLS. |
tls.protocol
|
Protokół używany przez połączenie TLS. |
tls.server.name
|
Żądana nazwa serwera SNI. |
tls.session.id
|
Identyfikator sesji. Ta zmienna procesu jest dostępna, gdy ustawisz jedną z tych wartości: |
Rejestrowanie dodatkowych informacji o protokole TLS podczas dwukierunkowego połączenia TLS
Poniższa tabela zawiera zmienne przepływu, które zawierają szczegóły certyfikatów klienta przechwycone przez Edge
w przypadku dwukierunkowego protokołu TLS. Te informacje są rejestrowane w przypadku dwukierunkowego protokołu TLS przez ustawienie
<ClientProperties>
ma wartość prawda w definicji hosta wirtualnego:
Zmienna przepływu | Opis |
---|---|
tls.client.s.dn
|
Nazwa wyróżniająca podmiotu certyfikatu klienta. |
tls.client.i.dn
|
Nazwa wyróżniająca wydawcy certyfikatu klienta. |
tls.client.raw.cert
|
Certyfikat klienta w formacie PEM. |
tls.client.cert.serial
|
Numer seryjny certyfikatu klienta. |
tls.client.cert.fingerprint
|
Odcisk cyfrowy SHA1 certyfikatu klienta. |
tls.session.id
|
Identyfikator sesji. Ta zmienna przepływu jest dostępna, gdy ustawisz jedną z tych wartości:
|
Konfigurowanie hosta wirtualnego do przechwytywania informacji o TLS
Aby skonfigurować host wirtualny do przechwytywania informacji o TLS, ustaw następujące właściwości
poniżej <PropagateTLSInformation>
–true
.
<ConnectionProperties>
: włącz przechwytywanie informacji o połączeniu TLS dla jednokierunkowego i dwukierunkowego protokołu TLS. Wartością domyślną jestfalse
.<ClientProperties>
: włącz rejestrowanie dodatkowych informacji dla dwukierunkowego protokołu TLS. Wartością domyślną jestfalse
.
Na przykład ta definicja hosta wirtualnego używa dwukierunkowego protokołu TLS i umożliwia przechwytywanie obydwa typy informacji TLS:
<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>
Jeśli przekazujesz treść JSON, ustaw właściwości na:
"propagateTLSInformation" : { "connectionProperties" : true, "clientProperties" : true }
Ustawianie limitów rozmiaru nagłówka
Gdy włączysz przechwytywanie informacji o TLS na hoście wirtualnym, Edge przekazuje te informacje za pomocą nagłówków HTTP. Dlatego musisz się upewnić, że limity rozmiaru nagłówka są prawidłowo ustawione. w zależności od tego, czy używasz Edge w chmurze czy Edge w chmurze prywatnej:
- Brzegowy dla chmury: Apigee odpowiednio ustawia rozmiary nagłówków.
- Brzegowy dla chmury Private Cloud: funkcja jest niedostępna.
Dostęp do zmiennych przepływu za pośrednictwem serwera proxy interfejsu API
Z poziomu serwera proxy interfejsu API możesz uzyskać dostęp do zmiennych przepływu TLS i je sprawdzać. Możesz na przykład użyć metody AssignMessage aby uzyskać do nich dostęp, użyj JavaScriptu z zasadą JavaScript.
Do zmiennych przepływu możesz się też odwoływać w elemencie <Condition>
serwera proxy lub przepływu docelowego.
albo w aplikacji <Step>
lub <RouteRule>
. Możesz na przykład kierować
Wysyłanie żądania do różnych środowisk docelowych w zależności od numeru SN klienta.
Więcej informacji: