По умолчанию вы получаете доступ к пользовательскому интерфейсу Edge через HTTP, используя IP-адрес узла сервера управления и порт 9000. Например:
http://ms_IP:9000
Альтернативно вы можете настроить доступ TLS к пользовательскому интерфейсу Edge, чтобы иметь к нему доступ в форме:
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 On Premises .
- Выполните следующую команду для настройки TLS:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- Введите номер порта HTTPS, например, 9443.
- Укажите, хотите ли вы отключить HTTP-доступ к пользовательскому интерфейсу управления. По умолчанию пользовательский интерфейс управления доступен через HTTP через порт 9000.
- Введите алгоритм хранилища ключей. По умолчанию — JKS.
- Введите абсолютный путь к файлу JKS хранилища ключей.
Сценарий копирует файл в каталог
/opt/apigee/customer/conf
на узле Management Server и меняет владельца файла на «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 при завершении TLS на балансировщике нагрузки
Если у вас есть балансировщик нагрузки, который перенаправляет запросы в пользовательский интерфейс Edge, вы можете прекратить соединение TLS на балансировщике нагрузки, а затем заставить балансировщик нагрузки пересылать запросы в пользовательский интерфейс Edge через HTTP. Эта конфигурация поддерживается, но вам необходимо соответствующим образом настроить балансировщик нагрузки и пользовательский интерфейс Edge.
Дополнительная настройка требуется, когда пользовательский интерфейс Edge отправляет пользователям электронные письма для установки пароля при создании пользователя или когда пользователь запрашивает сброс утерянного пароля. Это электронное письмо содержит URL-адрес, который пользователь выбирает для установки или сброса пароля. По умолчанию, если пользовательский интерфейс Edge не настроен на использование TLS, URL-адрес в созданном электронном письме использует протокол HTTP, а не HTTPS. Необходимо настроить балансировщик нагрузки и пользовательский интерфейс Edge для создания адреса электронной почты, использующего HTTPS.
Чтобы настроить балансировщик нагрузки, убедитесь, что он устанавливает следующий заголовок для запросов, пересылаемых в пользовательский интерфейс Edge:
X-Forwarded-Proto: https
Чтобы настроить пользовательский интерфейс Edge:
- Откройте файл
/opt/apigee/customer/application/ui.properties
в редакторе. Если файл не существует, создайте его:vi /opt/apigee/customer/application/ui.properties
- Установите следующее свойство в
ui.properties
:conf/application.conf+trustxforwarded=true
- Сохраните изменения в
ui.properties
. - Перезапустите пользовательский интерфейс Edge:
/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. По умолчанию это 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:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Используйте безопасные файлы cookie
Apigee Edge для частного облака поддерживает добавление флага secure
в заголовок Set-Cookie
для ответов из пользовательского интерфейса Edge. Если этот флаг присутствует, файлы 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 с помощью утилиты
apigee-serice
, как показано в следующем примере:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Чтобы убедиться, что изменение работает, проверьте заголовки ответов в пользовательском интерфейсе Edge с помощью такой утилиты, как curl
; например:
curl -i -v https://edge_UI_URL
Заголовок должен содержать строку, которая выглядит следующим образом:
Set-Cookie: secure; ...
Отключите TLS в пользовательском интерфейсе Edge.
Чтобы отключить TLS в пользовательском интерфейсе Edge, используйте следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl