Installer un proxy SQUID

squidInstaller un proxy dans un petit réseau d’entreprise (25 postes) est nécessaire notamment lorsque l’on a pas une bande passante illimité et qu’il y a plein de services qui tournent derrière ( Site Internet hébergé en local, Terminal Server etc…) et que les utilisateurs ont tendance à passer du temps sur Youtube et autres plateformes de téléchargement consommatrices de bande passante. Toutefois il vous faudra faire attention de bien rajouter à la charte informatique de l’entreprise que des logs sont enregistrés. Je n’irais pas jusqu’à installer SQUIDGUARD, mon objectif principal étant de limiter la bande passante, et de savoir à travers les logs qui consomme.

Pour cela pas besoin d’une machine des plus performante, un vieux PC avec 500mo de RAM et GO de disque dur fera l’affaire !

Choix d’une distribution : Debian ou Ubuntu Server ?

Mon choix se tournera vers Debian. Robuste, fiable et excellent. J’aurais pu me laisser tenter par ubuntu-server, mais je resterais sur mon 1er amour qu’est Debian. L’installation se fait en 15 minutes et j’ai naturellement enlevé toute interface graphique de base. A noter qu’il y a un support FR nettement moins présent, et j’avoue avoir eu un peu de mal pour résoudre certains petits problèmes techniques puisqu’il m’a fallu fouiller dans le support en anglais !

Il n’y a pas grand chose à faire pour ce qui est du paramétrage de notre debian. Si ce n’est configurer une IP statique :

vim /etc/network/interface
Supprimons :
allow-hotplug eth0
iface eth0 inet dhcp

pour remplacer par :
auto eth0
iface eth0 inet static
address 192.168.1.80
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.3

et redémarrons /etc/init.d/networking restart

On installera naturellement ssh :

aptitude install openssh-server

vim /etc/ssh/ssh_config
PermitRootLogin no
AllowUsers kizlum

/etc/init.d/ssh restart

On pourra aller plus loin avec une connexion clé publique / privée comme en réfère certains tutoriaux, j’avoue ne pas avoir testé.

Installons et configurons maintenant SQUID3 :

apt-get install squid3

cd /etc/squid3/
mv squid.conf squid.conf.origin
cat squid.conf.origin | egrep -v -e ‘^[:blank:]*#|^$’ > squid.conf

vim squid.conf

Ajoutons notre ACL
acl localNetwork src 192.168.1.0/24
et autorisons l’accès à notre proxy (tout le reste à deny) :
http_access allow localNetwork
http_access deny all

/etc/init.d/squid3 reload

Limiter l’utilisation de bande passante via SQUID

La fonction la plus intéressante. Il m’a fallu un peu de temps pour la maitriser.
L’objectif c’est de limiter la bande passante pour le réseau global, et également par utilisateur.
La configuration suivante limite la bande passante de 1.5 mo pour le reseau, et 512ko par utilisateur maximum. (pensez à convertir les bytes / bits)

delay_pools 1
delay_class 1 2
delay_parameters 1 192000/192000 64000/64000
delay_access 1 allow localNetwork

SQUID3 et domaine Active Directory / Server 2003.

A la base j’avais suivi ce tutoriel de façon à identifier les postes plus facilement dans les logs. C’est alors que j’ai commencé à avoir de sérieux soucis. L’intégration d’une Debian à un domaine sous 2003 ne se fait pas sans mal. J’ai notamment eu des problèmes avec les tickets Kerberos, et derrière c’est mon serveur 2003 qui a buggé. Plus de DNS… Donc plus d’Active Directory et derrière c’est la CATA. En fouillant un peu j’ai trouvé solution à mon problème via ce lien et la commande NETDOM RESETPWD (se référer au support microsoft.

J’ai tout de même réussis à limiter la casse non sans mal, car mon problème n’est pas intégralement résolu (les GPO sont inutilisables !!).
Bref, si on veut intégrer sa debian à un domaine 2003 il faut vraiment faire attention et mesurer les risques…

Utilisation des fichiers de log de SQUID !

Mon second objectif a été de pouvoir visualiser mes logs…
SARG, CALAMARIS, Webalizer… les solutions ont l’air nombreuses et consultables depuis WEBMIN.

On va donc installer webmin, toujours en suivant le tutoriel d’ubuntu…

cd /tmp
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.400_all.deb

apt-get install libauthen-pam-perl libio-pty-perl libmd5-perl
dpkg -i ~/webmin_1.400_all.deb

J’ai eu droit à une petite erreur,
Le paquet libnet-ssleay-perl n’est pas installé.
webmin dépend de openssl ; cependant :
Le paquet openssl n’est pas installé.
dpkg : erreur de traitement de webmin (–install) :
problèmes de dépendances – laissé non configuré
Des erreurs ont été rencontrées pendant l’exécution :
webmin
et bizarrement après avoir installé ces deux paquets :

apt-get install libnet-ssleay-perl openssl

J’ai eu pour réponse :
Webmin install complete. You can now login to https://mon_add_locale:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.

Cela fonctionne via : https://mon_add_locale:10000 et en se connectant… en root… Il faudra penser à modifier cela…

Dans l’interface Webmin, vous pouvez configurer et générer des rapports Squid via :

SARG : Servers → Squid Analysis Report Generator.

mais auparavant il faut l’installer :
apt-get install sarg

et pour les anglophobes, on passera webmin en français :
Webmin : Change language

J’avoue ne pas être allé plus loin pour l’instant dans la configuration de SARG, ca a l’air plutôt complet, il faudra jouer avec les options !

Configuration du proxy pour IE et Firefox

Pour Internet Explorer cela se fait très simplement via une GPO. Pour Firefox ce n’est malheureusement pas la même et il sera délicat d’automatiser tout ca. :(

J’ai tout de même trouvé quelques pistes, notamment pour le TSE :

http://pianaro.wordpress.com/2007/09/19/firefox-how-to-configure-proxy-for-all-terminal-server-users/

Pour la version 3.6 et outre, peu importe que cela soit le fichier all.js ou firefox.js. On devra toutefois faire attention aux fichiers prefs.js existants et le cas échéant modifier la valeur proxy.type à 1. Sinon il risque de prendre la valeur 0.

En conclusion

Voila donc ma (toute) petite expérience dans l’installation d’un proxy. Cela peut se faire très rapidement si on conserve les paramètres de base, et cela peut se révéler assez long et compliqué (voire dangereux !) si on se lance dans tout et n’importe quoi…

Partage cet article :
  • Print
  • Facebook
  • Google Bookmarks
  • Twitter
  • Add to favorites
  • blogmarks
  • Digg
  • email
  • LinkedIn
  • Live
  • PDF
  • Wikio FR

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>