Exchange 2007 POP3&SSL 排错心得

最近遇到这样的一个案例,一个用户在为 Exchange 2007上的用户配置 POP3 SSL的时候遇到证书的错误,经过仔细分析日志文件,该问题终于得到了解决,现在把它整理一下,和大家一起分享排错的经验。
  首先介绍一下用户的配置环境:
  域名为 abc.com,为了 安全上的原因,我将用户的域名做了修改。
   Exchange 2007 服务器,安装有中心传输 服务器、客户端访问服务器和邮箱服务器等角色。
  客户端为 Outlook 2003 ,用户通过 POP3SMTP的方式接收和发送邮件。现在用户做了一下配置:
  在 Outlook 2003中,做了以下设置:
  在 INTERNET电子邮件设置 (POP3)
   �D钩选 "使用 安全密码验证登陆 (SPA)"
   �D其他设置 "我的发送服务器 (SMTP) 要求验证 "
   �D接收服务器 (POP3) 995端口
   �D钩选 "此服务器要求加密连接 (SSL)"
   �DSMTP) 25端口
  如图 1 所示。
   
 

    
   
在打开 OUTLOOK2003后,点 "收发邮件 ",出现下面的信息:
   您连接到的服务器正在使用一个无法验证的安全证书.
  已处理证书链,但是在不受信任提供程序信任的根证书中终止.
  您想继续使用这个服务器吗?(是/ 否)
  看到这个错误,我首先想到客户端可能不信任该证书,该证书可能是一张自签名的证书,在安装 Exchange 2007服务器的时候,系统会自动安装一张自签名的证书,由于该证书不位于客户端的受信任的根证书 存储列表中,因此该证书不被客户端信任。为了确认该证书的相关信息,我让用户在 Exchange 2007服务器上运行下面的命令:
   Get-exchangecertificate | fl *
   AccessRules          : {System.Security.AccessControl.CryptoKeyAccessRule, Syst
   em.Security.AccessControl.CryptoKeyAccessRule, System.Se
   curity.AccessControl.CryptoKeyAccessRule}
   CertificateDomains   : {servername, servername.abc.com}
   CertificateRequest   :
   IisServices          : {IIS://servername/W3SVC/1}
   IsSelfSigned         : True
   KeyIdentifier        : 9DF099B1F590BD4E9F1E851203F249E5F28EB8B1
   RootCAType           : None
   Services             : IMAP, POP, IIS, SMTP
   Status               : Valid
根据下面的信息,我们可以判断出该证书是自签名的证书:
   IsSelfSigned         : True
  我建议用户从第三方商业机构申请证书或者从安装 Windows CA来颁发证书,通过 import-exchangecertificate命令导入该证书,然后通过 Enable-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -Services "POP, IMAP" 为该证书启用 POP3服务,在测试一下,看结果如何。
  同时我又让用户在 Exchange 服务器上运行下面的命令来检查 POP3的相关设置:
   Get-popsettings | fl
   Name                              : 1
   ProtocolName                      : POP3
   MaxCommandSize                    : 45
   MessageRetrievalSortOrder         : Descending
   UnencryptedOrTLSBindings          : {0000:0000:0000:0000:0000:0000: 0.0.0 .0:110,
   0.0.0 .0:110}
   SSLBindings                       : {0000:0000:0000:0000:0000:0000: 0.0.0 .0:995,
   0.0.0 .0:995}
   X509CertificateName               : servername
   Banner                            : The Microsoft Exchange POP3 service is read
   y.
   LoginType                         : PlainTextLogin
  我发现 Logintype设置不正确, POP3有三种身份验证方法,分别是 PlainTextLoginPlainTextAuthenticationSecureLogin。说到这里,我们不得不解释每种身份验证方法的具体含义。
   PlainTextLogin表示端口 110 上不需要 TLS 加密。
   PlainTextAuthentication表示端口 110 上不需要 TLS 加密。但是,只允许在使用 TLS SSL 加密的端口上使用基本身份验证。
   SecureLogin 表示执行身份验证之前,端口 110 上的连接必须使用 TLS 加密。
  因此,正确的设置应该是 SecureLogin。我让用户运行下面的命令来修改:
   Set-popsettings -logintype SecureLogin
  此外,我还发现下面的信息:
   X509CertificateName               : servername
  这时,用户打开 Outlook时出现下面的信息:
   您连接的服务器正在使用一个无法验证的安全证书.
  证书的CN名给传递的值不匹配.
  你想继续使用这个服务器吗?
  看到该信息,说明前面的步骤已经生效了,该错误只是说明证书的名称和 POP3中设置的服务器名称不一致。
  我让用户仔细检查图 2中接收服务器中设置的服务器名称是否和 X509CertificateName中的名称一致,用户发现它填写的是服务器的 IP地址,在修改为与 X509CertificateName一致的名称后,打开 Outlook后,不会出现任何告警信息,问题到此已经解决。

你可能感兴趣的:(职场,ssl,心得,Exchange,休闲)