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

Edge для частного облака v4.18.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=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 On Premises .
  5. Перезапустите Edge Management Server с помощью команды:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

Настройте пользовательский интерфейс 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=true
  3. Перезапустите Edge Management Server с помощью команды:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Отредактируйте /opt/apigee/customer/application/ ui.properties чтобы установить следующее свойство для пользовательского интерфейса Edge. Если этот файл не существует, создайте его: conf_apigee_apigee.mgmt.baseurl="https:// FQDN: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 restart

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

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

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

Описание

conf_webserver_http.port=8080

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

conf_webserver_ssl.enabled=false

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

conf_webserver_http.turn.off=true

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

conf_webserver_ssl.port=8443

Порт TLS/SSL.

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

conf_webserver_keystore.path=<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 | true>

conf_webserver_trust.store.path=<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 могут длиться до истечения времени ожидания (в миллисекундах).