Un proxy HTTP en quelques minutes avec Squid - Angristan
Un proxy HTTP en quelques minutes avec Squid

Un proxy HTTP en quelques minutes avec Squid

Ce billet a été écrit il y a longtemps. Il peut contenir des informations erronées.

Pour changer d’adresse IP sur le web, utiliser un VPN n’est pas la solution la plus commode puisque la connexion à celui-ci doit se faire manuellement dans certains cas et tout le trafic y transite, donc en cas de coupure, plus rien ne passe.

Une solution plus transparente est d’utiliser un proxy. Le proxy HTTP, comme son nom l’indique, ne va s’interposer que pour les requêtes HTTP, c’est à dire votre navigateur et les autres logiciels qui utilisent ce protocole et qui supportent les proxies (Spotify, Nextcloud…).

L’avantage du proxy, c’est qu’une fois configuré au niveau du système, il n’y a plus rien à faire. Il n’y a pas de connexion constante au proxy, mais chaque requête passe par lui, de manière transparente.

Dans mon cas, ça m’arrange aussi de ne pas faire passer le traffic d’un jeu vidéo en ligne pour ne pas augmenter la latence par exemple.

Le proxy peut servir à :

  • Changer d’adresse IP, pour x raisons (tracage, confidentialité…)
  • Résoudre des problèmes de peering, e.g. Youtube
  • Utiliser une IP d’un pays étranger pour accéder à du contenu géolocalisé
  • Avoir l’IPv6 si le serveur en a une

Avec plus de configuration :

  • Restreindre l’accès à certains domaines
  • Avoir des logs des requêtes HTTP
  • Avoir un cache local sur le proxy pour pallier une connexion lente ou un grand nombre de clients

Dans mon cas, je souhaite juste que mon PC utilise le proxy de manière transparente afin d’avoir une IPv4 et une IPv6 qui ne soient pas liée à ma box @home.

La configuration de Squid est donc très simple, j’accepte juste les requêtes venant de l’IP de ma box, et le tour est joué. Désavantage : si je suis en déplacement, ça ne fonctionne plus. Aussi, j’ai désactivé le cache, qui ne fonctionne de toute façon qu’avec les requêtes HTTP et non HTTPS, autrement dit il m’est peu utile.

Attention, un proxy HTTP ne rajoute pas une couche de chiffrement comme un VPN. Ainsi, le traffic HTTPS restera chiffré, mais le traffic HTTP restera en clair. Il faut donc avoir une certaine confiance à l’hébergeur de votre serveur et à son réseau. Pour faire simple, utilisez un proxy pour les raisons citées plus haut, mais certainement pas pour améliorer votre sécurité.

Fonctionnement d'un proxy
Source : What’s the Difference Between a VPN and a Proxy?

Sous GNU/Linux, il existe un logiciel de proxy/cache HTTP très répandu : Squid. Il est très facile à mettre en place.

Pour installer Squid, rien de plus simple, il suffit d’installer le paquet  correspondant à Squid 3.

Sous Debian et Ubuntu :

apt-get install squid3

Ensuite, on sauvegarde la configuration de base :

mv /etc/squid3/squid.conf /etc/squid3/squid.conf.old

Puis on ajoute ceci à /etc/squid3/squid.conf :

#Port de Squid
http_port 443 #utile pour outrepasser des éventuels blocages de port

#Hostname du proxy
visible_hostname SuperProxy

#Masquage IP header HTTP (X-Forwarded-For: unknown)
forwarded_for off

#Logs
access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log

#Pas de cache
cache deny all

#Serveurs DNS (ici ceux de FDN)
dns_nameservers 80.67.169.12 80.67.169.40

#Cache DNS
positive_dns_ttl 5 minutes #réponse positive
negative_ttl 5 minutes #réponse en erreur

#On attends pas avant de stopper Squid (30s sinon, utilise si cache activé)
shutdown_lifetime 0 seconds

#On accepte tout le monde (déconseillé)
#http_access allow all

#Auth par mot de passe (très peu pratique d'après ce que j'ai vu)
#auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
#auth_param basic realm proxy
#acl authenticated proxy_auth REQUIRED
#http_access allow authenticated

#Maison (exemple d'ACL, pour autoriser l'accès à une IP)
acl maison src 123.123.123.123
http_access allow maison

On redémarre Squid (à adapter suivant votre OS) :

service squid3 restart

Pour vous connecter, il vous suffit de spécifier l’IP et le port de votre serveur. Si vous avez ajouté votre IP dans la configuration, tout devrait se faire de manière transparente !

Proxy HTTP Squid 3 Windows 10

Ensuite, vérifiez votre IPv4 et IPv6 sur un site comme ipv6-test, et elles devraient être celles de votre serveur.

Source : http://www.squid-cache.org/Doc/config/


Dernière modification le 17 décembre 2017.
S’abonner
Notification pour
guest

4 Commentaires
Le plus récent
Le plus ancien Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Maxime

Sympa !

Bleep Bleep Blop

Haaaa le retour des tutos GENIAL

charlyolegue

Merci pour ce tuto.
Je tiens à te remercier pour le script openvpn une merveille https://angristan.fr/installer-facilement-serveur-openvpn-debian-ubuntu-centos/

Je cherche à installer un proxy socks5 sur mon vps ovh debian. Tu aurais des pistes à me donner ?

Merci