Edge for Private Cloud v. 4.16.09
TLS (Transport Layer Security, преемник SSL) – это стандартная технология безопасности, которая обеспечивает безопасный обмен зашифрованными сообщениями в среде API, от приложений до Apigee Edge и внутренних сервисов.
Независимо от конфигурации среды для вашего Management API (например, используете ли вы прокси-сервер, маршрутизатор и/или балансировщик нагрузки перед Management API), Edge позволяет включить и настроить TLS, предоставляя вам контроль над шифрованием сообщений в локальной среде управления API.
При локальной установке Edge Private Cloud настроить TLS можно в нескольких местах:
- между маршрутизатором и обработчиком сообщений;
- Для доступа к Edge Management API
- Для доступа к интерфейсу управления Edge
- Для доступа из приложения к вашим API
- Для доступа из 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. Сгенерируйте обфусцированный пароль с помощью команды в форме:
> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar
Введите новый пароль. В целях безопасности текст пароля не отображается. Эта команда возвращает пароль в следующем формате:
OBF:58fh40h61svy156789gk1saj MD5:902fobg9d80e6043b394cb2314e9c6
При настройке TLS используйте обфусцированный пароль, указанный OBF.
Подробнее о настройке с помощью Google Менеджера тегов…