All posts filed under “wifi/internet/proxy

comment 0

Solution de parfeu simple et efficace

 

Petit article vite fait pour vous faire découvrir une solution simple et efficace.
On est en règle général tous d’accord pour dire qu’iptables est une solution fiable et efficace mais dont la syntaxe est imbuvable.

J’ai découvert Shorewall a mon nouveau boulot chez tranquilit
Shorewall est une surcouche a iptables ,  permettant de simplifier celui-ci.

J’aime de plus en plus les solutions sans fioriture, pas d’interface web, le tous se résume en quelques fichiers de conf qui deviennent simple a « backuper ».

Le problème avec les solutions tout empaqueter comme pfsense (je ne crache pas sur pfsense non plus) c’est qu’on ne sait pas trop ce qui se passe derrière. J’aime pas trop ça pour débugger c’est pas le top.

L’autre avantage de prendre une solution baser sur linux c’est que vous n’êtes pas lier a un matériel comme sonicwall ou cisco par exemple, et pas de licence …

Bref je vous laisser tester ! Je trouve que ça vaut le coup !

comment 0

Wifi – FreeRadius 802.1x – Squid/SquidGuard

Il y a un moment maintenant déjà, j’avais fait un article « Pourquoi il ne faut pas utiliser Squid en mode transparent ? ». J’avais là ma solution de filtrage. Mais pas  forcément la solution d’authentification.

J’avais pensée utiliser packetfence, mais c’est plus une solution de NAC. Pfsense est intéressant également, mais ne convenait pas trop à mon projet. Packetfence est d’ailleurs trop gourmand en ressource.

Je suis donc partie sur le principe me faire ma solution faite main, voici une petite vidéo de présentation de ma solution :

comment 0

Wpad Chrome Firefox et isInNet(myIpAddress()

Petite article car j’ai été confronté a un soucis tout bête avec le wpad Chrome, Firefox et ie.

Je souhaitais utiliser un truc du genre :

if(isInNet(myIpAddress(), « 172.29.0.0 », « 255.255.0.0 »)) { return proxy_no; }
return proxy_yes;

En gros, si tu est dans le vlan 172.29.0.0 tu n’applique pas le proxy. Mais pour tout le reste oui

Cela fonctionne parfaitement avec ie et firefox mais pas avec chrome 🙁

J’ai donc contacté google pour savoir pourquoi cela ne fonctionnait pas avec eux. Il s’agit en faite d’un bug:  https://code.google.com/p/chromium/issues/detail?id=267101

L’issue est ouverte depuis longtemps mais n’est pas réparée.

Google m’a quand même donnée une solution, utiliser isInNetEx :

comments 2

Pourquoi il ne faut pas utiliser Squid en mode transparent ?

c81f772e265991de09ad69a5a6dfb071

Il faut tout d’abord expliquer la différence entre un surf via un proxy déclaré et un surf sans Proxy.

Lors d’un surf sans Proxy, l’ordinateur contacte directement le serveur qui héberge la page web demandée. Il demande l’IP au DNS puis contacte directement le serveur web en passant par la passerelle.

Dans le cas d’un Proxy déclaré dans le navigateur, la démarche est différente. Lors d’un surf, l’ordinateur ne contacte pas directement le serveur web qui héberge la page que l’on souhaite. Voilà ce qui se passe dans ce cas : Le navigateur constate qu’un Proxy et renseigné lors de la demande de toto.fr le navigateur de l’ordinateur dit :
– Hey serveur Proxy 172.21.254.254:3128, peut-tu surfer pour moi et me donner la page web toto.fr ?

Le serveur Proxy répond :
– Ok, voici la page que tu m’as demandé

Il est au milieu dans le schéma :

280px-Proxy_concept_en.svg

Squid a donc une option de proxy transparent, cette option permet de se mettre à la place de la passerelle, ainsi l’ordinateur pense qu’il discute directement avec le serveur web. Ceci fonctionne très bien avec un surf HTTP, mais ne fonctionne pas du tout avec le protocole HTTPS

Pourquoi ?

Le protocole HTTPS sécurise et chiffre la connexion sur tous les sites les plus connus, il peut également vérifier que la connexion n’a pas été usurpée par un pirate. (vérification du nom de domaine, des certificats et validation par un certificat root). Bref ce protocole a été créé dans le but de protéger une connexion.

header_icon

Squid est capable d’intercepter du surf SSL en mode transparent mais cela nécessite l’installation préalable d’un ca-root. Cette méthode n’est pas du tout appréciée par les sites web, car elle consiste a décrypter la connexion HTTPS en cours. De plus, certains sites web n’utilisent pas le SSL mais le SNI.

Cette méthode est considérée comme une attaque man in the middle :

sslmim

Des solutions comme ALCASAR existent, mais je ne suis pas fan.
Elles loguent et bloquent avec les demandes DNS (Dnsmasq) combinée avec les demandes IP avec iptables, Squid et DansGuardian pour les connexions HTTP.

Les solutions de filtrage transparent proposées par SonicWALL fonctionnent également sur ce type de fonctionnement.

La solution que j’utilise :

La solution la plus propre que j’ai trouvé pour le moment est de déclarer le Proxy. Lorsque l’utilisateur n’a pas le proxy déclaré, il est redirigé vers une page qui lui indique comment configurer son navigateur ou son téléphone pour surfer sur cette connexion.

Suite dans un prochain article… Pour présenter une solution plus fiable !