#mail-server #imap #message #smtp-server #user #user-password #rest

app crymap

一个简单、安全的IMAP服务器,静态数据加密

3个稳定版本

2.0.0 2024年5月31日
1.0.1 2022年12月24日
1.0.0 2020年8月8日

#23 in 电子邮件

GPL-3.0 许可证

3MB
70K SLoC

Crymap IMAP和SMTP服务器

简介

Crymap是针对FreeBSD和Linux的IMAP和SMTP服务器实现,重点关注安全性和管理的简单性。其亮点功能是静态数据的透明加密——没有密码无法读取任何用户的邮件,同时提供常规的IMAP体验,用户离线时也可以接收邮件。

如果使用Crymap SMTP服务器,任何用户的邮件都不会以明文形式存储在磁盘上(至少在你的服务器上是这样),但请注意,Crymap SMTP有一些严重的限制。

Crymap支持传统的UNIX风格部署,其中每个用户对应一个UNIX账户,并拥有自己的邮件,以及“黑盒”部署,其中用户没有shell访问权限,所有邮件都由单个系统UNIX账户拥有。

功能

  • 完全符合IMAP4rev1和IMAP4rev2规范。
  • 默认安全。仅IMAPS。
  • 最小化配置。
  • 消息和元数据在静态存储时透明加密。
  • 自动密钥轮换。
  • 透明文件和在线压缩。
  • 所有常规邮箱都是“双用途”(允许消息和子邮箱)。
  • 即时邮件投递通知。
  • 支持QRESYNC。
  • 支持“特殊用途”邮箱。
  • 相当数量的附加IMAP扩展。
  • 支持8位和二进制内容的消息。
  • 作为MDA进行邮件投递。
  • 通过SMTP或LMTP进行邮件投递。
  • 通过SMTP安全发送邮件,内置DKIM支持。
  • 与基于文件系统的备份系统良好兼容。

状态和支持

作者使用Crymap处理所有个人电子邮件。已知在该用例中表现良好。但这自然是一小部分经验;特别是,Crymap仅在Thunderbird和FairEmail的日常使用中看到。

Crymap目前由其作者独立维护。我有解决bug的动力,但除非它们对安全性或非常常见的用例有实质性好处,否则不太可能接受功能请求。我将尽力回答问题,但不能做出承诺。

注意事项

  • 如果忘记密码,该用户拥有的所有数据将永远丢失。管理员无法重置用户的密码,因为这会违背Crymap的目的。

  • Crymap无法集成到主机认证系统中。也就是说,Crymap用户账户在密码、启用/禁用状态等方面完全独立于主机用户账户。这是因为Crymap需要完全控制密码更改过程,以便在不破坏用户数据的情况下进行密码更改。例如,创建一个委托给Crymap的PAM模块在技术上可行,但尚未实现,也没有计划实现。

  • 当前电子邮件的最大大小是硬编码为64MB。

  • Crymap的出站SMTP体验非常不寻常且有些繁琐。如果在发送电子邮件时遇到临时失败,由于所有对消息的访问都通过用户认证进行加密锁定,因此无法自动重试。必须手动通过IMAP扩展进行重试,目前这只在Crymap CLI工具中实现。为了获得更传统的体验,您可以使用类似OpenSMTPD的工具来处理出站消息。

文档

请参阅Crymap mdbook以获取完整文档。

许可

Crymap采用GPL版本3或更高版本授权。

依赖关系

~64MB
~1M SLoC