我如何阻止 dovecot 告诉其客户端我正在运行什么版本的 Linux 以及它是一个 dovecot imap 服务器?
如果我连接到我的 smtp 服务器,我会看到以下代码片段
user@host:~$ openssl s_client -crlf -connect mail.example.com:993
CONNECTED(00000003)
...
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready.
...
user@host:~$
令我沮丧的是,上面的输出清楚地表明我正在运行 Debian 服务器并且使用 dovecot 作为我的 IMAP 服务器。
在nginx中可以通过设置server_tokens off
禁止此类信息泄露。
在 Apache 中,它是
ServerTokens Prod
ServerSignature Off
有什么等效设置可以告诉 dovecot 不要将我正在运行的操作系统或 imap 服务器泄露给客户端?
答案1
您可以通过将login_greeting
选项设置dovecot.conf
为空字符串来实现这一点
将以下内容添加到您的dovecot.conf
文件中:
login_greeting = ''
重启 dovecot。现在连接尝试应该如下所示:
user@host:~$ openssl s_client -crlf -connect mail.example.com:993
CONNECTED(00000003)
...
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN]
...
user@host:~$