Хождение по мукам или Шифрование трафика в Direct Connect, ч.3

И никто не вливает молодого вина в мехи ветхие;, а иначе молодое вино прорвет мехи, и само вытечет, и мехи пропадут;, но молодое вино должно вливать в мехи новые; тогда сбережется и то и другое. Лк. 5:37,38

В апреле этого года администрация крупнейшего в мире DC хаба объявила о начале поддержки безопасных соединений. Давайте посмотрим, что из этого вышло.

Translate to English

Свобода совести

Поскольку всё, что я думал по этому поводу, уже было высказано ранее, этой части статьи вовсе не должно было быть.

Если нужна безопасность, выбирайте современный клиент и ADCs хаб. Точка.

Но что если всё же использовать NMDC хаб, сиречь, обычный? В этом случае придётся столкнуться с несовместимостью старых, очень старых, новых или просто ненастроенных DC клиентов. Но — это было сделано, и проблемы не заставили себя ждать.

Мафия

Во-первых, безопасные соединения «клиент-клиент» устанавливаются независимо от наличия шифрования «клиент-хаб».

Во-вторых, невозможно визуально определить хаб, который транслирует или не транслирует запросы на безопасные соединения.

В-третьих, на сегодняшний день практически во всех DC клиентах шифрование соединений включено по умолчанию.

Запомнили? А теперь давайте проверим настройки TLS на стороне пользователя, подключимся к хабу и аккуратно попробуем соединять клиенты друг с другом.

NMDCs хаб

0dnw840zjqq4oeiniugfbc0l-00.png

DC++ категорически отказывается от безопасных соединений на NMDC хабах, однако вполне одобряет обычные. Причину разработчики озвучивали не раз — нечего ходить по старым граблям!

StrongDC++ умеет только TLS v. 1.0, и современные клиенты с ним не соединяются вовсе. С GreylinkDC++ всё ещё хуже.

FlylinkDC++ охотно падает в режим совместимости со старыми клиентами. Надолго ли это и нужно ли вообще?…

EiskaltDC++ делает то же самое менее охотно, лишь на свою потребу.

ADC хаб (ы)

hqcggxtjejrfc13xr_xyaj3xvfk.png

Всё ровно то же самое, но DC++ активно включается в игру.

EiskaltDC++, похоже, не делает разницы между NMDC и ADC хабами, строг к обоим.

А если отфильтровать устаревшие клиенты, установив на вход обязательное требование поддержки TLS v. 1.2?…

ADCs хаб (ы)

pwp79thebf8kuxlptqhi4okyrc8.png

Великолепно, не правда ли?

Выводы

Читателю может показаться, что лучше всего использовать FlylinkDC++ и не иметь проблем, однако Вы забываете, что этот клиент проблемен сам по себе. Один из последних известных мне инцидентов с ним — так и не проставившиеся с помощью удалённого конфига галочки поддержки безопасных соединений у множества пользователей и фактическое отсутствие оных во всех более ранних его версиях.

Итого, в силу множества исторических и политических причин, использование NMDCs хабов в качестве базы для безопасных межклиентских соединений затруднено или вовсе невозможно. Используя NMDCs хаб, Вы с гарантией теряете возможность соединяться с частью пользователей, а взамен получаете безопасность –, но без гарантий.

Рекомендации

Начните использовать ADC хабы, хотя бы и авансом. Откажитесь от устаревших клиентов и, если Вы админ DC хаба, забаньте у себя Стронг и Грей. Ибо

Всякое царство, разделившееся само в себе, опустеет; и всякий город или дом, разделившийся сам в себе, не устоит. Мф. 12:25

© Habrahabr.ru