Chrooter apache
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Graver en ligne de commande
Astuces
Astuces en Bash
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Toutes les traductions
Toutes les traductions
Hackin9

Il y a actuellement 5 visiteurs connectés sur le site !

Google
Proxy squid
Proxy squid

 

Qu'est ce que c'est
Installation
Repertoire de cache
Test et configuration des navigateurs 
Autres options 

 

Qu'est ce que c'est? :

Un serveur mandataire ou serveur proxy est un serveur qui a pour fonction de relayer différentes requêtes et d'entretenir un cache des réponses. Inventé par le Centre européen de recherche nucléaire en 1994, à l'origine pour relier à Internet des réseaux locaux n'utilisant pas le protocole TCP/IP, il a été depuis doté de nouvelles fonctions concernant :* le cache;* l'enregistrement (logging) des requêtes;* la sécurité du réseau local;* le filtrage et l'anonymat.
Avant la mise en place d'un proxy, toutes les personnes qui allaient sur internet, récupéraient par l'intermédiaire de leur navigateur les objets (html, images, ...) qu'ils avaient consulté, mais tous ces objets qui étaient télécharges n'étaient pas accessibles pour les autres navigateurs, ce qui impliquait que les autres utilisateurs devaient eux aussi récupérer leurs propres objets.
Après la mise en place du proxy, les personnes passaient par notre nouveau serveur pour aller chercher des objets (pages html , images , etc).
A chaque demande d'un utilisateur le proxy enregistre les objets sur son disque dur. L'utilisateur suivant qui demande les même objets (ex : meme url) sont déjà enregistrés sur le proxy donc non retélécharge.
Ce qui réduit la consommation de bande sur notre ligne Adsl. Bien sur le serveur proxy vérifie, avant de donner les objets qu'il possède sur son disque, s'il n'y a pas de version plus récente de l'objet demandé sur Internet. S'il y a une version plus récente il va la telecharger sinon il donne à l'utilisateur l'objet qui avait ete enregistré.

:

Installation :

