((有一个客户端,该客户端需要使用具有一些自定义参数的Admin-Privileges启动第三方.exe。为了避免使UAC-Dialogs不断困扰用户,我做了运行具有SYSTEM特权的服务。客户端和服务通过 WCF和NetNamedPipeBinding
进行通信。)
我看不到任何可以将客户端身份验证为有效客户端的内容。鉴于命名管道是已知的安全风险/问题(请参阅http://www.blakewatts.com/namedpipepaper.html / https://hackinparis.com/data/slides/2017/2017_Cohen_Gil_The_forgotten_interface_Windows_named_pipes.pdf),因此我一直在寻找最佳实践/安全清单,但没有找到。
>
到目前为止我想到的是:
Service.exe
和Client.exe
都将位于C:\Program Files\<some name>
中。其他未提升的程序无法写入此路径,那么也许让客户端在其中的某个文件中写入参数,然后让服务读取它?可以使用类似的方法来验证整个WCF连接吗?