我为一个为6000个用户托pipe电子邮件的小型ISP工作,我们正在升级到一个新的Debian邮件服务器。 我们从用户那里得到的许多要求之一就是能够自己更改他们的电子邮件密码。
在过去,除了qmailadmin之外,我们已经避免了这个select,只有less数商业客户可以信任。 一般来说,让用户更改自己的电子邮件密码一直在我心中,是一个灾难的秘诀。 这不仅意味着他们可能会使用令人惊讶的愚蠢密码,而且允许攻击者更改每个人的密码的代码错误的可能性可能相当高。
此外,历史上,我们已经有一个完全在单独的服务器上运行的Webmail(Squirrelmail和Horde,如果你想知道的话),但是很多HOWTO都说要把它们放在同一台服务器上。 再一次,这是我避免的,因为我偏执,但可能是正确的。 如果我没有记错,这是用户无法通过自己的networking邮件更改密码的最大原因。
我是不是太偏执,或者这就是为什么没有人在我们的邮件服务器过去7年闯入? (除了奇怪的垃圾邮件发送者为用户密码钓鱼)
我觉得你太偏执了 用户驱动的密码更改允许用户select他们觉得难忘的密码,当他们怀疑他们的男朋友/女朋友/母亲正在监视他们时,更改密码等。
密码更改应用程序没有任何理由成为安全漏洞。 分离出来的UI和后端逻辑,也许写一个简单的CLI工具来执行数据库操作,并从Web应用程序调用它。 这样,您的CLI工具就可以对收到的每个请求执行自己的完整性检查。
一些用户/密码数据库已经有了经过良好testing,可靠的密码更改机制,如OpenLDAP的密码修改扩展操作。
是的,我build议保持webmail在不同的主机上。 多年来,我pipe理了几个大型的电子邮件站点,唯一的妥协scheme就是当我无法使webmail应用程序保持最新时。 Webmail应用程序庞大,复杂,而且通常没有考虑到安全性。
您也可以设置它,以便用户不被允许制作简单的密码。 我假设在你目前的环境中,你正在改变用户的密码? 如果是这样,你使用一个随机生成器,然后只是给他们生成的密码? 我也不想要这种情况,通过在某个或那个地方访问他们的密码,似乎这可能是你的责任。