====== Squid ====== ===== Authentification ===== Lien: http://www.comfsm.fm/computing/squid/FAQ-23.html Voir: * authenticate_program * authenticate_ttl ===== Anonym ===== Lien: http://patchlog.com/general/how-to-set-up-an-anonymous-proxy-on-debian/ On peut demandé à "squid" de filtrer des elements du "header", notamment pour être plus anonyme, ou simplement, ne pas montré qu'on passe par un proxy. Donc, dans **''squid.conf''** : header_access Allow allow all header_access Authorization allow all header_access WWW-Authenticate allow all header_access Proxy-Authorization allow all header_access Proxy-Authenticate allow all header_access Cache-Control allow all header_access Content-Encoding allow all header_access Content-Length allow all header_access Content-Type allow all header_access Date allow all header_access Expires allow all header_access Host allow all header_access If-Modified-Since allow all header_access Last-Modified allow all header_access Location allow all header_access Pragma allow all header_access Accept allow all header_access Accept-Charset allow all header_access Accept-Encoding allow all header_access Accept-Language allow all header_access Content-Language allow all header_access Mime-Version allow all header_access Retry-After allow all header_access Title allow all header_access Connection allow all header_access Proxy-Connection allow all header_access Cookie allow all header_access Set-Cookie allow all # TJ -------- header_access User-Agent allow all # ----------- header_access All deny all D'aprés mes tests, ca filtre au moins ça : HTTP_VIA=>1.1 pirate.thierry-jaouen.local:3128 (squid/2.7.STABLE3) HTTP_X_FORWARDED_FOR=>192.168.0.127 (En clair: ca dit que j'utilise un proxy et devoille mon ip réel) J'ai eu besoin de laisser passer le "User-Agent" ... ===== Configurer en proxy transparent ===== On a le reseau suivant: 192.168.0.0/24 : le reseau local 192.168.0.254 : la gateway vers le net 192.168.0.62 : le poste client qui doit passer par le proxy 192.168.0.50 : la gateway du client proxy 192.168.0.53 : le proxy est là ==== Sur le client proxy: ==== Faire en sorte que sa gateway soit **192.168.0.50**. Exemple: route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.50 Ainsi, tout ce qui n'est pas connu du client, utilise la route vers 192.168.0.50. ==== Sur la (pseudo) gateway ==== === Appliquer des regles de routages par marquage des paquets. === # echo 200 proxy >> /etc/iproute2/rt_tables (Nommer la table numéro 200 **proxy**) # ip rule add fwmark 0x41 table proxy (Si le paquet est marqué '0x41' regarder dans la table nommé **proxy**) # ip rule ls 0: from all lookup local 32765: from all fwmark 0x41 lookup proxy 32766: from all lookup main 32767: from all lookup default # ip route add default via 192.168.0.53 dev eth0 table proxy # ip route flush cache (La table **proxy** attribue un routage par defaut (a priori different de celui de l'hote bien sur)) Toutes les instructions **ip** ci-dessus doivent être regenérer a chaque reboot (c'est a injecter dans un script if-up...). Il faut attribuer **mark** en fonction des numéros possiblements deja attribué pour le QoS par exemple... ==== IPTABLES ==== Ajouter le marquage des paquets dans IPTABLES: /sbin/iptables -t mangle -A PREROUTING -i eth0 -p tcp -s 192.168.0.62 --dport www -j MARK --set-mark 0x41 Et c'est tout... Le marquage fait, le routage est fait sans plus passer dans aucune table... etrange d'ailleurs, j'ai du me tromper quelque part...) ==== Sur la machine hébergeant le proxy ==== Dans **/etc/squid/squid.conf** version 2.6 ou + (important) ... http_port 3128 transparent ... #http_access allow localhost #http_access allow all acl our_network src 192.168.0.62 http_access allow our_network ... Evidement, ca pourrait être une classe d'IP: **192.168.0.0/24** par exemple Au niveau d'IPTABLES: /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.0.0/24 -d ! 192.168.0.53 --dport www -j REDIRECT --to-port 3128 On redirige tout vers le **port 3128**, sauf ce qui est destiné au web interne... Et voila! ===== Authentification ===== ==== Captcha ==== Lien: http://www.vivanno.com/site/?p=55