在一个项目中,我们将为每个客户端创buildconfiguration文件(也可以是每个客户端的sqlite而不是configuration文件)。 该文件将包括像政策的重要信息。 因此,最终用户无法添加,删除,更改该configuration文件或文件中的某些内容。
我正在考虑使用活动目录来防止用户打开包含我的configuration文件的文件夹。
有一种使用安全configuration文件的非常规方法吗?
编辑:当然读取文件的速度是重要的安全
AppArmor如何执行“环境清理”?
运行不受信任的第三方软件
需要检查正在运行的应用程序是否具有pipe理员权限或不在C#.Net Compact Framework中
编辑2:我不能这样做与数据库服务器,因为我的政策必须是可访问的,而不是互联网连接。 服务器将在某些时段更新该文件或sqlite表。 我正在使用c ++。
需要什么权限来安装和更新ActiveX控件?
如何从Nginx / Passenger中删除“X-Runtime”头文件?
从UserPrincipal获取WindowsPrincipal
CreateNamedPipe()中的lpSecurityAttributes需要什么样的生命周期?
我怎样才能在Perl中删除权限?
我很抱歉摧毁你的期望和梦想,但是如果你的安全是基于客户端上的这个配置文件的话,那你就搞砸了。
配置文件由应用程序加载和解密,这意味着在应用程序运行时可以使用特殊工具更改值。
如果安全性很重要,请在服务器上执行这些检查,而不是客户端。
安全是一个相当广泛的问题。 如果您的系统受到威胁,会发生什么? 有人赔钱吗? 有人在游戏中获得额外的积分吗? 有人获得核导弹发射编码吗? 某些医疗数据是否暴露给公众?
所有这些都或多或少都是重要的安全问题,但是正如你所想象的那样,核导弹的发射要求比一些可以提高分数的游戏更高的要求,而金钱和健康明显地终结于某个地方这个范围,还有很多我们可以添加到列表中的其他东西。
这也很重要,你试图防止什么类型的“用户”。 是国家级的安全专家(如联邦调查局,中情局,克格勃等),爱好黑客还是普通的电脑用户? 加密文件将阻止一个普通用户,也许是一个爱好黑客,但国家安全专家当然不会被挫败。
最终,如果持有数据的机器也知道如何读取数据,那么你就不能拥有一个完全安全的系统。 系统可以通过读取代码中的密钥来绕过,并重新实现作为“安全”一部分的任何解密/加密等。 一旦数据是纯文本的,它可以被修改,然后重新加密并存回。
你当然可以使它更复杂,这意味着有人将有一个更强大的动机,通过你复杂的方法工作,但最终,它归结为“如果机器知道如何解密的东西,某人通过访问本机可以解密内容“。
这取决于您(显然是您的“客户”和/或“合作伙伴”,您所关注的数据),无论您认为这是您可能承担的风险。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。