Istnieje kilka miejsc, w których interfejs Edge może próbować uzyskać dostęp do lokalnego adresu IP. Te lokalne adresy IP mogą odpowiadać zasobom prywatnym lub chronionym w inny sposób, które nie powinny być widoczne dla użytkowników zewnętrznych:
- Narzędzie śledzenia w interfejsie Edge może wysyłać i odbierać żądania do interfejsu API na dowolny określony adres URL. W niektórych scenariuszach wdrażania, w których komponenty Edge są hostowane wspólnie z innymi usługami wewnętrznymi, złośliwy użytkownik może nadużyć możliwości narzędzia śledzenia, wysyłając żądania do prywatnych adresów IP.
- Podczas tworzenia serwera proxy interfejsu API na podstawie specyfikacji OpenAPI specyfikacja opisuje takie elementy interfejsu API jak ścieżka podstawowa, ścieżki i czasowniki, nagłówki i inne. W ramach specyfikacji złośliwy użytkownik może określić ścieżkę podstawową serwera proxy, która odnosi się do prywatnego adresu IP.
- podczas tworzenia serwera proxy interfejsu API z pliku WSDL znajdującego się w lokalnym systemie plików;
Ze względów bezpieczeństwa interfejs Edge domyślnie nie może odwoływać się do prywatnych adresów IP. Lista prywatnych adresów IP obejmuje:
- adres pętli zwrotnej (127.0.0.1 lub localhost),
- Adresy lokalne witryny (w przypadku IPv4 – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- Dowolny adres lokalny (dowolny adres rozpoznawany jako localhost).
Jeśli chcesz umożliwić interfejsowi Edge UI dostęp do prywatnych adresów IP, ustaw te tokeny:
- W przypadku narzędzia do śledzenia właściwość
conf_apigee-base_apigee.feature.enabletraceforinternaladdressesjest domyślnie wyłączona. Ustaw wartość „true”, aby umożliwić narzędziu do śledzenia dostęp do prywatnych adresów IP. - W przypadku specyfikacji OpenAPI właściwość
conf_apigee-base_apigee.feature.enableopenapiforinternaladdressesjest domyślnie wyłączona. Ustaw wartość „true”, aby umożliwić OpenAPI dostęp do prywatnych adresów IP. - W przypadku plików WSDL właściwość
conf_apigee-base_apigee.feature.enablewsdlforinternaladdressesjest domyślnie wyłączona. Ustaw wartość true, aby umożliwić przesyłanie pliku WSDL z prywatnych adresów IP.
Aby ustawić te właściwości na wartość „true”:
- Otwórz plik
ui.propertiesw edytorze. Jeśli plik nie istnieje, utwórz go.vi /opt/apigee/customer/application/ui.properties
- Ustaw te właściwości na wartość „true”:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true" conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses="true" conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses="true"
- Zapisz zmiany w
ui.properties. - Upewnij się, że plik właściwości należy do użytkownika „apigee”:
chown apigee:apigee /opt/apigee/customer/application/ui.properties
- Ponownie uruchom interfejs Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Interfejs Edge może teraz uzyskiwać dostęp do lokalnych adresów IP.