Как разрешить доступ к локальным IP-адресам в интерфейсе Edge

Edge для частного облака версии 4.17.09

Интерфейс Edge может пытаться получить доступ к локальному IP-адресу в нескольких местах. Эти локальные IP-адреса могут соответствовать частным или иным образом защищенным ресурсам, которые не должны быть доступны внешним пользователям:

  • Инструмент трассировки в интерфейсе Edge позволяет отправлять и получать запросы к API по любому указанному URL. В некоторых сценариях развертывания, когда компоненты Edge размещаются совместно с другими внутренними сервисами, злоумышленник может злоупотребить возможностями инструмента Trace, отправляя запросы к частным IP-адресам.
  • При создании прокси-сервера API на основе спецификации OpenAPI в ней описываются такие элементы API, как базовый путь, пути и глаголы, заголовки и т. д. Согласно спецификации, злоумышленник может указать базовый путь прокси-сервера, который ссылается на частный IP-адрес.
  • При создании прокси-сервера API на основе WSDL-файла, расположенного в локальной файловой системе.

В целях безопасности по умолчанию интерфейс Edge не может ссылаться на частные IP-адреса. В список частных IP-адресов входят:

  • Петлевой адрес (127.0.0.1 или localhost)
  • Локальные адреса сайта (для IPv4 – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Любой локальный адрес (любой адрес, который разрешается в localhost).

Если вы хотите разрешить интерфейсу Edge доступ к частным IP-адресам, задайте следующие токены:

  • Для инструмента трассировки по умолчанию отключено свойство conf_apigee-base_apigee.feature.enabletraceforinternaladdresses. Установите значение true, чтобы разрешить инструменту Trace доступ к частным IP-адресам.
  • Для спецификаций OpenAPI свойство conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses по умолчанию отключено. Чтобы разрешить доступ к частным IP-адресам через OpenAPI, задайте значение true.
  • Для файлов WSDL свойство conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses по умолчанию отключено. Задайте значение true, чтобы разрешить загрузку WSDL-файла с частных IP-адресов.

Чтобы задать для этих свойств значение true:

  1. Откройте файл ui.properties в редакторе. Если файла нет, создайте его.
    > vi /opt/apigee/customer/application/ui.properties
  2. Задайте для следующих свойств значение true:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses="true"
  3. Сохраните изменения в файле ui.properties.
  4. Убедитесь, что файл свойств принадлежит пользователю apigee:
    > chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Перезапустите интерфейс Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Теперь интерфейс Edge может получать доступ к локальным IP-адресам.