web-dev-qa-db-fra.com

Filtrage de contenu pour adultes / dansguardian / langage de script / sans déchiffrement ssl

Après avoir lu beaucoup de pages Web, je suis arrivé à la conclusion que:

pour filtrer le contenu adulte (pas le bloquer complètement) à partir de sites https comme Twitter, je devrais configurer quelque chose comme dansguardian/squid etc. sur ma boîte proxy Ubuntu pour effectuer une interception Man In The Middle de SSL.

Est-ce que quelqu'un sait s'il est possible de faire quelque chose comme ceci sur mon proxy Ubuntu:

  1. utiliser un langage tel que bash/php pour récupérer le `` contenu '' de sites https spécifiques comme Twitter que l'utilisateur a demandé (c'est-à-dire ne pas casser SSL). Ce serait comme appuyer sur ctrl-a/ctl-c dans un navigateur.

  2. écrire le contenu dans un fichier transmis à dansguardian.

  3. dansguardian autorise ou bloque ensuite la page en fonction du filtrage de ses mots clés.

J'utilise déjà la redirection de fichiers OpenDNS/hosts qui fait du bon travail mais pas pour des sites comme Twitter.

J'ai étudié des technologies telles que Untangle/K9 Web Protection, mais je recherche idéalement une solution gratuite pouvant s'asseoir sur un proxy. Si je peux laisser SSL tranquille, il semble que ce serait plus facile/plus sécurisé/moins d'appels d'assistance.

Merci!

2
bananaman

Il est possible de MITM sans pirater/exploiter/casser SSL ( c'est ainsi que fonctionne Cloudflare ), l'astuce consiste à utiliser 2 connexions.

Vous hébergez un serveur Web (sur votre boîte proxy) qui accepte toutes les demandes/connexions (et a donc accès au contenu non chiffré de l'utilisateur).

Lorsqu'un utilisateur qui utilise votre proxy fait une demande.
Votre serveur Web peut accepter la demande et établir une session SSL avec votre utilisateur.
Dans votre code (par exemple PHP), vous créez une instance client qui crée une deuxième connexion SSL au serveur demandé.
Vos instances clientes obtiennent la réponse sur cette deuxième connexion.
Votre serveur Web renvoie ensuite cette réponse (reçue par l'instance client) à l'utilisateur lors de la première connexion SSL.

Si vous avez besoin d'exemples de code sur la façon de procéder, je pense que cela conduirait la question à être trop large (trop de réponses longues/bonnes possibles).

0
NGRhodes

Merci à tous pour vos réponses. Je suis un novice concernant le filtrage https et j'ai probablement posé une question déroutante. Il est dommage que des sites comme Twitter n'offrent pas de versions URL sécurisées de leur contenu comme la recherche sécurisée Google. SSL semble génial, sauf lorsque vous essayez de filtrer le contenu douteux :)

0
bananaman

utiliser un langage tel que bash/php pour saisir le `` contenu '' de sites https spécifiques comme Twitter que l'utilisateur a demandé (c'est-à-dire ne pas casser SSL)

Avec HTTPS, l'URL complète est chiffrée et seul le nom d'hôte est envoyé en clair à l'intérieur de la négociation TLS. Cela signifie même obtenir d'abord l'URL et donc savoir ce que l'utilisateur a demandé, vous devez être un homme au milieu pour SSL.

0
Steffen Ullrich