Zezwalanie na dostęp interfejsu użytkownika Edge do lokalnych adresów IP

Edge for Private Cloud, wer. 4.17.05

Interfejs API Edge może próbować uzyskać dostęp do lokalnego adresu IP w kilku miejscach. Ten lokalny adres IP może odpowiadać zasobom prywatnym lub chronionym w inny sposób, które nie powinny być udostępniane użytkownikom zewnętrznym:

  • Narzędzie Trace w interfejsie Edge może wysyłać i odbierać żądania API pod dowolnym określonym adresem URL. W pewnych sytuacjach, gdy komponenty brzegowe są hostowane razem z innymi usługami wewnętrznymi, złośliwy użytkownik może nadużywać możliwości narzędzia śledzenia, wysyłając żądania do prywatnych adresów IP.
  • Podczas tworzenia proxy interfejsu API na podstawie specyfikacji OpenAPI specyfikacja obejmuje takie elementy interfejsu API jak ścieżka podstawowa, ścieżki, czasowniki, nagłówki itp. W ramach specyfikacji złośliwy użytkownik może określić podstawową ścieżkę serwera proxy odwołującą 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 się odwoływać do prywatnych adresów IP. Na liście prywatnych adresów IP znajdują się:

  • Adres sprzężenia zwrotnego (127.0.0.1 lub host lokalny)
  • Lokalne adresy witryny (dla adresów IPv4 – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Dowolny adres lokalny (dowolny adres odpowiadający lokalnemu hostowi).

Jeśli chcesz włączyć w interfejsie użytkownika Edge dostęp do prywatnych adresów IP, ustaw te tokeny:

  • W przypadku narzędzia Trace właściwość conf_apigee-base_apigee.feature.enabletraceforinternaladdresses jest domyślnie wyłączona. Ustaw wartość true, aby umożliwić narzędziu Trace dostęp do prywatnych adresów IP.
  • W przypadku specyfikacji OpenAPI właściwość conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses jest domyślnie wyłączona. Ustaw wartość „true”, aby włączyć dostęp OpenAPI do prywatnych adresów IP.
  • W przypadku plików WSDL właściwość conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses jest domyślnie wyłączona. Ustaw na wartość true, aby umożliwić przesyłanie pliku WSDL z prywatnych adresów IP.

Aby ustawić wartość „true” (prawda):

  1. Otwórz plik ui.property w edytorze. Jeśli plik nie istnieje, utwórz go.
    > vi /opt/apigee/customer/application/ui.property
  2. Ustaw wartość tych właściwości na:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses="true"
  3. Zapisz zmiany w pliku ui.property.
  4. Upewnij się, że właścicielem pliku jest użytkownik „apigee”:
    > chown apigee:apigee /opt/apigee/customer/application/ui.property
  5. Uruchom ponownie interfejs użytkownika Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Interfejs użytkownika Edge ma teraz dostęp do lokalnych adresów IP.