Я использую WCF (Windows Service Self Host) netTCP между сервисом и клиентом. Это как обычай вяжущие выглядит какКак работает WCF с Kerberos?
<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>
Единственное, что я на самом деле сделать это, чтобы отобразить текущее (LoggedIn) пользователя Windows (на клиенте) для пользователей в моей службе.
Я понимаю, что связь будет зашифрована между сервисом и клиентом, но будет использоваться Kerberos? Откуда мне знать? Что решает, если он используется?
Edit:
Я могу видеть это в моем 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
Во-первых, inactivityTimeout = «бесконечный» НЕ делает то, что вы думаете. Во-вторых, ваши данные не шифруются, и я не уверен, почему вы так думаете. В-третьих, Kerberos вообще не участвует, как показывает ваш журнал безопасности, он использует аутентификацию NTLM (Lan Manager). –
@ErikFunkenbusch от того, что я прочитал бездействие. Как правило, время соединения не работает, пока оно не упадет? Однако у меня есть keepAlive. Из того, что я вижу, securoty включен на транспортном уровне, а учетные данные, которые будут использоваться, - это Windows. Из того, что я прочитал, это означает, что данные будут зашифрованы? Можете ли вы мольбы указать мне, где это объясняется, как вы sugests? – Banshee
@ErikFunkenbusch не содержит ничего, что говорит о том, что NTLM используется, есть имя пакета, но в нем указано только NTLM, и нет информации? – Banshee