Настройка TLS для API управления

Edge для частного облака v. 4.17.05

По умолчанию TLS отключен для API управления, и вы получаете доступ к API управления Edge через HTTP, используя IP-адрес узла сервера управления и порт 8080. Например:

http://ms_IP:8080

Альтернативно вы можете настроить TLS-доступ к API управления, чтобы иметь к нему доступ в форме:

https://ms_IP:8443

В этом примере вы настраиваете доступ TLS для использования порта 8443. Однако этот номер порта не требуется для Edge — вы можете настроить сервер управления на использование других значений порта. Единственное требование — ваш брандмауэр разрешает трафик через указанный порт.

Чтобы обеспечить шифрование входящего и исходящего трафика вашего 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

Отредактируйте файл /opt/apigee/customer/application/management-server.properties , чтобы контролировать использование TLS для трафика, входящего и исходящего от вашего API управления. Если этот файл не существует, создайте его.

Используйте следующую процедуру для настройки доступа TLS к API управления:

  1. Создайте файл JKS хранилища ключей, содержащий ваш сертификат TLS и закрытый ключ. Дополнительные сведения см. в разделе Настройка TLS/SSL для Edge On Premises .
  2. Скопируйте файл JKS хранилища ключей в каталог на узле Management Server, например /opt/apigee/customer/application .
  3. Измените владельца файла JKS на apigee:
    $ chown apigee:apigee keystore.jks

    где keystore.jks — имя вашего файла хранилища ключей.
  4. Отредактируйте /opt/apigee/customer/application/management-server.properties , чтобы установить следующие свойства. Если этот файл не существует, создайте его:
    conf_webserver_ssl.enabled=истина
    # Оставьте для conf_webserver_http.turn.off значение false
    # потому что многие внутренние вызовы Edge используют HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/ keystore.jks
    # Введите ниже запутанный пароль хранилища ключей.
    conf_webserver_keystore.password=OBF: obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    где keyStore.jks — ваш файл хранилища ключей, а obfuscatedPassword — ваш замаскированный пароль хранилища ключей. Информацию о создании запутанного пароля см. в разделе Настройка TLS/SSL для Edge On Premises .
  5. Перезапустите Edge Management Server с помощью команды:
    $ /opt/apigee/apigee-service/bin/apigee-service перезапуск сервера Edge-Management-Server

API управления теперь поддерживает доступ через TLS.

Убедившись, что TLS работает правильно, в том числе убедитесь, что он работает для пользовательского интерфейса Edge, вы можете отключить HTTP-доступ к API управления, как описано в следующем разделе.

Настройте пользовательский интерфейс Edge для использования TLS для доступа к Edge API.

В приведенной выше процедуре Apigee рекомендовал оставить conf_webserver_http.turn.off=false , чтобы пользовательский интерфейс Edge мог продолжать выполнять вызовы Edge API через HTTP.

Используйте следующую процедуру, чтобы настроить пользовательский интерфейс Edge для выполнения этих вызовов только через HTTPS:

  1. Настройте доступ TLS к API управления, как описано выше.
  2. Убедившись, что TLS работает для API управления, отредактируйте /opt/apigee/customer/application/management-server.properties , установив следующее свойство:
    conf_webserver_http.turn.off=истина
  3. Перезапустите Edge Management Server с помощью команды:
    $ /opt/apigee/apigee-service/bin/apigee-service перезапуск сервера Edge-Management-Server
  4. Отредактируйте /opt/apigee/customer/application/ui.properties , чтобы установить следующее свойство для пользовательского интерфейса Edge. Если этот файл не существует, создайте его:
    conf_apigee_apigee.mgmt.baseurl="https:// полное доменное имя:8443 /v1"

    где FQDN — это полное доменное имя в соответствии с адресом сертификата Сервера управления, а номер порта — это порт, указанный выше в conf_webserver_ssl.port .
  5. Только если вы использовали самозаверяющий сертификат (не рекомендуется в производственной среде) при настройке доступа TLS к API управления выше, добавьте следующее свойство в ui.properties :
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    В противном случае пользовательский интерфейс Edge отклонит самозаверяющий сертификат.
  6. Перезапустите пользовательский интерфейс Edge с помощью команды:
    $ /opt/apigee/apigee-service/bin/apigee-service перезапуск Edge-UI

Свойства TLS для сервера управления

В следующей таблице перечислены все свойства TLS/SSL, которые вы можете установить в файле Management-server.properties :

Характеристики

Описание

conf_webserver_http.port=8080

По умолчанию — 8080.

conf_webserver_ssl.enabled = ложь

Чтобы включить/отключить TLS/SSL. Если TLS/SSL включен (true), необходимо также установить свойства ssl.port и keystore.path.

conf_webserver_http.turn.off=истина

Чтобы включить/отключить http вместе с https. Если вы хотите использовать только HTTPS, оставьте значение по умолчанию true .

conf_webserver_ssl.port=8443

Порт TLS/SSL.

Требуется, если TLS/SSL включен ( conf_webserver_ssl.enabled=true ).

conf_webserver_keystore.path=<путь>

Путь к файлу хранилища ключей.

Требуется, если TLS/SSL включен ( conf_webserver_ssl.enabled=true ).

conf_webserver_keystore.password=

Используйте запутанный пароль в следующем формате: OBF:xxxxxxxxxx.

conf_webserver_cert.alias=

Дополнительный псевдоним сертификата хранилища ключей

conf_webserver_keymanager.password=

Если у вашего менеджера ключей есть пароль, введите запутанную версию пароля в следующем формате: OBF:xxxxxxxxxx.

conf_webserver_trust.all= <false | правда>

conf_webserver_trust.store.path=<путь>

conf_webserver_trust.store.password=

Настройте параметры вашего хранилища доверенных сертификатов. Определите, хотите ли вы принимать все сертификаты TLS/SSL (например, принимать нестандартные типы). По умолчанию установлено значение false . Укажите путь к вашему хранилищу доверенных сертификатов и введите запутанный пароль хранилища доверенных сертификатов в следующем формате: OBF:xxxxxxxxxx.

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

Укажите любые наборы шифров, которые вы хотите включить или исключить. Например, если вы обнаружите уязвимость в шифре, вы можете исключить ее здесь. Разделяйте несколько шифров пробелом.

Для получения информации о наборах шифров и архитектуре шифрования см.:

http://docs.oracle.com/javase/8/docs/technotes/
Guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Целые числа, определяющие:

  • Размер кэша сеанса TLS/SSL (в байтах) для хранения информации сеанса для нескольких клиентов.
  • Время, в течение которого сеансы TLS/SSL могут длиться до истечения времени ожидания (в миллисекундах).