Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
В этом документе рассказывается, как настроить наборы шифров на виртуальных хостах и маршрутизаторах в Apigee Edge.
Набор шифров – это набор алгоритмов, которые помогают защищать сетевые подключения, использующие протокол TLS. Клиент и сервер должны согласовать, какой набор шифров будет использоваться при обмене сообщениями. Если клиент и сервер не согласуют набор шифров, запросы завершатся неудачно из-за сбоя подтверждения TLS.
В Apigee наборы шифров должны быть согласованы между клиентскими приложениями и маршрутизаторами.
Изменить наборы шифров в Apigee Edge может понадобиться по следующим причинам:
- Чтобы избежать несоответствия наборов шифров между клиентскими приложениями и маршрутизаторами Apigee
- Чтобы использовать более безопасные наборы шифров для устранения уязвимостей или повышения безопасности.
Наборы шифров можно настроить на виртуальных хостах или маршрутизаторах Apigee. Обратите внимание, что Apigee принимает наборы шифров только в формате строк шифров OpenSSL как на виртуальном хосте, так и на маршрутизаторе. На странице руководства по шифрам OpenSSL перечислены наборы шифров SSL или TLS из соответствующей спецификации и их эквиваленты в OpenSSL.
Пример:
Если вы хотите настроить набор шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 cipher на виртуальном хосте или маршрутизаторе Apigee, вам нужно найти соответствующую строку шифра OpenSSL на странице руководства по шифрам OpenSSL.
Строка шифра OpenSSL для набора шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 – ECDHE-RSA-AES128-GCM-SHA256.. Поэтому при настройке набора шифров в виртуальном хосте или на маршрутизаторе Apigee необходимо использовать строку шифра OpenSSL ECDHE-RSA-AES128-GCM-SHA256.
Подготовка
- Чтобы узнать больше о строках шифров OpenSSL для разных наборов шифров, ознакомьтесь с руководством по шифрам OpenSSL.
- Если вы не знакомы со свойствами виртуального хоста, прочитайте справочную статью о свойствах виртуального хоста.
- Если вы не знаете, как настраивать ресурсы для Edge в частном облаке, прочитайте статью Как настроить Edge.
Настройка наборов шифров на виртуальных хостах
В этом разделе рассказывается, как настроить наборы шифров в виртуальных хостах, связанных с организацией и средой. Наборы шифров можно настроить в виртуальном хосте с помощью свойства ssl_ciphers, которое представляет собой список наборов шифров, поддерживаемых виртуальным хостом.
Список поддерживаемых наборов шифров приведен в разделе Поддерживаемые наборы шифров.
Настроить виртуальный хост можно одним из следующих способов:
- Как использовать интерфейс 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
Чтобы настроить наборы шифров на виртуальном хосте с помощью Edge API, выполните следующие действия:
- Получите текущую конфигурацию виртуального хоста с помощью 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 Update a virtual host (Обновить виртуальный хост), как показано ниже.Пользователь общедоступного облака:
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.
- Выполните API
Get virtual host (Получить виртуальный хост), чтобы получить конфигурацию
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
- Если у вас несколько маршрутизаторов, повторите описанные выше действия для каждого из них.
Как проверить набор шифров на маршрутизаторах
В этом разделе рассказывается, как проверить, что на маршрутизаторах успешно изменены наборы шифров.
-
На маршрутизаторе найдите свойство
conf_load_balancing_load.balancing.driver.server.ssl.ciphersс помощью утилиты поиска Apigee из папки/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.