我试图以一种可以回答的方式提出这个问题,但是问题的一部分就是知道我现在的情况,以及是否存在一个问题或技术债务,这些问题会进一步激化我。
我已经在主副本设置中设置了几个IPA服务器。
server1:dns一个logging(和fqdn主机名):srv1.mydomain.com
server2:dns一个logging(和fqdn主机名):srv2.mydomain.com
server3:dns一个logging(和fqdn主机名):srv3.mydomain.com
服务器分别具有auth-a,auth-b,auth-c的cname,并按照正常的IPA安装使用自签名证书。
这工作很好几个月的SSH连接和sssd等。 当试图在仅允许指定一个ldap服务器的应用程序中挂钩时,问题就到了。 有SRV DNSlogging设置故障转移,但为了让这些应用程序的工作,我还把一个DNS轮循环logging。
赶上这轮循环只适用于正常的ldap查找,而不是ldap ssl。 我可以使SSL工作,但是如果我禁用检查SSL证书。
所以…问题!
a)实际上,禁用内部服务证书检查有多糟糕? 总是会从LAN查询这个ldap服务器。 我相信我被打开到可能的MITM攻击,但我不确定我需要如何担心。 我的意思是,现在我的其他select是不使用SSL,这是可怕的酱。 为了执行MITM攻击,他们已经需要在我的networking上并控制DNS了,不是吗? 任何可以将这个问题量化为实际意见的build议都是有帮助的。
b)据我所知,它实际上是解决这个问题,我需要给RR dns条目作为服务器的自签名证书上的主题ALT名称。 这意味着重新键入服务器,对吧? 在IPA的情况下意味着每个客户重新joinIPA以获得新证书。 我觉得这是一个不起眼的东西。
c)考虑到(a)和(b)的现状和结果,你认为最好的做法是允许只允许指定一个ldap服务器的应用程序(并且不使用任何SRV dnslogging方式)故障转移到另一台服务器应该下降,仍然允许ldap通过SSL给我的证书?
您应该使用subjectAlternitiveNames发出新的证书,并在负载均衡器处指定该名称的DNSlogging。
在服务器故障的情况下,循环赛dns不一定会提供更多的可用性,除非您从dns中提取A / AAAAlogging,因为客户端将随机尝试连接到其中一台服务器,包括失败的服务器。 如果应用程序不尝试重新连接,或者运气不好,并且连续获得相同的logging,则失败。 在前面添加一个负载平衡器增加了额外的复杂性,但意味着这种可能性减less了。 如果你对负载分配的循环赛感到满意,那么我会考虑在证书中input一个subjectaltname是否会满足客户端的ldaps,否则通配符可能不适合。 通过运行自己的内部PKI并将其作为可信的CA部署到客户机器中,也可以防止中间人的出现。 这样做还有一个额外的好处,就是您可以看到过期或过期的证书,而不必在拥有自己的证书的每台主机/服务上进行pipe理。
如果你以后是HA,我会做一些简单但有用的事情:
为IPA设置HA群集(以避免麻烦 – 仅在libvirt服务为受保护进程的VM中运行),并将IPA实例用于所有这些受限制的应用程序,而其他IPA则倾向于用户身份validation。 IPA在KVM上效果很好,我已经运行了好几个多年没有问题的实例