По умолчанию TLS отключен для Management API, и вы получаете доступ к Management API Edge по протоколу HTTP, используя IP-адрес узла сервера управления и порт 8080. Пример:
http://ms_IP:8080
Вы также можете настроить доступ к Management API по протоколу TLS, чтобы обращаться к нему в следующем формате:
https://ms_IP:8443
В этом примере вы настраиваете доступ по TLS через порт 8443. Однако этот номер порта не является обязательным для Edge – вы можете настроить сервер управления на использование других значений портов. Единственное требование – брандмауэр должен разрешать трафик через указанный порт.
Чтобы обеспечить шифрование трафика, передаваемого в Management API и из него, задайте настройки в файле /opt/apigee/customer/application/management-server.properties.
Помимо конфигурации TLS, вы также можете управлять проверкой паролей (длиной и надежностью пароля), изменив файл management-server.properties.
Убедитесь, что порт TLS открыт
В этом разделе описано, как настроить TLS для использования порта 8443 на сервере управления. Независимо от того, какой порт вы используете, убедитесь, что он открыт на сервере управления. Например, вы можете использовать следующую команду:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose
Настройте TLS
Чтобы управлять использованием TLS для трафика, поступающего в Management API и исходящего из него, измените файл /opt/apigee/customer/application/management-server.properties. Если такого файла нет, создайте его.
Чтобы настроить доступ TLS к Management API, выполните следующие действия:
- Создайте файл хранилища ключей JKS, содержащий сертификат TLS и закрытый ключ. Дополнительную информацию можно найти в статье Настройка TLS/SSL для локальной версии Edge.
- Скопируйте JKS-файл хранилища ключей в каталог на узле сервера управления, например
/opt/apigee/customer/application. - Передайте право собственности на файл JKS пользователю apigee:
chown apigee:apigee keystore.jks
где keystore.jks – название файла хранилища ключей.
- Измените
/opt/apigee/customer/application/management-server.properties, чтобы задать следующие свойства: Если такого файла нет, создайте его:conf_webserver_ssl.enabled=true # Leave conf_webserver_http.turn.off set to false # because many Edge internal calls use HTTP. conf_webserver_http.turn.off=false conf_webserver_ssl.port=8443 conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks # Enter the obfuscated keystore password below. conf_webserver_keystore.password=OBF:obfuscatedPassword
где keyStore.jks – файл хранилища ключей, а obfuscatedPassword – обфусцированный пароль хранилища ключей. Информацию о том, как создать обфусцированный пароль, можно найти в статье Настройка TLS/SSL для локальной версии Edge.
- Перезапустите Edge Management Server с помощью следующей команды:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Management API теперь поддерживает доступ по TLS.
Настройте Edge UI для использования TLS для доступа к Edge API
В описанной выше процедуре Apigee рекомендует оставить conf_webserver_http.turn.off=false, чтобы Edge UI мог продолжать вызовы Edge API по протоколу HTTP.
Чтобы настроить интерфейс Edge для выполнения этих вызовов только по протоколу HTTPS, выполните следующие действия:
- Настройте доступ TLS к Management API, как описано выше.
- Убедившись, что TLS работает для Management API, измените
/opt/apigee/customer/application/management-server.properties, чтобы задать следующее свойство:conf_webserver_http.turn.off=true
- Перезапустите сервер управления Edge, выполнив следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Измените
/opt/apigee/customer/application/ui.properties, чтобы задать следующее свойство для Edge UI:conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"
где FQ_domain_name – полное доменное имя, указанное в сертификате сервера управления, а port – порт, заданный в параметре
conf_webserver_ssl.port.Если файла ui.properties нет, создайте его.
- Только если вы использовали самозаверяющий сертификат (не рекомендуется в рабочей среде) при настройке доступа TLS к Management API выше, добавьте следующее свойство в
ui.properties:conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
В противном случае интерфейс Edge отклонит самозаверяющий сертификат.
- Перезапустите Edge UI, выполнив следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Свойства TLS для сервера управления
В таблице ниже перечислены все свойства TLS/SSL, которые можно задать в management-server.properties.
| Свойства | Описание |
|---|---|
|
|
Значение по умолчанию – 8080. |
|
|
Включить или отключить TLS/SSL. Если TLS/SSL включен (true), необходимо также задать свойства ssl.port и keystore.path. |
|
|
Чтобы включить или отключить HTTP вместе с HTTPS. Если вы хотите использовать только HTTPS, оставьте значение по умолчанию – |
|
|
Порт TLS/SSL. Требуется, если включен протокол TLS/SSL ( |
|
|
Путь к файлу хранилища ключей. Требуется, если включен протокол TLS/SSL ( |
|
|
Используйте обфусцированный пароль в следующем формате: OBF:xxxxxxxxxx |
|
|
Необязательный псевдоним сертификата хранилища ключей |
|
|
Если у вашего менеджера ключей есть пароль, введите его обфусцированную версию в следующем формате: OBF:xxxxxxxxxx |
|
|
Задайте настройки для хранилища доверия. Укажите, хотите ли вы принимать все сертификаты TLS/SSL (например, чтобы принимать нестандартные типы). Значение по умолчанию – OBF:xxxxxxxxxx |
|
|
Укажите наборы шифров, которые нужно включить или исключить. Например, если вы обнаружите уязвимость в шифре, вы можете исключить его здесь. Если вы добавляете несколько шифров, укажите их через запятую. Шифры, удаленные с помощью черного списка, будут иметь приоритет над шифрами, включенными с помощью белого списка. Примечание. Если белый или черный список не задан, по умолчанию исключаются шифры, соответствующие следующему регулярному выражению Java: ^.*_(MD5|SHA|SHA1)$ ^TLS_RSA_.*$ ^SSL_.*$ ^.*_NULL_.*$ ^.*_anon_.*$ Однако если вы укажете черный список, этот фильтр будет переопределен и вам придется добавлять в черный список все шифры по отдельности. Информацию о наборах шифров и архитектуре криптографии можно найти в документации по поставщикам Oracle для архитектуры криптографии Java для JDK 8. |
|
|
Целые числа, которые определяют:
|