Кальмар с sslbump, блокирующий Netflix

Я установил Squid 3.15 на сервер Ubuntu 15.10. Squid был настроен с sslbump для трафика https. Функциональность работает без каких-либо проблем, т. Е. Весь трафик из http и https проходит через Squid, и весь интернет может быть доступен на всех устройствах, где установлены сертификаты.

Единственное исключение: "Netflix APP" больше не работает на устройствах IOS (iPhone, iPad). Неважно что я делаю. Все остальные интернет-сервисы (Safari и другие приложения) работают на этих устройствах должным образом.

Я смог запустить Netflix из браузера на компьютерах с Linux и даже OS X Safari. Единственное, что не работает - это приложение Netflix на IOS.

Конечно, если я отключил sslbump и разрешил только http проходить через Squid, Netflix работает. Я пробовал прозрачный режим и режим прокси на iPhone, все еще не работает.

Кому-нибудь удалось заставить Netflix APP на устройствах IOS работать с squid с включенным sslbump?

1 ответ

Проблема в том, что приложение netflix использует закрепление сертификата.

"Прикрепление сертификатов - это то, где вы игнорируете все это и говорите, доверяйте только этому сертификату или, возможно, доверяйте только сертификатам, подписанным этим сертификатом".
https://security.stackexchange.com/questions/29988/what-is-certificate-pinning

Я бы порекомендовал вам перейти на Squid 3.17, потому что вы, вероятно, захотите использовать прозрачный режим, потому что на ipad нет способа настроить приложение netflix для подключения к другим портам. 3.17 теперь позволяет смотреть и склеивать в прозрачном режиме

"Наша цель - позволить нашим пользователям просматривать некоторые важные веб-страницы (например, банковские или платежные системы) без перехвата SSL (в терминологии Squid это называется Splice), но остальная часть трафика HTTPS должна быть перехвачена (" разбита ") для проверки содержимое." "Теперь, благодаря расширению TLS в стандарте HTTPS (вводит SNI) и функции Squid peek & splice, можно определить имя_сервера, посмотрев по запросу клиента (при условии, что клиент совместим с TLS/SNI) ".

http://marek.helion.pl/install/squid.html <- классно, спасибо, Марек!

Это то, что я в итоге делал

acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl nobumpSites ssl::server_name .netflix.com

# Peek at client's TLS-request in order to find the SNI
ssl_bump peek step1 all         
# don't bump the nobumpSites
ssl_bump splice step2 nobumpSites    

# bumping all other SSL connections
ssl_bump bump                  

Если вы не знаете, каким должен быть SNI (.netflix.com), используйте wireshark, чтобы посмотреть на привет клиента. Поскольку трафик клиента netflix является https, единственный способ для squid узнать, что домен должен посмотреть на незашифрованный привет клиента, который должен содержать SNI.

Я должен отметить, что приложению ipad netflix требуется около 60 секунд, чтобы начать воспроизведение видео. У меня есть идея, почему и буду обновлять здесь позже.

Важное примечание (не реализовано выше) "Может ли squid использовать SSL-соединения, но намеренно генерировать недействительные сертификаты для исходящих соединений, которые являются самозаверяющими или недопустимыми, поэтому мой браузер будет отмечать их?" "Текущий Squid делает это при условии, что вы выполняете действие" поднять "SSL-Bump на шаге 3, когда известны подробности сервера". http://lists.squid-cache.org/pipermail/squid-users/2016-March/009707.html<- Большое спасибо Амосу за все знания о кальмарах, которыми он делится!

Другие источники http://www.squid-cache.org/Doc/config/acl/

http://lists.squid-cache.org/pipermail/squid-users/2016-April/010009.html

Другие вопросы по тегам