Edge for Private Cloud 4.19.01
По умолчанию доступ к пользовательскому интерфейсу управления Edge осуществляется по протоколу HTTP с использованием IP-адреса узла сервера управления и порта 9000. Пример:
http://ms_IP:9000
Вы также можете настроить доступ к интерфейсу управления по протоколу TLS, чтобы использовать URL следующего вида:
https://ms_IP:9443
В этом примере вы настраиваете доступ TLS для использования порта 9443. Однако этот номер порта не является обязательным для Edge – вы можете настроить сервер управления на использование других значений портов. Единственное требование – брандмауэр должен разрешать трафик через указанный порт.
Убедитесь, что порт TLS открыт
В этом разделе описывается, как настроить TLS для использования порта 9443 на сервере управления. Независимо от того, какой порт вы используете, убедитесь, что он открыт на сервере управления. Например, вы можете использовать следующую команду:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose
Настройте TLS
Чтобы настроить доступ к интерфейсу управления по протоколу TLS, выполните следующие действия:
- Сгенерируйте файл JKS хранилища ключей, содержащий сертификат TLS и закрытый ключ, и скопируйте его на узел сервера управления. Подробнее о настройке TLS/SSL для локальной версии Edge…
- Чтобы настроить TLS, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- Введите номер порта HTTPS, например 9443.
- Укажите, нужно ли отключить доступ по протоколу HTTP к интерфейсу управления. По умолчанию интерфейс управления доступен по протоколу HTTP через порт 9000.
- Введите алгоритм хранилища ключей. По умолчанию используется JKS.
- Укажите абсолютный путь к файлу JKS хранилища ключей.
Скрипт копирует файл в каталог
/opt/apigee/customer/confна узле сервера управления и меняет владельца файла на apigee. - Введите пароль хранилища ключей в виде обычного текста.
- Затем скрипт перезапускает пользовательский интерфейс управления Edge. После перезапуска интерфейс управления будет поддерживать доступ по протоколу TLS.
Эти настройки можно посмотреть в
/opt/apigee/etc/edge-ui.d/SSL.sh.
Как настроить TLS с помощью файла конфигурации
В качестве альтернативы описанной выше процедуре вы можете передать файл конфигурации команде на шаге 2. Этот метод нужно использовать, если вы хотите задать необязательные свойства TLS.
Чтобы использовать файл конфигурации, создайте новый файл и добавьте следующие свойства:
HTTPSPORT=9443 DISABLE_HTTP=y KEY_ALGO=JKS KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks KEY_PASS=clearTextKeystorePWord
Сохраните файл в локальном каталоге под любым именем. Затем используйте следующую команду, чтобы настроить TLS:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
где configFile – полный путь к сохраненному файлу.
Как настроить Edge UI, если трафик TLS не идет дальше балансировщика нагрузки
Если у вас есть балансировщик нагрузки, который перенаправляет запросы в Edge UI, вы можете завершить TLS-подключение на балансировщике нагрузки, а затем настроить его так, чтобы он перенаправлял запросы в Edge UI по протоколу HTTP. Эта конфигурация поддерживается, но вам нужно настроить балансировщик нагрузки и Edge UI соответствующим образом.
Дополнительная настройка требуется, когда Edge UI отправляет пользователям электронные письма для установки пароля при создании пользователя или когда пользователь запрашивает сброс утерянного пароля. В этом письме содержится URL, по которому пользователь может перейти, чтобы задать или сбросить пароль. По умолчанию, если пользовательский интерфейс Edge не настроен на использование TLS, URL-адрес в сгенерированном электронном письме использует протокол HTTP, а не HTTPS. Вам необходимо настроить балансировщик нагрузки и Edge UI, чтобы сгенерировать адрес электронной почты, использующий HTTPS.
Чтобы настроить балансировщик нагрузки, убедитесь, что он устанавливает следующий заголовок для запросов, перенаправляемых в Edge UI:
X-Forwarded-Proto: https
Чтобы настроить Edge UI, выполните следующие действия:
- Откройте файл
/opt/apigee/customer/application/ui.propertiesв редакторе. Если файла нет, создайте его:vi /opt/apigee/customer/application/ui.properties
- Задайте следующее свойство в
ui.properties:conf/application.conf+trustxforwarded=true
- Сохраните изменения в файле
ui.properties. - Перезапустите Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Настройка необязательных свойств TLS
Пользовательский интерфейс Edge поддерживает необязательные свойства конфигурации TLS, которые можно использовать для настройки следующих параметров:
- Протокол TLS по умолчанию
- Список поддерживаемых протоколов TLS
- Поддерживаемые алгоритмы TLS
- Поддерживаемые шифры TLS
Эти необязательные параметры доступны, только если вы задали следующее свойство конфигурации в файле конфигурации, как описано в разделе Использование файла конфигурации для настройки TLS:
TLS_CONFIGURE=y
В таблице ниже описаны эти свойства.
| Свойство | Описание |
|---|---|
TLS_PROTOCOL
|
Определяет протокол TLS по умолчанию для Edge UI. По умолчанию используется TLS 1.2. Допустимые значения: TLSv1.2, TLSv1.1, TLSv1. |
TLS_ENABLED_PROTOCOL
|
Определяет список включенных протоколов в виде массива, разделенного запятыми. Пример: TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"] Обратите внимание, что символ " нужно экранировать.
По умолчанию включены все протоколы. |
TLS_DISABLED_ALGO
|
Определяет отключенные наборы шифров и может использоваться для предотвращения использования ключей небольшого размера для подтверждения TLS. Значение по умолчанию не задано. Значения, передаваемые в
TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048 |
TLS_ENABLED_CIPHERS
|
Определяет список доступных шифров TLS в виде массива, разделенного запятыми. Пример: TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\", \"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"] Обратите внимание, что символ " нужно экранировать.
Список шифров, включенных по умолчанию: "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "SSL_RSA_WITH_RC4_128_SHA", "SSL_RSA_WITH_RC4_128_MD5", "TLS_EMPTY_RENEGOTIATION_INFO_SCSV" Список доступных шифров можно найти здесь. |
Отключение протоколов TLS
Чтобы отключить протоколы TLS, необходимо изменить файл конфигурации, как описано в разделе Как настроить TLS с помощью файла конфигурации:
- Откройте файл конфигурации в редакторе.
- Чтобы отключить один протокол TLS, например TLSv1.0, добавьте в файл конфигурации следующую строку:
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1"
Чтобы отключить несколько протоколов, например TLSv1.0 и TLSv1.1, добавьте в файл конфигурации следующее:
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
- Сохраните изменения в файле конфигурации.
- Чтобы настроить TLS, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
где configFile – полный путь к файлу конфигурации.
- Перезапустите Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Используйте защищенные файлы cookie
Apigee Edge для Private Cloud поддерживает добавление флага secure в заголовок Set-Cookie для ответов из Edge UI. Если этот флаг присутствует, файл cookie можно отправлять только по каналам с поддержкой TLS. Если атрибут отсутствует, файл cookie можно передавать по любому каналу, независимо от того, защищен он или нет.
Файлы cookie без флага secure могут позволить злоумышленнику перехватить и повторно использовать файл cookie или захватить активный сеанс. Поэтому мы рекомендуем включить эту настройку.
Чтобы установить флаг secure для файлов cookie Edge UI, выполните следующие действия:
- Откройте в текстовом редакторе следующий файл:
/opt/apigee/customer/application/ui.properties
Если файла нет, создайте его.
- Задайте для свойства
conf_application_session.secureзначениеtrueв файлеui.properties, как показано в примере ниже.conf_application_session.secure=true
- Сохраните изменения.
- Перезапустите Edge UI с помощью утилиты
apigee-serice, как показано в примере ниже./opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Чтобы убедиться, что изменение работает, проверьте заголовки ответа из Edge UI с помощью утилиты, например curl. Пример:
curl -i -v https://edge_UI_URL
Заголовок должен содержать строку, похожую на следующую:
Set-Cookie: secure; ...
Как отключить TLS в Edge UI
Чтобы отключить TLS в Edge UI, используйте следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl