domino邮件系统双因素验证问题

zlala 2010-08-13 01:48:08
寻求domino邮件系统双因素验证问题解决方案

需求:
利用动态口令和domino本身验证机制相结合,保证用户登录B/S结构系统安全。
不是所有用户都要求使用动态口令,只有特殊用户需要强制使用动态口令,且用户名、密码、动态口令三者必须全部正确才允许登录系统。

假设:
邮件系统用户名密码已被破解,要求保证拥有动态口令的用户登录系统安全。

已有方案问题:
目前服务器验证机制只要拥有用户名密码即可通过验证,访问邮件数据库。
方案一:
在登录页面处理,$$LoginUserForm表单中onload或onsubmit事件中用JS代码实现动态口令验证。
问题:
1、JS代码不安全,用户破解用户名密码后,可屏蔽JS代码,绕过动态口令访问邮件数据库。
2、用户可用?login&username=name&password=pass参数的URL绕过登录表单
方案二:
在登录页面处理,$$LoginUserForm表单中webqueryopen或webquerysave中用代理实现动态口令验证。
问题:
1、$$LoginUserForm表单不执行webqueryopen或webquerysave。
2、用户可用?login&username=name&password=pass参数的URL绕过登录表单
方案三:
在登录完成后服务器设置的第一个页面处理,实现动态口令验证。
问题:
用户可通过修改登录页域RedirectTo值,直接访问数据库文档,绕过服务器设置的第一个页面。
方案四:
在邮件数据库中打开数据库、视图、文件夹、文档时判断是否需要经过动态口令验证及验证结果。
问题:
1、需要修改邮件数据库,对于INOTES邮件模板有一定难度。
2、系统运行效率有影响。

哪位大侠做过类似的方案,请不吝指教!
...全文
128 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnscns 2010-08-13
  • 打赏
  • 举报
回复
这个要求对于前台来说,是没有办法实现的。我想了一种方法,但不知道在你那里是不是可行:
在注册用户的时候,自己加密一下用户的密码,(这个可以是很简单的在用户密码的后面加上一串随机字符串,比如用户输入密码password,你在后面加上12345678,这样最后存到地址簿里的密码就是password12345678),加密用的Key放在一个只允许服务器访问的数据库里面,每个用户对应一个key。
这样,在登录的时候,如果用户仅仅用自己知道的密码是登录不了的。而你的登录程序只有在看到他输入的动态口令通过后才会去放Key的数据库里面找到对应的key,然后跟用户输入的密码合起来用于登录。
要实现这个,需要考虑以下几个方面:
1. 需要一个用于存放加密用户密码的数据库;
2. 对于现有用户,因为Domino存密码的时候会加密,所以可能需要重置密码(这个需要慎重考虑),当然也可以变通一下,比如用户第一次登陆的时候还是沿用原来的登录方式,这个时候你可以在后台得到用户输入的密码,得到这个密码之后,就可以用上述方法加密,这样,下次用户再登录的时候就必须用新的方法了。

这个是我的一个初步的想法,还不是很成熟,你可以试试看行不行。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