Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этом документе объясняется, как настроить наборы шифров на виртуальных хостах и маршрутизаторах в Apigee Edge.
Набор шифров — это совокупность алгоритмов, обеспечивающих безопасность сетевого соединения, использующего протокол TLS. Клиент и сервер должны согласовать конкретный набор шифров, который будет использоваться при обмене сообщениями. Если клиент и сервер не согласятся с набором шифров, запросы завершатся ошибкой "TLS Handshake failed".
В Apigee наборы шифров должны быть согласованы между клиентскими приложениями и маршрутизаторами.
Возможно, вам потребуется изменить наборы шифров на сервере Apigee Edge по следующим причинам:
- Во избежание несоответствия наборов шифров между клиентскими приложениями и маршрутизаторами Apigee, необходимо учитывать следующее:
- Использование более надежных наборов шифров позволяет либо устранить уязвимости в системе безопасности, либо повысить уровень защиты.
Наборы шифров можно настроить как на виртуальных хостах, так и на маршрутизаторах Apigee. Обратите внимание, что Apigee принимает наборы шифров только в формате строк шифрования OpenSSL как на виртуальном хосте, так и на маршрутизаторе. В справочной странице шифров OpenSSL приведены наборы шифров SSL или TLS из соответствующей спецификации и их эквиваленты в OpenSSL.
Например:
Если вы хотите настроить набор шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 на виртуальном хосте или маршрутизаторе Apigee, вам необходимо определить соответствующую строку шифра OpenSSL в справочной странице шифров OpenSSL . Строка шифра OpenSSL для набора шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 — ECDHE-RSA-AES128-GCM-SHA256. Таким образом, вам необходимо использовать строку шифра OpenSSL ECDHE-RSA-AES128-GCM-SHA256 при настройке набора шифров на виртуальном хосте или на маршрутизаторе Apigee.
Прежде чем начать
- Чтобы узнать о строках шифрования OpenSSL для различных наборов шифров, ознакомьтесь со страницей руководства OpenSSL по шифрам .
- Если вы не знакомы со свойствами виртуальных хостов, прочтите справочник по свойствам виртуальных хостов .
- Если вы не знакомы с настройкой параметров Edge в частном облаке, прочтите статью «Как настроить Edge» .
Настройка наборов шифров на виртуальных хостах
В этом разделе объясняется, как настроить наборы шифров на виртуальных хостах, связанных с организацией и средой. Наборы шифров можно настроить на виртуальном хосте с помощью свойства ssl_ciphers , которое представляет собой список наборов шифров, поддерживаемых виртуальным хостом.
Список поддерживаемых Apigee наборов шифров см. в разделе «Поддерживаемые наборы шифров».
Виртуальный хост можно настроить одним из следующих способов:
- Используя пользовательский интерфейс Edge
- Использование Edge API
Использование пользовательского интерфейса Edge
Для настройки виртуального хоста с помощью пользовательского интерфейса Edge выполните следующие действия:
- Войдите в пользовательский интерфейс Edge .
- Перейдите в раздел Администрирование > Виртуальные хосты .
- Выберите конкретную среду , в которой вы хотите внести это изменение.
- Выберите конкретный виртуальный хост, для которого вы хотите настроить наборы шифров.
- В разделе «Свойства» обновите значение параметра «Шифры» , указав список строк шифров OpenSSL, разделенных двоеточиями.
Например, если вы хотите разрешить только наборы шифров
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256иTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, то определите соответствующие строки шифров OpenSSL из справочной страницы шифров OpenSSL, как показано в следующей таблице:Набор шифров строка шифрования OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256Добавьте строку шифрования OpenSSL с разделителем-двоеточием, как показано на следующем рисунке:

- Сохраните сдачу.
Использование Edge API
Для настройки наборов шифров на виртуальном хосте с использованием API Edge выполните следующие действия:
- Получите текущую конфигурацию виртуального хоста, используя API Get virtual host , как показано ниже:
Пользователь публичного облака:
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}Пользователь частного облака:
curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}{ "hostAliases": [ "api.myCompany,com" ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false } Добавьте свойство
ssl_ciphersв существующую JSON-конфигурацию виртуального хоста в разделеproperties, указав соответствующие строки шифрования OpenSSL.Например, если вы хотите разрешить только наборы шифров
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256иTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, то определите соответствующие строки шифров OpenSSL из справочной страницы шифров OpenSSL, как показано в следующей таблице:Набор шифров строка шифрования OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256Добавьте следующий блок кода
properties:Пример обновленной конфигурации виртуального хоста:
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "ssl_ciphers", "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }- Сохраните обновлённую конфигурацию виртуального хоста в файл. Например,
virtualhost-payload.json. - Обновите конфигурацию
virtualhostвнеся изменения, используя API обновления виртуального хоста следующим образом:Пользователь публичного облака:
curl -v -X POST Content-Type: application/json https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
Пользователь частного облака:
curl -v -X POST Content-Type: application/json http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
Поддерживаемые наборы шифров
Apigee поддерживает следующие наборы шифров:
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA256 DHE-RSA-AES256-SHA DHE-RSA-CAMELLIA256-SHA AES256-GCM-SHA384 AES256-SHA256 AES256-SHA CAMELLIA256-SHA ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-SHA256 DHE-RSA-AES128-SHA DHE-RSA-CAMELLIA128-SHA AES128-GCM-SHA256 AES128-SHA256 AES128-SHA CAMELLIA128-SHA
Проверка наборов шифров на виртуальных хостах
В этом разделе объясняется, как проверить успешность изменения наборов шифров на виртуальном хосте с помощью Edge API.
- Выполните команду Get virtual host API, чтобы получить конфигурацию
virtualhost, как показано ниже:Пользователь публичного облака:
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}Пользователь частного облака:
curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username} - Убедитесь, что свойству
ssl_ciphersприсвоено новое значение.Пример обновленной конфигурации виртуального хоста:
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "ssl_ciphers", "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }В приведенном выше примере обратите внимание, что параметру
ssl_ciphersприсвоено новое значение. - Если вы по-прежнему видите старое значение параметра
ssl_ciphers, убедитесь, что вы правильно выполнили все шаги, описанные в разделе «Настройка наборов шифров на виртуальных хостах» . Если вы пропустили какой-либо шаг, повторите все шаги заново. - Если вам по-прежнему не удается обновить или добавить наборы шифров на виртуальный хост, обратитесь в службу поддержки Apigee Edge .
Настройка наборов шифров на маршрутизаторах
В этом разделе объясняется, как настроить наборы шифров на маршрутизаторах. Наборы шифров можно настроить с помощью свойства маршрутизатора conf_load_balancing_load.balancing.driver.server.ssl.ciphers , которое представляет собой наборы шифров, разделённые двоеточиями.
Для настройки наборов шифров на маршрутизаторах выполните следующие действия:
На маршрутизаторе откройте следующий файл в текстовом редакторе. Если он еще не существует, создайте его.
/opt/apigee/customer/application/router.properties
Например, чтобы открыть файл с помощью
vi, введите следующее:vi /opt/apigee/customer/application/router.properties
- Добавьте в файл
propertiesстроку следующего формата, заменив значение параметра colon_separated_cipher_suites :conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
Например, если вы хотите разрешить только наборы шифров
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256иTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, то определите соответствующие строки шифров OpenSSL из справочной страницы шифров OpenSSL, как показано в следующей таблице:Набор шифров строка шифрования OpenSSL TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256А затем добавьте следующую строку:
conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
- Сохраните изменения.
- Убедитесь, что этот файл свойств принадлежит пользователю
apigee, как показано ниже:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Перезагрузите маршрутизатор, как показано ниже:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Если у вас несколько маршрутизаторов, повторите описанные выше шаги на всех маршрутизаторах.
Проверка набора шифров на маршрутизаторах
В этом разделе объясняется, как проверить, что наборы шифров были успешно изменены на маршрутизаторах.
- На маршрутизаторе с помощью утилиты поиска Apigee найдите свойство
conf_load_balancing_load.balancing.driver.server.ssl.ciphersв папке/opt/apigeeи проверьте, установлено ли для него новое значение, как показано ниже:/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
- Если новые наборы шифров успешно установлены на маршрутизаторе, то приведенная выше команда отобразит новые значения.
Ниже приведён пример результата выполнения команды
search, при которой наборы шифров были обновлены доDHE-RSA-AES128-GCM-SHA256иECDHE-RSA-AES128-GCM-SHA256:Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
В приведенном выше примере обратите внимание, что свойство
conf_load_balancing_load.balancing.driver.server.ssl.ciphersбыло установлено с новыми значениями набора шифров. Это указывает на то, что набор шифров был успешно обновлен до строк шифров OpenSSLDHE-RSA-AES128-GCM-SHA25иECDHE-RSA-AES128-GCM-SHA256на маршрутизаторе. - Если вы по-прежнему видите старые значения для наборов шифров
conf_load_balancing_load.balancing.driver.server.ssl.ciphers, убедитесь, что вы правильно выполнили все шаги, описанные в разделе «Настройка наборов шифров на маршрутизаторах» . Если вы пропустили какой-либо шаг, повторите все шаги заново. - Если вам по-прежнему не удается изменить наборы шифров на маршрутизаторах, обратитесь в службу поддержки Apigee Edge .