【发布时间】:2021-12-22 02:44:57
【问题描述】:
我目前正在尝试改进我负责的 RPC 服务器,服务器和客户端都在本地同一台机器上运行,但是我想限制服务器,使其仅允许管理员(包括内置 /LocalSystem 帐户) 通过命名管道连接到 rpc 服务器。
首先,我使用以下库作为 RPCserverApi/RPCClientApi 的包装器: https://github.com/csharptest/CSharpTest.Net.RpcLibrary
我这样创建服务器:
server = new RpcServerApi(IId, MaxCalls, ushort.MaxValue, true);
server.AddProtocol(RpcProtseq.ncacn_np, Id, MaxCalls);
// Set authentication
server.AddAuthentication(RpcAuthentication.RPC_C_AUTHN_WINNT);
但是,当我检查命名管道的安全性时,它仍然显示它根本不受限制,并且我的客户端仍然可以连接,即使我尚未更改它以指定身份验证。
此外,我可以检查对该命名管道的访问,然后我得到:
\\.\pipe\myNamedPipe
RW Everyone
RW NT AUTHORITY\ANONYMOUS LOGON
RW BUILTIN\Administrators
【问题讨论】: