配置端到端传输安全性

注意: 为确保端到端传输加密,请确保您的GoCD服务器和代理均以最低版本16.7.0运行

本节将帮助您使用正确的SSL / TLS证书和验证过程来配置和提高代理与服务器通信的安全性。

GoCD代理允许某些配置能够配置和保护端到端传输安全性,以适应不同的安全级别。

代理默认信任任何和所有提供给它的证书,这可能允许MITM攻击。 如果您想进一步提高安全性,通过提供自己的服务器证书,您可以在启动代理程序过程之前提供以下选项之一。

java -jar agent-bootstrapper.jar -serverUrl https://ci.example.com:8154/go [-rootCertFile /path/to/root-cert.pem] [-sslVerificationMode FULL|NONE|NO_VERIFY_HOST]

-rootCertFile 选项

“-rootCertFile”选项必须指向GoCD服务器的根证书(如果您使用的是由已知CA签名的证书,则可能不需要传递rootCertFile,如果根证书存在于默认JVM信任存储中)。 您可以使用页面信息窗口通过点击从Firefox导出它 从证书详细信息页面的“导出”,如下所示:

使用Firefox从GoCD服务器下载TLS证书

如果您有openssl二进制文件可用,那么您也可以运行下面的命令从GoCD服务器导出根证书:

openssl s_client -showcerts -connect HOSTNAME:PORT </dev/null 2>/dev/null|openssl x509 -outform PEM

-sslVerificationMode 选项

-sslVerificationMode选项允许您选择您想要的验证级别。

  • NONE(默认)将禁用所有SSL / TLS验证。
  • NO_VERIFY_HOST将执行证书检查,但忽略服务器主机名的验证。
  • FULL将执行完整的证书验证。

配置代理

Windows

如果您将GoCD代理作为Windows服务运行

编辑文件(如果它已经不存在)GO_AGENT_INSTALL_DIR / config / wrapper-properties.conf并且添加下面的属性

# config/wrapper-properties.conf

# 设置ssl验证模式
wrapper.app.parameter.4=-sslVerificationMode
wrapper.app.parameter.5=FULL

# 设置ssl根证书路径(如果服务器正在使用未由众所周知的证书颁发机构签名的证书)
wrapper.app.parameter.6=-rootCertFile
wrapper.app.parameter.7=C:\Path\To\root-cert.pem

如果您通过批处理文件运行GoCD代理

在运行批处理文件之前设置系统环境AGENT_BOOTSTRAPPER_ARGS。 您可以从命令行设置它,或者如果您希望永久更改,可以从“控制面板”中的“高级系统设置”对话框中进行设置。

C:\> set AGENT_BOOTSTRAPPER_ARGS=-rootCertFile C:\Path\To\root-cert.pem -sslVerificationMode FULL
C:\> agent.cmd

Linux

如果您将GoCD代理作为服务运行

编辑文件/etc/default/go-agent并添加以下行

# /etc/default/go-agent

AGENT_BOOTSTRAPPER_ARGS="-rootCertFile /path/to/root-cert.pem -sslVerificationMode FULL"

如果您从命令行运行GoCD代理

$ export GO_SERVER_URL='https://ci.example.com:8154/go'
$ export AGENT_BOOTSTRAPPER_ARGS="-rootCertFile /path/to/root-cert.pem -sslVerificationMode FULL"
$ ./agent.sh

results matching ""

    No results matching ""