如何在master和minion之间启用Saltstack ssl连接

问题描述 投票:0回答:2

我尝试通过以下方式为Saltstack master和minion启用sslhttps://docs.saltstack.com/en/latest/ref/configuration/master.html#ssl但我不确定如何验证它是否使用SSL .

我在主配置中添加了这个:

ssl:
  keyfile: /etc/salt/ssl/master/key.pem
  certfile: /etc/salt/ssl/master/cert.pem
  ssl_version: PROTOCOL_TLSv1_2

我在minion中添加了类似的设置。但是,当我使用 openssl 测试端口时:

openssl s_client -connect <master ip>:4505 -debug
,我得到
SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
。看来 SSL 根本没有启用。如何验证SSL是否启用?主人和仆从的沟通似乎很好。我只需要验证它是否使用 SSL。我在 Centos 7 上使用 python 2.7。我需要安装任何额外的软件包吗?

ssl salt-stack
2个回答
1
投票

您还需要添加

transport: tcp

那么您至少会在

/var/log/salt/master
/var/log/salt/minion

中收到一些与 SSL 相关的错误

您可以使用

tcpdump
捕获一些流量并在wireshark中对其进行分析,以验证连接是否经过ssl加密。


0
投票

这篇文章出现在我有关让 SaltStack 使用 SSL 的搜索中 - 自最初的答案以来,事情已经发生了一些变化。

我们的特殊需求需要服务器和客户端证书,最终结果如下:

在主机上您需要如下设置

ssl
  keyfile: <path to master key file>
  certfile: <path to master certificate>
  ca_certs: <path to minion CAs>
  cert_reqs: CERT_REQUIRED
  ssl_version: PROTOCOL_TLS_SERVER

然后是小黄人

ssl
  keyfile: <path to minion key file>
  certfile: <path to minion certificate>
  ca_certs: <path to master CAs>
  cert_reqs: CERT_REQUIRED
  ssl_version: PROTOCOL_TLS_CLIENT

transport = tls
选项不是必需的 - 实际上会阻止
salt
命令在主机上正确运行,因为它会阻止该命令通过 unix 套接字进行连接。

在我们的测试中,我们还发现minion用来联系master的IP地址需要在master的证书Subject Alternative Name中,否则minion将无法验证master的证书。

© www.soinside.com 2019 - 2024. All rights reserved.