2015-02-13 5 views
0

У нас есть приложение для настольных ПК с поддержкой Windows с интерфейсом, основанным на WPF + Telerik, и бэкэнд-связь с использованием веб-служб WCF.Как проверить, использует ли приложение с толстым клиентом WPF приложение Transport Layer Security (TLS) или нет

Сейчас общение происходит через SSL3.0

Из-за недавние проблемы безопасности с SSL3.0 было решено использовать TLS 1.2 или TLS 1.1 на стороне сервера, чтобы заставить все коммуникации только через TLS.

Мы попытались проверить базовую связь с веб-сервисом, используя Fiddler и Wireshark. Мы видим, что 200 запросов «Туннель к» происходит через TLS.

Но есть ли другой способ перекрестной проверки, если TLS используется явно и неявно приложением ThickClient для запросов WebService ...?

Windows 15 сентября 2007 года Windows T3 Hotfix установила Windows Update и тот же самый установлен на серверы приложений Windows 2008 R2. SSL3.0 еще не отключен как резервный вариант, но явно TLS не включен. Но статьи MS KB говорят, что TLS будет иметь приоритет (TLS1.2> TLS1.1> TLS1.0> SSL3.0)

Обновление безопасности (статья базы знаний KB2992611, за которой следует другое обновление KB3018238) было нажато 9 декабря 2014 года, а то же самое было установлено через HP Monthly Patching 15 декабря 2014 года 
Для получения дополнительной информации об исправлениях безопасности и их воздействии, пожалуйста, проверьте следующие ссылки. Официальный Microsoft Updates на патч для SSLv3.0 уязвимости https://support2.microsoft.com/kb/2992611/en-us Link2: technet.microsoft.com/en-us/library/security/ms14-066.aspx

Дополнительная информация о поддержке TLS LINK3: блоги .msdn.com/б/Kaushal/архив/2011/10/02/поддержка в обмен на SSL-TLS-протоколов-на-windows.aspx

Проблемы, выявленные с начальной патч KB2992611 и немедленного исправления через KB3018238 link4 InfoWorld .com/article/2848574/operating-systems/microsoft-botches-kb-2992611-schannel-patch-tls-alert-code-40-slow-sql-server-block-iis-sites.html

ответ

1

Если вы намерены проверить, разрешено ли TLS на сервере/может быть согласовано, вы можете написать код для проверки с помощью TcpClient и SSLStream, чтобы заставить согласовать TLS и посмотреть, действительно ли он был согласован. См:

Если вы хотите, чтобы предотвратить SSL запасной вариант на всех "HTTPS" запросов, выданных любым. NET, затем установите его, используя это:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

Примечание: применяет его к AppDomain, и поэтому повлияет на любой HttpWebRequests, выполненный в том же AppDomain.

Если вы хотите более явным/расширенный контроль стека каналов WCF, который используется для обмена данными с сервером (поэтому вы можете заставить использовать только уровень безопасности транспортного уровня TLS), тогда вы можете написать свой собственный StreamUpgradeProvider.

(я «думаю» вы бы создать свой собственный Stream, который использует TLS с помощью использования TcpClient и SSlStream ... и тогда вы сделали бы обновление канала, чтобы использовать его ... (может быть неправильно на этом). ... или это вы обернуть Stream данную вам в обновлении с SSlStream)