title: Access security between Windows Services with NamedPipe
body: <p>I have a C/C++ windows service implementation that is deployed on two different servers, using a NamedPipe so that they can communicate with each other. </p>
  
  <p>I followed the least privilege principle, assigning the service account to "NT AUTHORITY/NetworkService", creating the NamedPipe with a Security Descriptor that has 'Read permissions' (A;OICI;GR;;;NS), blocked anonymous access, blocked all built-in guests, Grant all rights to logged users and Administrators group.</p>
  
  <p>The services are giving me an "Access Denied (0x5)" error. </p>
  
  <p>Here are the things I tried:</p>
  
  <ol>
  <li><p>I tried to give all permissions for the "NetworkService" account. I know it is bad :( but just to see whether it works or not!  Access Denied</p></li>
  <li><p>Allowed read permission to Anonymous users (I read that the "NetworkService" account presents anonymous credentials to other computers on the network). Access Denied</p></li>
  </ol>
  
  <p>The service is working with my console test application :( but not with another services. The security is critical and I just want both servers to be able to communicate with each other.</p>
  
  <p>Can anyone tell me, whether I should create a specific account for each service in both servers?</p>
  
  <p>The servers are not in a Domain, so I am not sure how to create a network wide account, or even if it is possible. I am not so good with Windows administration stuff!</p>
  
  <p>Is this the correct direction to take to get the services to communicate with each other?</p>