Настройка TLS/SSL для локальной версии Edge

Edge for Private Cloud версии 4.16.05

TLS (Transport Layer Security, преемник SSL) – это стандартная технология безопасности, которая обеспечивает безопасный обмен зашифрованными сообщениями в среде API, от приложений до Apigee Edge и внутренних сервисов.

Независимо от конфигурации среды для вашего Management API (например, используете ли вы прокси-сервер, маршрутизатор и/или балансировщик нагрузки перед Management API), Edge позволяет включить и настроить TLS, предоставляя вам контроль над шифрованием сообщений в локальной среде управления API.

При локальной установке Edge Private Cloud настроить TLS можно в нескольких местах:

  1. между маршрутизатором и обработчиком сообщений;
  2. Для доступа к Edge Management API
  3. Для доступа к интерфейсу управления Edge
  4. Для доступа из приложения к вашим API
  5. Для доступа из Edge к вашим бэкенд-службам

Ниже описано, как настроить TLS для первых трех пунктов. Все эти процедуры предполагают, что вы создали файл JKS, содержащий сертификат TLS и закрытый ключ.

Чтобы настроить TLS для доступа из приложения к API (пункт 4 выше), ознакомьтесь со статьей Как настроить доступ к API через TLS для Private Cloud. Чтобы настроить TLS для доступа из Edge к вашим бэкенд-службам (пункт 5 выше), ознакомьтесь со статьей Настройка TLS для доступа из Edge к бэкенд-службам (Cloud и Private Cloud).

Полный обзор настройки TLS в Edge приведен в статье TLS/SSL.

Как создать файл JKS

Хранилище ключей представлено в виде файла JKS, который содержит сертификат TLS и закрытый ключ. Создать файл JKS можно разными способами, например с помощью утилит openssl и keytool.

Например, у вас есть PEM-файл с именем server.pem, содержащий сертификат TLS, и PEM-файл с именем private_key.pem, содержащий закрытый ключ. Чтобы создать файл PKCS12, используйте следующие команды:

> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

Вам нужно будет ввести кодовую фразу для ключа, если она есть, и пароль для экспорта. Эта команда создает файл PKCS12 с именем keystore.pkcs12.

Чтобы преобразовать его в файл JKS с названием keystore.jks, используйте следующую команду:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

Вам будет предложено ввести новый пароль для файла JKS и существующий пароль для файла PKCS12. Убедитесь, что вы используете для файла JKS тот же пароль, что и для файла PKCS12.

Если вам нужно указать псевдоним ключа, например при настройке TLS между маршрутизатором и Message Processor, добавьте параметр -name в команду openssl:

>  openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

Затем добавьте параметр -alias в команду keytool:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

Создание обфусцированного пароля

На некоторых этапах настройки TLS в Edge вам потребуется ввести в файл конфигурации обфусцированный пароль. Замаскированный пароль – более безопасная альтернатива вводу пароля в виде обычного текста.

Вы можете сгенерировать обфусцированный пароль в Java, используя файлы Jetty .jar, установленные с Edge. Сгенерируйте обфусцированный пароль, используя команду в форме:

> java -cp /<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-http-x.y.z.jar:/<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-util-x.y.z.jar org.eclipse.jetty.http.security.Password yourPassword

где x.y.z – номер версии JAR-файлов Jetty, например 8.0.4.v20111024. Эта команда возвращает пароль в следующем формате:

yourPassword
OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

При настройке TLS используйте обфусцированный пароль, указанный OBF.

Подробнее о настройке с помощью Google Менеджера тегов…