Téléchargez la dernière version de Squid.
urpmi squid (pour une distribution mandriva
apt-get install squid (pour une debian)
Voici ce que vous obtenez

/usr/lib/squid : le repertoire de base de squid
/etc/squid : le repertoire de configuration de squid
/usr/sbin/squid : contenant les binaires .
/var/log/squid contient les logs et les fichiers caches
Pour des logs/caches importants ,il sera préférable d'allouer une partition séparée

En général les options de configuration par défaut sont correctes pour une utilisation dite classique
Squid doit initialisé les ports qui sont < 1024 par un process en root. Pour des raisons de sécurité. Il faut créer un utilisateur squid et un groupe squid pour permettre à Squid de se mettre en utilisateur Squid une fois les ports initialisés.
Une fois l'utilisateur et le groupe crée, ajouter ces lignes au squid.conf :
cache_effective_user squid cache_effective_group squid
Le Port d 'écoute : Par défaut Squid écoute sur le port 3128.
De nombreux administrateurs réseaux préfèrent le passer en 81 ou en 8080.

Repertoire de cache :

Toujours dans le fichier squid.conf, il y a une directive qui s'appelle cache_dir qui comme son nom l'indique est le répertoire pour cacher les objets.
Vous devez avoir quelques chose comme ca : cache_dir ufs /usr/local/squid/cache 1024 16 256 dans votre fichier.
Le premier chiffre indique la taille du cache il est exprimer en Mo donc ici il est d'1 Go.
Ne pas oublier de changer les droits sur le repertoire de cache :
chown squid /var/log/squid
chgrp squid /usr/local/squid
Trés important : Il faut maintenant initialiser le répertoire de cache :
/usr/sbin/squid –z
Autres options du squid.conf

http_port 3128 (c'est le port sur lequel travaille le cache, 3128 par défaut, certains déplacent ce port en 8080)
icp_port 3128 (c'est le port sur lequel le cache peut être interrogé par un cache fils ou voisin, cas d'une hiérarchie)
cache_mgr deny@monaco.net (c'est le nom de l'administrateur du cache)
cache_effective_user squid squid (sert à affecter un utilisateur et un groupe pour squid)
visible_hostname cache.domaine.fr (c'est le nom que renvoi squid lorsqu'il est interrogé de l'extérieur)
cache_mem 20 MB (c'est la mémoire que l'on alloue à Squid pour tourner , valeur par défaut 8 MB).
cache_dir /cache1 3200 16 256 (pour indiquer le répertoire devant accueillir les objets, la taille disque, le nombre de répertoires de premier et de second niveau pour le stockage)
cache_dir /cache2 3200 16 256 (idem pour la deuxième partition allouée au cache)
cache_access_log /var/log/squid/access.log (pour indiquer à quel endroit stocker le fichier log des requêtes)
cache_log /var/log/squid/cache.log (pour indiquer à quel endroit stocker le fichier log de squid)
cache_store_log none (pour ne pas enregistrer dans un fichier de log les ecritures et effacements d'objets)

Test et configuration des navigateurs :

Si vous avez suivi mes instructions à la lettre votre configuration doit être finie.
Saisir en root /usr/sbin/squid -z (consulter ensuite le fichier /var/log/squid/cache.log pour vérifier que tout c'est bien passé)
Pour vérifier que squid charge bien ses pages depuis le cache , ouvrez votre navigateur configuré comme ci-dessous:
Nous allons maintenant configurer notre navigateur pour pouvoir utiliser le cache de manière quotidienne.

Dans Netscape : Edit/préférence , Advanced, Proxy et la vous remplissez les options qu'il vous demande.
(Le port par défaut est 3128)

Ensuite vérifier dans le fichier /var/log/squid/access.log les requêtes
Vous obtiendrez un listing de ce type :

1145704653.059 215 192.168.0.1 TCP_REFRESH_HIT/304 323 GET http://www.linux-pour-lesnuls.com/icone/codehacks.gif - DIRECT/82.216.95.106 -
1145704653.072 172 192.168.0.1 TCP_REFRESH_HIT/304 323 GET http://www.linux-pour-lesnuls.com/fondb1.gif - DIRECT/82.216.95.106 -
1145704653.093 188 192.168.0.1 TCP_REFRESH_HIT/304 324 GET http://www.linux-pour-lesnuls.com/fondb2.gif - DIRECT/82.216.95.106 -
1145704653.464 415 192.168.0.1 TCP_MISS/200 1562 GET http://ss.webring.com/navbar? - DIRECT/69.90.135.89 application/x-javascript

(le mot HIT correspond à un objet trouvé dans le cache, le mot MISS indique que Squid ne l'a pas et va donc le chercher directement sur Internet ou via son Parent selon les cas...)
Pour lancer automatique squid au démarrage :
Rendez-vous dans mcc / services et activez squid au démarrage

Autres options :

Il faut ensuite définir les règles d'accès au cache (dit access-list ou acl)
http_access allow all (pour autoriser tout le monde à utiliser le cache)
acl CLIENTS src 172.16.0.0/255.255.0.0 192.168.1.10/255.255.255.255 (on définit les réseaux ou les machines autorisées)
http_access allow CLIENTS (on autorise les accès http aux machines définit dans l'acl CLIENTS)
http_access deny all (on interdit toutes les autres)
Si votre cache est amené à être consulté par d'autres caches dans un hiérarchie, l'interrogation se fait via le protocole ICP.
icp_access allow CLIENTS (on autorise les accès icp aux machines définit dans l'acl CLIENTS)
icp_access deny all (on interdit toutes les autres)


Sources de l'article

 

Forum d'entraide
Les news du site
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
Azureus pas-a-pas
Lire les news de Linux-pour-lesnuls.com au format RSS
Gestion des paquets debian
101 commandes debian
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Ensemble
Divers