Proxy Squid en 5 minutes

Publié le 31 juillet 2012 par Lmns972 @guestblog

Je pense que le proxy/reverse proxy Squid n’est plus à présenter . Nous verrons comment mettre en place un proxy squid avec authentification

Sur une debian pour ne pas changer

apt-get install squid3

Notre proxy tourne bien et écoute sur le port par défaut le 3128

netstat -laputen |grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      0          12279229    16700/(squid)

A ce stade nous avons un serveur squid qui tourne mais qui n’est pas encore configuré.

Si vous éditez le fichier de conf de squid , vous me direz que c’est pas possible de le configurer en 5 minutes .Ce Fichier comporte plus de 5000 lignes .

Nous allons lui faire subir un petit régime l’été oblige il faut pouvoir se mettre torce nu sur les plages .

Sauvegarde de l’originale on en aura besoins un jour pour d’autres fonctionnalités . Puis on crée un nouveau fichier de conf.

cp squid.conf squid.conf.ori
grep -v ^# squid.conf.ori | sed '/^$/d' > squid.conf

A partir de maintenant nous avons un fichier de conf nettement plus lisible  et présentable .

Ce qu’il faut savoir :

- Les ACL sont des access lists qui permettent de définir un nom de domaine , IP , ports ou encore une plage horaire.

- Http_access ou encore les autorisation d’accès ici on définit les accès (access|deny) en fonction de vos acl.

Je crée une ACL pour mon réseau local / publique et j’autorise son accès

#Declaration des ACL
acl home src 10.10.10.0/24 

#Autorisation d'acces
http_access allow home

Pour prendre en compte les modifications il faut restart squid . Cela prends un peu de temps .
A ce stade nous avons un serveur proxy qui tourne mais qui n’est pas du tout sécurisé . N’importe qui , qui requête votre serveur avec cette ip pourra l’utiliser .

Sécurisons un peu tout ça . Nous allons utiliser la méthode d’authentification classique via htpasswd . D’autre méthode existe typiquement l’authentification ldap.

mkdir access
cd access
touch users
htpasswd -m users votre_user

Le -m permets l’encryption du mot de passe en md5 .

Maintenant que votre user est crée , il faut que squid fasse appel à ce fichier .

#Parametres authentification
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/access/users
auth_param basic children 5
auth_param basic realm Authentification requise
auth_param basic credentialsttl 1 days

Il faut maintenant définir les bonnes acl et les autorisations ben oui .

#Declaration des ACL
acl home src 10.10.10.0/24 
acl access proxy_auth REQUIRED

#Autorisation d'acces
http_access allow home security

On oublies pas un petit restart pour la route .

Moins 5 minutes vous avez un proxy squid qui tourne avec une authentification . Comme je pense qu’il vous reste un peu de temps ajoutons le formatage des logs .

#LogFormat
logformat squid  %tl %6tr %>a %Ss/%03>Hs %<Hs %<st %rm %ru %un %Sh/%<A %mt