使用 projectx/os 和 Raspberry Pi 搭建您自己的邮件服务器

这个开源项目通过低成本的服务器设置,帮助您保护数据隐私和所有权。
302 位读者喜欢这篇文章。
We don't make software for free, we make it for freedom

Opensource.com

有很多理由不希望将存储数据和运行服务的任务交给第三方公司;隐私、所有权以及避免滥用“货币化”是一些主要原因。但对于大多数人来说,运行服务器的任务太耗时,并且需要太多专业知识。因此,我们妥协了。我们把担忧放在一边,只是使用云托管的企业服务,以及随之而来的所有广告、数据挖掘和销售以及其他一切。

这个项目旨在消除这种妥协:projectx/os 使在家托管服务变得廉价,并且几乎像创建 Gmail 帐户一样容易。您只需要一个 35 美元的 Raspberry Pi 3 和一个基于 Debian 的操作系统镜像——以及非常少的技术知识。只有四个步骤

  1. 将 ZIP 文件解压到安全数字 (SD) 存储卡上。
  2. 使用您的 WiFi 密码编辑 SD 卡上的文本文件(如果您不使用有线以太网)。
  3. 将 SD 卡插入 Raspberry Pi 3 上的插槽。
  4. 使用您的智能手机选择一个子域名,并在 Raspberry Pi 3 上安装“邮件服务器”应用程序。

服务器应用程序(例如邮件服务器)被分解为多个容器,这些容器只能以声明方式指定的方式与外部世界和彼此通信,使用细粒度的隔离来提高安全性。例如,传入的 SMTP、SpamAssassin(反垃圾邮件平台)、Dovecot(安全 IMAP 服务器)和 webmail 都是独立的容器,它们无法看到彼此的数据,因此即使破坏单个守护进程也不会危及其他守护进程。

此外,无状态容器(例如 SpamAssassin 和传入的 SMTP)可以在每个传入的电子邮件之后被拆除和重建,因此即使有人发现错误并利用它,他们也无法访问以前的电子邮件或后续电子邮件;他们只能访问他们自己的利用电子邮件。幸运的是,最容易受到攻击的服务也是最容易隔离和无状态运行的服务。

所有存储都使用 dm-crypt 进行加密。非公共服务(例如 Dovecot (IMAP) 或 webmail)监听由 ZeroTier One 提供的私有加密覆盖网络,因此只有您的设备(手机、笔记本电脑、平板电脑等)可以访问它们。

虽然电子邮件不是端到端加密的(除非您使用 PGP),但未加密的电子邮件永远不会跨越网络,也永远不会存储在磁盘上。它仅以明文形式存在于双方的私人邮件服务器上,这些服务器在他们的家中和客户端(手机、笔记本电脑等)上受到保护。

另一个优点是,与第三方数据中心(由一家希望避免停机或被视为不合作的公司拥有)的服务器上的数据相比,使用密码(而不是指纹或其他生物识别技术)保护的个人设备和您家中的设备在美国受到更强大的 第四修正案 法律保护。当然,如果您与 Gmail 用户发送电子邮件,例如,Google 仍然会获得一份副本。

展望未来

电子邮件是我使用 projectx/os 打包的第一个应用程序。想象一下一个应用商店,里面充满了服务器软件,为了易于安装和使用而打包在一起。想要一个博客?添加一个 WordPress 应用程序!安全的 Dropbox 替代品?添加一个 Seafile 应用程序或一个 Syncthing 后端应用程序。IPFS 节点?Mastodon 实例?GitLab 服务器?各种家庭自动化/物联网后端服务?有大量优秀的开源服务器软件,它们与它们取代的专有云服务一样易于安装和使用。


Nolan Leake 将在 3 月 8 日至 11 日在帕萨迪纳举行的 南加州 Linux 展会 上展示 每个家庭都有云:在家中托管服务器,无需任何系统管理员技能。要参加并获得 50% 的门票折扣,请使用促销代码 OSDC 注册

User profile image.
Nolan 自 1995 年以来一直是 Linux 用户。Nolan 热爱系统软件、硬件和高功率火箭技术。在之前的生活中,他共同创立了 Cumulus Networks,该公司为数据中心交换机构建了一个基于 Debian 的网络操作系统,为世界上一些最大的云提供动力。

8 条评论

在您的文章中,您提到了要下载并放在 SD 卡上的 ZIP 镜像文件。我在哪里可以找到这个文件?我查看了 projectx/os 的链接,但我找到的文件似乎是构建文件。您是否有这个 ZIP 文件的链接?虽然我对 Linux 很熟悉,但如果我可以避免重新编译和重建镜像,那就太好了。

谢谢 :-)

我应该说得更清楚一点。我目前将该项目称为 alpha 级别,因此我们尚未构建镜像。

如果您(或任何其他阅读本文的人)愿意,当我们有接近 beta 质量并正在构建镜像时,我可以给您发送电子邮件。如果您有兴趣,请发送电子邮件至 prjx@sigbus.net

如果您决定自己构建镜像,请告诉我进展如何,以及我是否可以提供帮助。

- nolan

嗨!您能否在 #4 “使用您的智能手机选择一个子域名” 中添加更多详细信息?我需要在我的 Windows 手机上安装应用程序吗?我需要购买域名 (GoDaddy??) 吗?
谢谢,
Tom。

我应该更清楚地说明该项目的当前状态。目前,帐户创建已硬编码在源代码树中,因为我没有时间在星期六在 SCALEx16 上进行演示之前为其添加 UI。

第一个到位的 UI 将是一个 Web UI,您可以从移动设备或桌面浏览器访问它。最终我计划构建真正的移动应用程序。

您可以购买域名并使用它,但为了更便宜/更容易上手,您也可以使用我的域名之一的子域名。

回复 ,作者 Tom W (未验证)

这如何处理或绕过家庭动态 DNS 和 ISP 阻止常见 SMTP/邮件端口的问题?

动态 IP 地址 DNS 通过常用的 Dyn DNS 技术处理。目前我连接到第三方 DynDNS 服务,但我很快将实现我自己的服务,以减少您必须创建/管理的帐户数量。

大多数 ISP 阻止出站端口 25,但相对较少的 ISP 阻止入站端口 25,因此接收邮件很少成为问题。

对于出站邮件,目前如果端口被阻止,您就无能为力,但我正在开发一个代理,该代理将保留从 SMTP 服务器到 SMTP 服务器的 TLS 加密。代理将看不到明文 SMTP 会话,只能看到 TLS 加密流。

对于少数 ISP 阻止入站端口 25 的用户,我认为我可以做一个类似的代理,通过依赖 TLS 加密开始之前的“EHLO”字符串,为多个 SMTP 服务器使用单个 IP 地址进行解复用。这也可能帮助那些陷入 CGNAT 困境的人。

回复 ,作者 OliverS

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.