Roundcube是一个Webmail客户端,具有强大的安全功能和来自其插件存储库的广泛自定义选项。本文介绍如何进一步保护基本的现有Roundcube安装。
如果在Roundcube的初始设置中配置IMAP和STMP设置时使用了SSL,则Roundcube与电子邮件服务器之间的连接已得到保护。但是,从您的浏览器到Roundcube的连接却不是这样,您的电子邮件本身也是明文发送的。您的Roundcube帐户本身也仅受密码保护。
在本教程中,您将通过以下方式保护电子邮件:
要学习本教程,您需要:
现在,如果您在浏览器中使用服务器的域名访问Roundcube安装,则将通过HTTP而不是HTTPS进行连接。为了完全保护从浏览器到电子邮件服务器的整个通信链,此与Roundcube的连接应使用SSL/ TLS。
一种简单的方法是使用腾讯云中的免费SSL证书。首先,我们需要申请腾讯云的证书,具体步骤如下:
进入SSL证书管理控制台
单击【申请证书】
查看申请域名型证书型号,单击【确定】
填写申请域名,例如qcloud.com,cloud.tencent.com,demo.test.qlcoud.com。
证书默认支持收到DNS验证,验证方法可查看详情。
提交申请成功后弹窗提示如下,需要前往【证书详情页】获取CName记录添加解析:
获取CName记录如Tips中显示,需要尽快成功添加解析,方可通过CA机构审核:
下载你申请的证书,Apache文件夹内获得证书文件 1_root_bundle.crt
,2_www.domain.com_cert.crt
和私钥文件 3_www.domain.com.key
1_root_bundle.crt
文件包括一段证书代码 “-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,2_www.domain.com_cert.crt
文件包括一段证书代码 “-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,3_www.domain.com.key
文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
编辑Apache根目录下 conf/httpd.conf 文件,找到 #LoadModule ssl_module modules/mod_ssl.so
和 #Include conf/extra/httpd-ssl.conf
,去掉前面的#
号注释;编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件,修改如下内容:
<VirtualHost 0.0.0.0:443>
DocumentRoot "/var/www/html"
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
</VirtualHost>
配置完成后,重新启动 Apache 就可以使用https://www.domain.com
来访问了。
您现在可以从计算机到Roundcube安装进行安全连接,从而实现与IMAP /SMTP电子邮件服务器的安全连接。您还可以采取一些措施来提高电子邮件通信的安全性,下一步使用插件通过添加双重身份验证来强化Roundcube帐户的安全性。
有两种方法可以安装插件:
/var/www/roundcube/config/config.inc.ph
来启用它。这里,我们将使用半自动安装,因为它易于使用。
Composer由存储在$RC_HOME/composer.json
中由composer.json
文件控制。通过创建配置文件来启用Composer Roundcube附带了一个名为composer.json-dist
的基本配置文件,因此我们将从它开始。
cd /var/www/roundcube
sudo cp composer.json-dist composer.json
此默认文件中已指定了一些核心插件,运行Composer以安装这些插件并完成其初始配置。确保从/var/www/roundcube
目录中运行Composer。
sudo composer install
接下来,要添加2FA插件,我们需要将其添加到composer.json
文件中。
插件行的语法是"organization/plugin_name":"version_or_branch"
。所以对于2FA插件,你要添加的行是"alexandregz/twofactor_gauthenticator": "dev-master"
。
使用nano
或您喜欢的文本编辑器打开composer.json
文件进行编辑。
sudo nano /var/www/roundcube/composer.json
将2FA插件行添加到块的末尾,并确保在前一行添加逗号。
. . .
"require": {
"php": ">=5.4.0",
"pear/pear-core-minimal": "~1.10.1",
"pear/net_socket": "~1.2.1",
"pear/auth_sasl": "~1.1.0",
"pear/net_idna2": "~0.2.0",
"pear/mail_mime": "~1.10.0",
"pear/net_smtp": "~1.7.1",
"pear/crypt_gpg": "~1.6.2",
"pear/net_sieve": "~1.4.0",
"roundcube/plugin-installer": "~0.1.6",
"endroid/qr-code": "~1.6.5",
"alexandregz/twofactor_gauthenticator": "dev-master"
},
. . .
保存并关闭该文件,然后运行tell Composer更新其包信息以安装新插件。
sudo composer update
当Composer询问您是否要启用插件时,请输入Y以继续。一旦安装完毕,请退出Roundcube并重新登录以启用插件。现在已经安装了插件,我们需要使用通过Roundcube的GUI在我们的帐户上设置2FA。
要开始使用,请使用浏览器中的服务器IP或域登录Roundcube。单击右上角的“设置”按钮,然后单击左侧导航中的“双重身份验证 ”。
在“双重身份验证选项”部分中,单击“ 激活”复选框,然后单击“ 创建密码”。
接下来,单击“显示恢复代码”并将显示的四个恢复代码存储在安全的位置。如果您无法生成令牌(例如,如果丢失手机),您将使用这些代码登录。
最后,单击“ 保存”按钮。
这样可以启用2FA,但现在您需要将密码添加到与TOTP兼容的应用中,例如Google身份验证器。单击保存密码后显示的是二维码代码按钮,并使用您的应用程序扫描代码。如果扫描不起作用,您也可以手动输入密码。
最后,一旦您的应用程序生成代码,请通过在“检查代码”按钮旁边的字段中输入代码确保其有效,然后单击该按钮。如果它有效,您将看到一个显示“代码正常”的窗口,您可以单击底部的“确定”按钮关闭该窗口。如果出现问题,请尝试将密码重新添加到您的应用中。
保护数字通信的最后一步是加密您通过电子邮件发送的实际消息。我们将在下一步使用名为Enigma的插件执行此操作。
Enigma插件增加了用于查看和发送签名,加密电子邮件的支持。您可以按照步骤二中用于2FA插件的相同步骤立即添加Enigma插件。
首先,我们需要启用一些默认加密选项。 登录Roundcube,然后单击右上角的“设置”按钮。单击“首选项”,然后单击“节”列表下的“加密”。
主选项列表中有7个加密设置。启用全部7个将提供最大的安全性,但这需要在可用性方面进行一些权衡。
以下是“主选项”菜单中的每个选项以及每个选项的建议(必要,推荐或可选),您应该选择适合您的用例的设置:
选择设置后,单击“ 保存”。接下来,单击“ 设置”列中的“ 身份”。
默认设置是使用您注册的电子邮件地址的单个标识。单击电子邮件并填写“显示名称”字段。您可以选择填写其他字段,例如组织。完成后,单击“保存”按钮。
配置的最后一部分是创建密钥。单击左侧导航中的GPG密钥。如果您已经有GPG密钥,可以单击右上角的导入并导入密钥,然后再次单击它以导入您的公钥。
如果您没有GPG密钥,或者想要创建新密钥,请单击GPG密钥列底部的加号(+)按钮。从那里,选择要为其创建密钥的标识并选择密钥强度(密钥大小越大,破解加密越困难,但执行加密的速度越慢)。最后,选择一个强密码并单击“保存”。
当您收到经过验证的已签名电子邮件时,Roundcube会在顶部显示来自通知的绿色验证签名:
当您收到并解密加密的电子邮件时,Roundcube会显示一条消息解密通知:
要在邮件中使用GPG加密,请单击左上角的“ 邮件”图标撰写新电子邮件,然后单击“撰写”。单击“加密”图标以查看可用的加密选项。这取决于您在加密设置中选择的内容。如果您按照我们的建议操作,则应该看到对此消息进行数字签名,加密此消息以及附加我的公钥。发送电子邮件时,请检查所需的加密选项。
通过添加SSL,双重身份验证和GPG加密,您的电子邮件更加安全。您可以通过浏览Roundcube插件存储库继续扩展和自定义Roundcube。你学会了吗?快去腾讯云购买或免费试用一台服务器进行学习吧,更多安全知识,请前往腾讯云+社区学习。
参考文献:《How To Secure Roundcube on Ubuntu 16.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。