微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

安全属性的安全含义是什么?

如何解决安全属性的安全含义是什么?

所以我需要更改一些属性以确保它们在维护/更改模式下可以正确访问

<Property Id="CA_FILE" Secure="yes" />

但是这样做的安全隐患是什么? 来自wix documentation

表示在使用提升的权限进行托管安装时,可以将属性传递给服务器端。有关详细信息,请参阅 SecureCustomProperties 属性

来自msdn doc

SecureCustomProperties 是由分号分隔的公共属性列表。这些属性包含在受限公共属性认列表中,安装程序可以在使用提升的权限进行托管安装时将这些属性传递给服务器端。

但是它对安全有什么具体要求?我是否需要特别注意那些与非安全属性相比 中传递的内容?特别是如果是用户输入?

解决方法

我不确定以下内容是否能回答您的问题,但还是让我添加它:


高级权限:在安全的桌面环境(用户作为标准用户操作,没有管理员权限)中,您使用“高级权限”而不是“管理员权限”进行安装.这意味着普通用户使用临时提升的权限进行安装,这与正常的“管理员权限”略有不同。对于这些安装方案,您需要确保使用安全属性,否则安装会失败。应该注意的是,即使您使用安全属性,其他事情也可能使安装在提升权限的情况下失败(例如其他自定义操作问题和 InstallShield 特定问题)。这里有很多细节。

客户端和服务器进程:MSI 安装同时包含一个客户端进程(作为用户上下文运行)和一个服务器进程(作为具有所有访问权限的本地服务运行)修改系统)。后一个进程完成安装工作,客户端进程显示 GUI 并开始真正的安装。此时,客户端进程将安装会话交给服务器进程,并且任何未设置安全的属性将无法用于服务器进程,因为默认情况下它们不会“移交”。这就是安全属性的用途 - 它们将被传递。

SecureCustomProperties:特殊属性 SecureCustomProperties 包含服务器进程中应该可用的属性的分隔列表。只能指定大写(公共属性)。

受限公共属性Now we arrive at this part of the MSI documentation“在托管安装的情况下,软件包作者可能需要限制哪些公共属性是传递到服务器端,并且可由非系统管理员的用户更改。当安装要求安装程序使用提升的权限时,通常需要一些限制来维护安全环境。” 因此,本质上有一些限制来限制“高级用户”可以在安装程序属性方面覆盖的内容。没有记录如何以详细的技术术语传递属性 - 据我所知。

Windows:Windows 操作系统工作方式的变化有时会干扰 MSI 操作。因此,可能仅将这些属性设置为安全不足以使安装正常运行。

自定义操作:使用真正的“提升权限”也变得困难,因为 MSI 中自定义操作的实现非常复杂。供应商软件包中经常存在错误,当使用“提升权限”而不是“管理员权限”运行时,这些错误可能会引发问题。人们通常会使用“真正的管理员权限”打开一个会话(例如通过专用的分发系统,如 SCCM - Microsoft 端点配置管理器),以允许安装程序安装而不会出现任何与提升相关的错误。或者他们只是从高架 cmd.exe 开始安装。

MSI 的好处:应该提醒大家的是,MSI 基于 a number of critical benefits over previous deployment technologies 取得了成功(尽管存在缺陷)。


链接:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。