【发布时间】:2010-09-10 02:21:20
【问题描述】:
我有一个设计为在 Linux 上作为服务运行的 python 应用程序,我被要求将它安装在没有 Linux 机器的办公室的 Windows XP 机器上(对我来说,这很奇怪,而且令人困惑的地方,因为我几乎没有为 Windows 开发的经验)。
在 Linux 上,应用程序有自己的用户,并且应用程序和数据库凭据文件驻留在只有该用户才能访问的加密文件夹中。 (我想声明我不是密码学家,如果此设置中已经存在明显的安全错误,我很高兴有人向我指出它们!)
如何在 Windows XP 机器上通过类似或不同的方式实现同等级别的安全性?也就是说,如何防止那些可以访问计算机或磁盘的人更改程序或读取凭据?
一点背景知识:主机 windows 框是一个由非管理员权限的用户每天使用的工作站。安全资产是与例如学校报告大致一样敏感的个人数据。该应用程序旨在供大约 10 人使用,他们使用个人密码(存储在数据库中加盐和散列)对应用程序进行身份验证。
有一个非常相似的问题得到了答案:
on Windows you would store the credentials in the registry in a location protected by an ACL
但是,它并没有涉及保护程序文件的方面,而且它似乎假设了比我目前享受的更高级别的 Windows 体验 :) 我不知道如何使用 ACL 保护注册表项,也不知道我如何能够从我的程序中访问受保护的密钥。非常感谢为不熟悉环境中的开发人员提供的简单说明!
【问题讨论】:
-
我相信这个问题更适合SuperUser.com,因为您需要做的事情不涉及任何编码。
-
我想到了可能需要新代码来访问以不同格式存储的安全数据的解决方案,例如。受保护的注册表项。如果其他人同意在其他地方更合适,我很高兴迁移该问题。
-
实际上我认为最简单的方法是将数据存储在用户主目录下的文件中(应用程序在 Windows 中也需要自己的用户才能正常工作) .顺便说一句,我很抱歉,但我没有足够的代表投票将其迁移到 SuperUser.com
-
您想在之前的评论中添加建议作为答案吗?然后可以直接进行投票和评论。谢谢。
-
恕我直言,如果我没看错的话,我不会迁移它。
标签: windows database security registry credentials