首页 文章

Ansible winrm_server_cert_validation HTTPS安全性

提问于
浏览
1

我在连接到Windows 8.1嵌入式计算机的Linux计算机上使用Ansible . 它可以通过HTTPS端口5986连接用户名和密码,但我需要指定选项:
ansible_winrm_server_cert_validation =忽略
ansible文档指定:

使用默认的WinRM自签名证书时,Python 2.7.9(或任何已反向移植SSLContext的旧版Python,例如RHEL7上的Python 2.7.5)需要以下内容:

Windows计算机有一个SSL侦听器,它使用powershell脚本中的Self-SignedCertificates配置:
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
我的问题是,如果我忽略了服务器证书验证,那是否会破坏HTTPS应该提供的加密?或者服务器证书验证只是一个单独的HTTPS过程?

谢谢

2 回答

  • 1

    是的,如果您按照default Ansible config for WinRM中的建议忽略证书验证,则您的连接不安全 - 有人可以使用HTTPS连接中的中间人(MITM)攻击来欺骗目标服务器 . (Ansible文档中确实应该有安全警告 . )

    最好的替代方案似乎是NTLM / Negotiate身份验证,而不是HTTPS,从而无需SSL证书 . 您的Ansible控制机器需要能够作为Windows用户通过NTLM进行身份验证,就像使用SMB文件共享一样 .

    您需要 pywinrm 0.2.0 or higher用于NTLM / Negotiate支持 .

    有用的链接

  • 0

    证书验证是一个与加密不同的过程 . 通讯将被加密 . 您可以在issues with self-signed certificates上阅读更多内容,但是高级别是您删除Ansible的任何方式来验证连接另一端的确切位置,并向HTTPS通常保护您的中间攻击中的人开放 .

相关问题