Edge for Private Cloud v4.19.01
默认情况下,您可以使用管理服务器节点的 IP 地址和端口 9000,通过 HTTP 访问边缘管理界面。例如:
http://ms_IP:9000
或者,您也可以配置对管理界面的 TLS 访问,以便通过以下形式对其进行访问:
https://ms_IP:9443
在此示例中,配置 TLS 访问以使用端口 9443。但是,边缘不需要该端口号,您可以将管理服务器配置为使用其他端口值。唯一的要求是您的防火墙允许通过指定端口传输流量。
确保您的 TLS 端口已打开
本部分的过程将 TLS 配置为使用管理服务器上的端口 9443。 无论您使用哪个端口,都必须确保该端口在管理服务器上是开放的。例如,您可以使用以下命令将其打开:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose
配置 TLS
请按照以下步骤配置对管理界面的 TLS 访问权限:
- 生成包含 TLS 证书和私钥的密钥库 JKS 文件,并将其复制到 Management Server 节点。如需了解详情,请参阅为边缘本地配置 TLS/SSL。
- 运行以下命令以配置 TLS:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- 输入 HTTPS 端口号,例如 9443。
- 指定是否要停用对管理界面的 HTTP 访问权限。默认情况下,可以在端口 9000 上通过 HTTP 访问管理界面。
- 输入密钥库算法。默认值为 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 是指向您保存的文件的完整路径。
配置当负载平衡器上 TLS 终止时的边缘界面
如果您有将请求转发到 Edge 界面的负载平衡器,您可以选择终止该负载平衡器上的 TLS 连接,然后让负载平衡器通过 HTTP 将请求转发到 Edge 界面。此配置受支持,但您需要相应地配置负载平衡器和 Edge 界面。
如果 Edge 界面在创建用户时或用户请求重置丢失的密码时向用户发送电子邮件以设置密码,则需要进行额外配置。此电子邮件包含用户选择用于设置或重置密码的网址。默认情况下,如果 Edge 界面未配置为使用 TLS,则生成的电子邮件中的网址会使用 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
|
定义 Edge 界面的默认 TLS 协议。默认为 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 界面的响应。如果存在此标志,则只能通过已启用 TLS 的通道发送 Cookie。如果不存在,则 Cookie 可以通过任意通道发送,无论其是否安全。
不带 secure
标志的 Cookie 有可能会允许攻击者捕获和重复使用该 Cookie 或者劫持活跃会话。因此,最佳做法是启用此设置。
如需为 Edge 界面 Cookie 设置 secure
标志,请执行以下操作:
- 在文本编辑器中打开以下文件:
/opt/apigee/customer/application/ui.properties
如果该文件不存在,请创建一个。
- 在
ui.properties
文件中将conf_application_session.secure
属性设置为true
,如以下示例所示:conf_application_session.secure=true
- 保存更改。
- 使用
apigee-serice
实用程序重启 Edge 界面,如以下示例所示:/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
如需确认更改是否有效,请使用 curl
等实用程序检查 Edge 界面中的响应标头;例如:
curl -i -v https://edge_UI_URL
标头应包含如下所示的行:
Set-Cookie: secure; ...
在 Edge 界面中停用 TLS
如需在 Edge 界面中停用 TLS,请使用以下命令:
/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl