サービスとクライアントの間でWCF(Windows Service Self Host)netTCPを使用しています。これはカスタムバインディングがどのように見えるかです
<binding name="netTcpWindowMessageSecurity" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="01:00:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="1000" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="200" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="infinite" enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows" />
</security>
</binding>
私が実際に行う唯一のことは、現在の(ログインしている)Windowsユーザー(クライアント上)をサービス内のユーザーにマップすることです。
サービスとクライアント間の通信が暗号化されることを理解していますが、Kerberosが使用されますか?どうすればわかりますか?それが使用されるかどうかを決定するのは何ですか?
編集:
これはEvenlog>セキュリティで確認できます
Logon Type: 5
Impersonation Level: Impersonation
New Logon:
Security ID: SYSTEM
Account Name: SYSTEM
Account Domain: NT AUTHORITY
Logon ID: 0x3E7
Logon GUID: {00000000-0000-0000-0000-000000000000}
Process Information:
Process ID: 0x310
Process Name: C:\Windows\System32\services.exe
Network Information:
Workstation Name:
Source Network Address: -
Source Port: -
Detailed Authentication Information:
Logon Process: Advapi
Authentication Package: Negotiate
Transited Services: -
Package Name (NTLM only): -
Key Length: 0
Erik Funkenbuschの推奨事項に従うことで、通信を保護することができました。これは私が変更しなければならなかったものです
<security mode="Transport">
<transport protectionLevel="EncryptAndSign" clientCredentialType="Windows"></transport>
</security>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加