web-dev-qa-db-fra.com

calmar avec sslbump bloquant Netflix

J'ai installé Squid 3.15 sur le serveur Ubuntu 15.10. Squid a été configuré avec sslbump pour le trafic https. La fonctionnalité fonctionne sans problème, c'est-à-dire que tout le trafic en provenance de http et de https passe par Squid et que tous les accès à Internet sont accessibles sur tous les appareils sur lesquels des certificats sont installés.

Une exception est la suivante: "L'application Netflix" ne fonctionne plus sur les appareils IOS (iPhone, iPad). Peu importe ce que je fais. Tous les autres services Internet (Safari et autres applications) fonctionnent correctement sur ces appareils.

J'ai pu exécuter Netflix depuis un navigateur sur des machines Linux et même sur OS X Safari. La seule chose qui ne fonctionne pas, c'est Netflix APP sur IOS.

Bien sûr, si je désactivais sslbump et n'autorisais que http à passer par Squid Netflix, cela fonctionnait. J'ai essayé le mode transparent et le mode proxy sur l'iPhone, mais cela ne fonctionne toujours pas.

Quelqu'un at-il réussi à faire en sorte que l'application Netflix APP sur IOS fonctionne avec squid avec l'option sslbump activée?

1
user3381475

Le problème est que l'application Netflix utilise l'épinglage de certificat.

"L'épinglage de certificat est l'endroit où vous ignorez tout cela et que vous dites ne faire confiance qu'à ce certificat ou peut-être ne faites confiance qu'aux certificats signés par ce certificat."
https://security.stackexchange.com/questions/29988/what-is-certificate-pinning

Je vous recommanderais de passer à Squid 3.17 car vous voudrez probablement utiliser le mode de transmission car il n'y a aucun moyen sur l'ipad de configurer l'application Netflix pour se connecter à d'autres ports. 3.17 permet maintenant de jeter un coup d'oeil et d'épisser en mode transparent

"Notre objectif est de permettre à nos utilisateurs de parcourir certaines pages Web importantes (telles que les systèmes bancaires ou de paiement) sans interception SSL (le terme" Splice "), mais le reste du trafic HTTPS doit être intercepté (" heurté ") afin de vérifier le contenu." "Maintenant, grâce à l'extension TLS en standard HTTPS (introduction de SNI) et à la fonctionnalité peek & splice de Squid, il est possible de déterminer nom_serveur en regardant à la demande du client (tant que le client est compatible TLS/SNI)."

http://marek.helion.pl/install/squid.html <- génial, merci Marek!

C'est ce que j'ai fini par faire

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                  

Si vous ne savez pas ce que le SNI devrait être (.netflix.com), utilisez wireshark pour regarder le client bonjour. Parce que le trafic client netflix est https, le seul moyen pour squid de savoir en quoi consiste le domaine consiste à jeter un coup d'œil sur l'hello du client non crypté qui doit contenir le SNI.

Je dois noter que l'application ipad netflix prend environ 60 secondes pour commencer à lire la vidéo. J'ai une idée pourquoi et mettrai à jour ici plus tard.

Remarque importante (non implémentée ci-dessus) "Les connexions SSL squid peuvent-elles être associées à des liens SSL, mais elles génèrent délibérément des certs non valides pour les connexions en amont auto-signées ou invalides de sorte que mon navigateur les signale?" "Le calmar actuel ne le fait que si vous effectuez l'action" bump "de SSL-Bump à l'étape 3 lorsque les détails du serveur sont connus." http://lists.squid-cache.org/pipermail/squid-users/2016-March/009707.html <- Un grand merci à Amos pour toute la connaissance qu'il a partagée sur le calmar!

Autres sources http://www.squid-cache.org/Doc/config/acl/

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

1
user584583