OpenSSL是一款开源工具包,用于实现安全套接层SSL)和传输层安全TLS)协议,它对于大多数负责安全网络工作的Linux管理员来说是必不可少的一款日常工具。但是OpenSSL还包括丰富的功能,连经验老到的资深人士也可能不太熟悉这些功能。你可以使用OpenSSL来测试POP和IMAP服务器,并且测试服务器的连接速度,还有其他值得关注的用途。

要测试POP服务器,先给自己发送一堆测试消息,那样你就有东西可以处理了。使用域名或IP地址和端口号,连接到POP3S服务器;端口995是标准的POP3S端口:

当你部署一台新的邮件服务器,或者对旧的邮件服务器进行更改时,传统的telnet仍是测试未加密的POP和IMAP服务器会话的保留工具。但是如果是使用TLS/SSL加密的服务器,该怎么办呢?Telnet无法与这些服务器进行对话。要测试这些服务器,最快速、最容易的办法就是使用OpenSSL的s_client选项。s_client是一个普通的SSL/TLS客户端,用来测试使用TLS/SSL的所有服务器。

Verify return code: 18 (self signed certificate)

+OK Hello there.

这个响应表明这是一台Courier
POP3服务器。另一种流行的POP3服务器Dovecot会有这样的响应:

OpenSSL测试POP和IMAP服务器

Verify return code: 18 (self signed certificate)

+OK Dovecot ready.

我想,大概Courier很害羞,不想表明身份。每一种响应都确认了服务器在运行,在响应客户端请求;核实了TSL/SSL加密处于正常工作状态。如果你想了解更多的详细信息,可以用tee命令把相当冗长的输出结果记下来,以便进一步分析。该命令将命令结果导到文本文件上,同时将它显示在屏幕上:

$ openssl s_client -connect mailserver.com:995 | tee pop3s.txt

如果输出内容看起来正确,也没有报告你的SSL证书有何问题,那么服务器极可能处于良好的工作状态,准备投入运行。要不然,你可能会看到这个常见的错误消息:

Verify return code: 20 (unable to get local issuer certificate)

这意味着,OpenSSL找不到你存储的可信证书管理机构CA)。安装的每一个Linux系统都默认存储了Verisign、Thawte和Comodo等各大商业CA的证书,以及你在上网冲浪或使用电子邮件时添加的任何CA。比如当你访问网站时,Firefox弹出一些警示内容,表明该网站在使用不可信的CA,提示你是否果真确信要访问该网站?你是否想要添加例外。)你可以告诉s_client你的邮件服务器的CA在哪里:

你可以使用OpenSSL来测试POP和IMAP服务器。你可以使用OpenSSL来测试POP和IMAP服务器。$ openssl s_你可以使用OpenSSL来测试POP和IMAP服务器。client -connect mailserver.com:995  -CApath /etc/ssl/certs/

然后,它应该会显示Verify return code: 0 (ok).

现在,你可以收阅电子邮件,看看测试邮件有没有送达。输入下面的粗体命令,使用你自己的登录信息。非粗体的几行是服务器响应:

$ +OK Dovecot ready
user carla
你可以使用OpenSSL来测试POP和IMAP服务器。+OK
pass password
你可以使用OpenSSL来测试POP和IMAP服务器。+OK Logged in.
stat
+OK 2 4761
你可以使用OpenSSL来测试POP和IMAP服务器。list
+OK
1 2232
2 2531
.
retr 1
+OK 2232 octets
Return-path:<[email protected]>
[…]

stat告诉你收件箱里面有多少封邮件及邮件大小。list列出了你的邮件。retr检索邮件,并按照列表号来显示,显示了所有标题,然后是邮件正文。你完成后,只需输入quit。

你会看到好多信息一闪而过,最后会出现这样的内容:

$ openssl s_client -connect mailserver.com:995

发表评论

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