我们都使用Gmail或Dropbox等电子邮件和在线文件存储服务。但是,这些服务可能不适合存储个人和专业的敏感数据。在附上重要的商业合同或机密信息时,我们是否相信其隐私政策?我们是否接受所有数据的收集,处理和分析?
这个问题有一个解决方案:PEPS是一个使用端到端加密的电子邮件,文件共享和聊天平台。端到端加密可确保加密和解密在您的计算机(客户端)上进行,而不是在服务器上进行,服务器永远不会以明文形式看到机密数据。
本教程将指导您完成在腾讯云CVM上部署PEPS实例的过程,以便您可以安全地存储数据。
PEPS作为Docker容器分发,以便于设置。您需要一台带有Ubuntu 14.04 x64的腾讯云CVM,并在其上安装Docker应用程序。特别:
腾讯云CVM的名称很重要:如果您打算通过电子邮件向外部收件人发送邮件,则需要配置反向DNS以避免邮件被标记为垃圾邮件。好消息:如果您的腾讯云CVM名称设置为您的FQDN(完全限定域名),腾讯云会自动配置 PTR记录。如果您打算发送电子邮件mail.example.com
,那也应该是您的腾讯云CVM的名称(即使您的地址是以形式user@example.com
)。
一台已经设置好可以使用sudo
命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。
第一步是安装Docker。本教程基于Docker 1.6.2。
您还需要将您创建的非root用户(将在本教程中运行所有命令的docker
用户)添加到用户组。用您的用户名替换sammy:
sudo usermod -aG docker sammy
您还需要注销并以非root用户身份重新登录,以使此更改生效。
使用(替换您的用户名和服务器IP)通过SSH连接到您的腾讯云CVM,并运行以下命令来准备环境。sshsammy@your_server_ip
首先,克隆存储库:
git clone https://github.com/MLstate/PEPS
切换到PEPS
目录:
cd PEPS
配置您的域名,将example.com替换为您的域名:
echo example.com > domain
此命令创建一个以您的域名命名的domain
文本文件,作为文件中的第一行也是唯一一行。
安装make:
sudo apt-get update
sudo apt-get install make
现在是时候建造容器了,大约需要10-20分钟,所以你可以享用咖啡或安排站立式会议:
make build
如果一切运行正常,它会以下面的内容结束(ID是随机生成的,会有所不同):
Removing intermediate container 38d212189d43
Successfully built 24fd74241e48
首次启动时,我们将创建临时SSL / TLS证书并运行容器。(这两个步骤几乎是即时的,所以不要以为你会再喝咖啡休息时间。)
如果您已拥有适用于您的域的SSL证书,请跳过此步骤并复制您的证书和密钥(请参阅步骤5)。
使用以下命令创建临时SSL证书:
make certificate
选择一个简单的密码,因为您将被要求输入4次,证书是占位符。大多数问题都可以跳过:唯一重要的问题应该是Common Name (e.g. server FQDN or YOUR name) []:
与您的域名相同。
这是一个示例对话框:
openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus [...]
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be [...]
Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []: example.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key # strip passphrase
Enter pass phrase for server.key.org:
writing RSA key [...]
Getting Private key
现在,我们已准备好使用以下命令启动PEPS:
sudo make run
通过浏览器访问https://your_server_ip
腾讯云CVM的IP地址,使用其your_server_ip
IP地址连接到您的腾讯云CVM。
由于我们现在使用的是临时SSL证书,因此您的浏览器会警告您该站点不安全。无论如何接受它。在Chrome中,单击“ 高级”继续。
首次运行时,系统将提示您创建管理员密码。选择您喜欢的任何一种,只要它的复杂性足够。
由于PEPS中的端到端加密,管理员帐户可以创建和删除用户,但无法访问任何现有的加密用户数据。
设置管理员密码后,将显示主PEPS界面。
接下来,让我们专注于正确设置域和证书。
现在您的实例运行正常,我们仍然需要正确设置域,这涉及使用真正的SSL证书,配置DNS等。
让我们从DNS开始吧。根据您的域名提供商,使用自己的界面为您的域设置DNS条目或设置您自己的DNS服务器。
您必须同时设置A和MX记录。例如,对于托管在以下example.com
位置的虚构域mail.example.com
:
mail.example.com. 10799 IN A your_server_ip
mail.example.com. 10799 IN MX example.com.
你的腾讯云CVM名称应该是mail.example.com
。别担心。您可以从腾讯云帐户重命名腾讯云CVM。单击腾讯云CVM名称以查看其详细信息,单击“ 设置”选项卡,然后单击“ 重命名”选项卡。您可能必须等待DNS更新。
您还可以设置其他记录。在线检查器MXToolBox可用于验证您的域是否已正确设置并提供有关多个点的建议。
请注意,DNS传播可能有点慢,但过了一段时间(通常是1小时),您将能够从中访问PEPS https://example.com
。
注意:完成PEPS配置后,如果无法从外部域发送或接收电子邮件,请仔细检查A和MX记录。如果设置不正确,您将无法从您自己以外的域发送或接收电子邮件。
您的浏览器仍会收到无效的SSL证书警告。
现在是时候设置SSL证书了。您还没有SSL证书,如果你有域名,保护你网站的最简单方法是使用腾讯云SSL证书服务,它提供免费的可信证书。腾讯云SSL证书安装操作指南进行设置。如果你没有域名,建议您先去这里注册一个域名,如果你只是使用此配置进行测试或个人使用,则可以使用自签名证书,不需要购买域名。自签名证书提供了相同类型的加密,但没有域名验证公告。关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。
一定要在/etc/peps/
目录中复制两个名为server.key
和server.crt
键和命名的证书。
在本地计算机上准备它们,并通过从包含证书的目录运行将文件复制到服务器:
scp server.key server.crt your_server_ip:/etc/peps/
your_server_ip
是你得腾讯云CVM的IP地址。
完成后,检查您的浏览器是否可以访问https://example.com
而不会出现SSL错误。
要创建更多用户,请以管理员用户admin
身份使用您在步骤3:首次登录时创建的用户名和密码登录。管理员用户可以为您的域创建电子邮件帐户。转到PEPS管理员手册以了解具体方法。
首先,尝试在您域中的两个不同用户之间发送和接收电子邮件。例如,尝试从admin@example.com
发送电子邮件至sammy@example.com
。如果成功,请尝试让sammy响应admin以确保反向操作成功。
现在,将电子邮件发送到您域外的帐户。如果此操作失败,则说明您的A和MX记录未正确配置。返回步骤4:设置域。不要忘记测试从您域外的用户接收电子邮件。
恭喜!您现在有一个在腾讯云CVM上运行的PEPS实例。您可以安全地发送消息,共享文件等(通过运行聊天等插件)。
有几本手册可供选择:
另请访问PEPS Facebook页面,了解有关PEPS的最新消息。
更多Ubuntu教程请前往腾讯云+社区学习更多知识。
参考文献:《How To Run Your Own Mail Server and File Storage with PEPS on Ubuntu 14.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。