Linux服务器TLS证书故障解决方法

日期: 2014-08-18 作者:Sander van Vugt翻译:王丹红 来源:TechTarget中国 英文

许多Linux服务器都使用TLS证书,但是它们的工作方式不尽相同。 证书问题不总是容易发现,假设你想要登陆一台LDAP服务器,在没有通知任何错误的情况下连接超时。也许你会认为这是用户账户出了问题,但常常与证书相关。Linux管理员在使用不同方式部署TLS证书方面很头疼。

不好的证书会引发问题,解决问题取决于根本起因。首先,检查日志文件去分析问题。你也需要使用像tcpdump的工具来检查是哪个连接端口引发的网络拥塞。许多协议都有一个安全和非安全端口,tcpdump可以帮助你识别。

一旦你确定了问题在于证书,定位服务器使用的具体文件,该文件中总是包含三个组件:公钥证书、私钥和证书授权(CA)密钥文件……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

许多Linux服务器都使用TLS证书,但是它们的工作方式不尽相同。

证书问题不总是容易发现,假设你想要登陆一台LDAP服务器,在没有通知任何错误的情况下连接超时。也许你会认为这是用户账户出了问题,但常常与证书相关。Linux管理员在使用不同方式部署TLS证书方面很头疼。不好的证书会引发问题,解决问题取决于根本起因。
首先,检查日志文件去分析问题。你也需要使用像tcpdump的工具来检查是哪个连接端口引发的网络拥塞。许多协议都有一个安全和非安全端口,tcpdump可以帮助你识别。

一旦你确定了问题在于证书,定位服务器使用的具体文件,该文件中总是包含三个组件:公钥证书、私钥和证书授权(CA)密钥文件。

每一个服务都有具体的配置文件用来寻找这些日志文件。例如,Apache Web Server,你的Linux分布式服务器可能使用名为mod_ssl.conf的配置文件,其中包含以下代码行:
SSLCertificateFile /etc/pki/tls/certs/myserver.crt

SSLCertificateKeyFile /etc/pki/tls/private/myserver.key

一般的,文件后缀为.crt的是服务器证书文件。其中包含CA签名公钥。.key文件中包含服务器身份的私钥。在做其它事情之前,你需要确保服务器文件存在于你期望能够找到的配置文件当中。
.crt文件的一个普遍的问题是使用了未知的CA。由证书授权的公钥证书,保证了文件的可靠性和完整性。客户已经知道CA需要作为外部服务器。管理员通常会生成自己定义的公钥/私钥对。这就像是在询问“谁能保证你是真正的Sander van Vugt?”“我是Sander van Vugt,既然我这样说了,所以你可以相信我。”这种方式并不怎么方便,是吗?
在一些服务中,寻找自签名证书的相关错误很容易。人们使用自签名证书连接到网络服务器;服务器给出一个明文;然后终端用户可以轻松的退出。

其他的服务错误不会如此明显。一个LDAP客户获得一个非受信的证书将会连接失败,寻找问题的原因的方式是仔细分析日志文件找到提示与CA相关错误。如果找到了,找到服务器存储CA证书的文件夹。确信你找到了需要的CA证书,然后复制它覆盖到原来的位置。再试一次,它就会生效了。
另一个普遍的与TLS证书相关的错误,发生在证书的名字和连接的另一端目标终端不匹配时。假设你通知了LDAP客户连接到LDAP服务器hnl.example.com。为了确保生效,证书需要有一个主题名hnl.example.com。如果没有主题名,连接将会失败。一旦你知道了证书的存储地点,一般在服务器/etc/pki/tls/certs文件下。如果你想使用它,你可以使用openssl命令获得主题名:opensslx509-text<myserver.crt | grep Subject。如果名字不符,你需要改变客户端连接服务器的方式。
由于证书过期也会出现连接失败。使用openssl x509 -text < myserver.crt命令,系统将会告诉你证书期限。管理员需要在证书到期日之前创建新的证书。

翻译

王丹红
王丹红

编辑

相关推荐