Есть несколько мест, где интерфейс Edge может попытаться получить доступ к локальному IP-адресу. Эти локальные IP-адреса могут соответствовать частным или иным образом защищенным ресурсам, которые не должны быть доступны внешним пользователям:
- Инструмент Trace в интерфейсе 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-адресам, задайте следующие токены:
- Для инструмента Trace свойство
conf_apigee-base_apigee.feature.enabletraceforinternaladdressesпо умолчанию отключено. Чтобы разрешить инструменту Trace доступ к частным IP-адресам, задайте значение true. - Для спецификаций OpenAPI свойство
conf_apigee-base_apigee.feature.enableopenapiforinternaladdressesпо умолчанию отключено. Установите значение True, чтобы разрешить доступ OpenAPI к частным IP-адресам. - Для файлов WSDL свойство
conf_apigee-base_apigee.feature.enablewsdlforinternaladdressesпо умолчанию отключено. Установите значение true, чтобы разрешить загрузку WSDL-файла с частных IP-адресов.
Чтобы задать для этих свойств значение true, выполните следующие действия:
- Откройте файл
ui.propertiesв редакторе. Если файла нет, создайте его.vi /opt/apigee/customer/application/ui.properties
- Задайте для следующих свойств значение true:
conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true" conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses="true" conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses="true"
- Сохраните изменения в файле
ui.properties. - Убедитесь, что файл свойств принадлежит пользователю apigee:
chown apigee:apigee /opt/apigee/customer/application/ui.properties
- Перезапустите Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Теперь у Edge UI есть доступ к локальным IP-адресам.