SMTPauthentication请求转移到另一个SMTP

我有一个高于我的能力水平的问题。 当我们正在努力改进我们networking中的安全措施时,我们发现了(其中包括)一个我们不知道如何解决的缺陷。

我们有一个基于MDaemon的本地SMTP服务器,我们雇佣了一个专业的托pipe服务,将我们连接到广域网,他们也有自己的SMTP中继,可以公开访问。 所以当邮件通过时,它来自他们的SMTP到我们的设备。 但是我们发现他们的tcp端口587没有要求authentication,这意味着我们可以欺骗他们所处理的域名的任何地址,从例如[email protected]发送任何电子邮件到[email protected],使它更容易为潜在的攻击者做networking钓鱼诈骗。 但是我们的服务提供商不能closures这个端口,因为我们有游牧的用户通过手机发送邮件。 以下是我想到的选项,不确定它们有多可行:

  • 同步他们的SMTP用户数据库与我们的(或只是他们的),所以他们有login名/密码强制执行和检查authentication时,有人只是netcat的MSA端口587,
  • 不使用他们的MSA直接把我们公开的,具有相同的实际效果,把它降低到只有一个具有用户数据库检测authentication的公用MSA,
  • find某种方法将authentication请求从他们的MSA转交给我们,进行validation,并向他们的MSA返回“接受”或“拒绝”标记。 这可能是理想的select,但我不知道我们如何能做到这一点。 我知道中继authentication请求用于链接LDAP / LDAP或Active Directory / LDAP情况,但不知道如何实际使用它,或者如果它与SMTP-AUTH一起使用,
  • find一些反欺骗软件放在我们的服务器上(但是它将如何检查?邮件将始终来自具有潜在地址的受信任的MSA)

如果您对我们的问题有任何想法,请提前致谢。

首先,我想你的ISP的端口587是以login/密码以外的方式保护的? 一种方法是使用源IP,以便只能从连接到该ISP的用户访问,但是这会限制手机用户通过该ISP连接。 另一种方法是使用POP-before-SMTP,但只有当ISP也处理邮件存储并因此可以对用户进行身份validation时才有效。 我不推荐这两种方式,但是我唯一看到的另一种解决scheme是开放中继,这绝对是你想要避免的,它的存在会严重影响你的ISP的能力。

根据您的提供商的MSA和您自己的身份validation服务,可以进行代理身份validation。 我不会推荐它,因为似乎很难build立和维护我没有看到的优势。

我会推荐你​​的第二个解决scheme:你已经有了你的邮件存储服务器,通过IMAP(我猜想你已经有了你的邮件服务器,你已经安装了MSA,所以将MSA暴露给Internet并不是一个巨大的改变曝光。 这样,一切都非常标准,很容易解释,你依赖于你的ISP较less,你不会不必要地传输敏感的login/密码信息到您的ISP。 当然有安全问题,如字典攻击,但如果我是正确的,他们是你已经暴露自己的问题,让你的手机用户检查他们的邮件。

事情可以让我改变我的意见

  • 用户数量(我不认为我们在说10000+)
  • 可笑的低带宽或昂贵的网站(但你已经在那里运行你的邮件服务器)
  • 如果你的手机用户只发送邮件,不要从互联网上检查邮件