Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
В этом документе объясняется, как настроить наборы шифров на виртуальных хостах и маршрутизаторах в Apigee Edge.
Набор шифров — это набор алгоритмов, которые помогают защитить сетевое соединение, использующее TLS. Клиент и сервер должны согласовать конкретный набор шифров, который будет использоваться при обмене сообщениями. Если клиент и сервер не согласны с набором шифров, запросы завершаются неудачей из-за сбоев TLS Handshake.
В Apigee наборы шифров должны быть взаимно согласованы между клиентскими приложениями и маршрутизаторами.
Возможно, вам захочется изменить наборы шифров в Apigee Edge по следующим причинам:
- Чтобы избежать несоответствия наборов шифров между клиентскими приложениями и маршрутизаторами Apigee.
- Использовать более безопасные наборы шифров для устранения любых уязвимостей безопасности или для повышения безопасности.
Наборы шифров можно настроить либо на виртуальных хостах, либо на маршрутизаторах Apigee. Обратите внимание, что Apigee принимает наборы шифров только в формате строк шифрования OpenSSL как на виртуальном хосте, так и на маршрутизаторе. На странице руководства по шифрам OpenSSL представлены наборы шифров SSL или TLS из соответствующей спецификации и их эквиваленты OpenSSL.
Например:
Если вы хотите настроить набор шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
на виртуальном хосте или маршрутизаторе Apigee, вам необходимо идентифицировать соответствующую строку шифрования OpenSSL на странице руководства OpenSSL ciphers . Строка шифрования OpenSSL для набора шифров TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
— ECDHE-RSA-AES128-GCM-SHA256.
Итак, вам необходимо использовать строку шифрования OpenSSL ECDHE-RSA-AES128-GCM-SHA256
при настройке набора шифров на виртуальном хосте или на маршрутизаторе Apigee.
Прежде чем начать
- Чтобы узнать о строках шифрования OpenSSL для различных наборов шифров, прочтите справочную страницу OpenSSL ciphers .
- Если вы не знакомы со свойствами виртуального хоста, прочтите Справочник по свойствам виртуального хоста .
- Если вы не знакомы с настройкой свойств Edge в частном облаке, прочтите статью «Как настроить Edge» .
Настройка наборов шифров на виртуальных хостах
В этом разделе объясняется, как настроить наборы шифров на виртуальных хостах, связанных с организацией и средой. Наборы шифров можно настроить на виртуальном хосте с помощью свойства ssl_ciphers
, которое представляет список наборов шифров, поддерживаемых виртуальным хостом.
Список наборов шифров, которые поддерживает Apigee, см. в разделе «Поддерживаемые наборы шифров».
Вы можете настроить виртуальный хост одним из следующих способов:
- Использование пользовательского интерфейса Edge
- Использование Edge API
Использование пользовательского интерфейса Edge
Чтобы настроить виртуальный хост с помощью пользовательского интерфейса Edge, выполните следующие действия:
- Войдите в пользовательский интерфейс Edge .
- Перейдите в «Администратор» > «Виртуальные хосты» .
- Выберите конкретную среду , в которой вы хотите внести это изменение.
- Выберите конкретный виртуальный хост, для которого вы хотите настроить наборы шифров.
- В разделе «Свойства» обновите значение Ciphers , указав список строк шифрования 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_SHA256
DHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-GCM-SHA256
Добавьте строку шифрования OpenSSL с разделением двоеточием, как показано на следующем рисунке:
- Сохраните изменение.
Использование Edge API
Чтобы настроить наборы шифров на виртуальном хосте с помощью Edge API, выполните следующие действия:
- Получите текущую конфигурацию виртуального хоста с помощью API получения виртуального хоста , как показано ниже:
Пользователь публичного облака:
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_SHA256
DHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-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.
- Выполните 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 .
Настройка наборов шифров на маршрутизаторах
В этом разделе объясняется, как настроить наборы шифров на маршрутизаторах. Наборы шифров можно настроить с помощью свойства Router 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_SHA256
DHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-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 .