<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le blog de Michauko &#187; proxy</title>
	<atom:link href="http://michauko.org/blog/tag/proxy/feed/" rel="self" type="application/rss+xml" />
	<link>http://michauko.org/blog</link>
	<description>Si tu ne comprends pas le titre de l&#039;article, passe ton chemin</description>
	<lastBuildDate>Mon, 16 Apr 2012 10:10:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Migration de Firefox vers Chrome, des années après sa sortie&#8230;</title>
		<link>http://michauko.org/blog/2011/08/22/migration-de-firefox-vers-chrome-des-annees-apres-sa-sortie/</link>
		<comments>http://michauko.org/blog/2011/08/22/migration-de-firefox-vers-chrome-des-annees-apres-sa-sortie/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 15:41:28 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firegestures]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[tabmix plus]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1258</guid>
		<description><![CDATA[Et voilà, ce matin ça m&#8217;a pris comme une envie de&#8230; enfin, d&#8217;un coup. Firefox 6 m&#8217;ayant largement gonflé à mon retour de vacances, j&#8217;ai tenté la migration vers Chrome. Je consigne ici quelques remarques qui rassureront ceux qui hésitent depuis longtemps. Si à l&#8217;époque de la sortie de Chrome, il n&#8217;y avait rien pour [...]]]></description>
			<content:encoded><![CDATA[<p>Et voilà, ce matin ça m&#8217;a pris comme une envie de&#8230; enfin, d&#8217;un coup. Firefox 6 m&#8217;ayant largement gonflé à mon retour de vacances, j&#8217;ai tenté la migration vers Chrome. Je consigne ici quelques remarques qui rassureront ceux qui hésitent depuis longtemps. Si à l&#8217;époque de la sortie de Chrome, il n&#8217;y avait rien pour l&#8217;arranger, les choses ont changé depuis le temps.</p>
<p>Avant de migrer, il y a 2 questions à se poser (à mon avis) :<br />
- quel intérêt ? nouvelles fonctions ? plus beau ? aimer le changement ?<br />
- y&#8217;a-t-il toutes les fonctions / mes plugins ?</p>
<p>Pour la première question<span id="more-1258"></span>, entre le fait que Mozilla sorte ces dernières semaines une version plus vite que certains ne changent de slip et que la version 6 se viande trop souvent quoi que j&#8217;y fasse (réinstall, vider tout ce que tu peux, en version portable ou pas, sur différents OS, en supprimant des plugins&#8230;) et que la réputation de Chrome, pour la rapidité, semble faite, c&#8217;était l&#8217;occasion de tester. Restait donc à trouver les plugins &laquo;&nbsp;manquants&nbsp;&raquo; au logiciel de base, à coup sûr le genre FireGestures, TabMix Plus etc&#8230;</p>
<p><em>Je propose d&#8217;ailleurs à Mozilla de sauter tout de suite à la version &laquo;&nbsp;15 pro&nbsp;&raquo;. &laquo;&nbsp;firefox 15 pro&nbsp;&raquo;, ça serait tout de suite mieux que tous les autres logiciels, puisque le numéro est plus gros. Et c&#8217;est pro.<br />
</em></p>
<p>Bon allez, on abrège :</p>
<h1>Premiers pas</h1>
<h2>Reprise de données</h2>
<p>Mes données firefox sont synchronisées par le logiciel Firefox lui-même et j&#8217;utilise principalement (je vais pas m&#8217;étendre là-dessus) un firefox &#8211; 5, donc &#8211; portable (et crypté).<br />
Première mission : reprendre tout ça. Chrome reprend tout (mots de passe, historique etc) d&#8217;une version *installée* et *sans mot de passe principal*. J&#8217;ai donc dû installer un firefox &laquo;&nbsp;normalement&nbsp;&raquo;, écraser le contenu du profil vierge (sous Windows, dans <code>C:\Docs&#038;Settings\moi\Mozilla....\profile....\</code>) en faisant en plus sauter le mot de passe principal.<br />
La reprise fonctionne alors très bien.<br />
Penser à effacer cette copie de profile devenue inutile.</p>
<h2>Proxy</h2>
<p>Au boulot, il y a le proxy officiel, et mon proxy au bout d&#8217;un tunnel SSH. Dans les options de configuration, on s&#8217;aperçoit que Chrome ne propose que le proxy paramétré dans le système (IE) ! Sans blague ???? quel choix débile : si c&#8217;est sensé faciliter le fonctionnement pour un boulet lambda qui installe Chrome entreprise, bah il faut blâmer les administrateurs de ne pas l&#8217;autoriser avec packaging à la clef. Sinon, il faut les blâmer de laisser faire. Et dernier choix, le particulier qui utilise un proxy ??? ça devient rare, ou alors il est au courant. Il reprendra sa conf.<br />
Bref, devant ce merveilleux choix, Google m&#8217;expliqua que je devais mettre &#8211;proxy-server=mon.proxy:mon_port dans la ligne de commande. Pratique et hautement configurable. Enfin bon, ça me suffit et je suis sûr qu&#8217;il y a un plugin pour améliorer ça <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Divers, impression, synchro multi-poste</h2>
<p>Bon ensuite c&#8217;est parti ça marche, je note rapidement 2 choses : on peut &laquo;&nbsp;épingler&nbsp;&raquo; les sites, comme dans les firefox récents et il y a une fonction pour imprimer sur une imprimante d&#8217;un autre PC avec Chrome. Il faudra que j&#8217;essaye ça : sortir un papier trouvé chez soi pour le boulot et réciproquement. Pourquoi pas.<br />
Les onglets épinglés reviennent lorsqu&#8217;on relance. Pas les autres. On peut faire ctrl-shift-T pour rappeler tous les onglets fermés, mais il va falloir vite trouver TabMix+ ou équivalent. Il faut dire que j&#8217;avais un peu ignoré l&#8217;option qui justement restaure les onglets après fermeture. Ca fait déjà une bonne partie de ce dont j&#8217;ai besoin dans TMP.<br />
Ayant un compte Google et utilisant un bon panel de leurs applications, la synchro de mes paramètres (mdp etc) est tombée sous le sens. Ca marche bien et chose terrible : en installant un chrome &laquo;&nbsp;normal&nbsp;&raquo; (pas portable) sur un autre PC à moi, la synchro aura même redescendu les plugins ! Pas mal.</p>
<p>Bon bah voilà, reste à affiner avec des plug-ins.<br />
Ah, et les raccourcis clavier sont les mêmes, globalement.</p>
<h1>Equivalence des plugins</h1>
<h2>FireGestures => <a href="https://chrome.google.com/webstore/detail/aeaoofnhgocdbnbeljkmbjdmhbcokfdb?hl=fr" title="Mouse Stroke" target="_blank" class="broken_link">Mouse Stroke</a></h2>
<p>Pareil, voire mieux (paramétrable par application ?)<br />
Les raccourcis de base sont les mêmes <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h2><a href="https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdccddilifddb" title="AdBlock+" target="_blank">Adblock+ => inchangé</a></h2>
<p>Ne pas confondre avec la palanquée d&#8217;autres outils qui ont presque la même icone.</p>
<h2>Fox To Phone => <a href="https://chrome.google.com/webstore/detail/oadboiipflhobonjjffjbfekfjcgkhco?hl=fr" title="Chrome To Phone" target="_blank">Chrome To Phone</a></h2>
<p>Pareil. Je crois que le plugin vient de Chrome au départ, de toute manière.</p>
<h2><a href="http://www.garmin.com/products/communicator/" title="Garmin communicator => inchangé&nbsp;&raquo; target=&nbsp;&raquo;_blank&nbsp;&raquo;>Garmin Communicator => inchangé</a></h2>
<p>OK, ça semble être fonctionnel mais je n&#8217;ai pas mon GPS sur moi.</p>
<h2>gTranslate => <a href="https://chrome.google.com/webstore/detail/obgoiaeapddkeekbocomnjlckbbfapmk" title="Auto-Translate" target="_blank">Auto-Translate</a></h2>
<p>Pareil en mieux.</p>
<h2>Google + + (plus plus) => <a href="https://chrome.google.com/webstore/detail/aamklbolfkledofgpbdllkangemkfdnb?hl=fr" title="Publish Sync" target="_blank" class="broken_link">Publish Sync</a></h2>
<p>Google++ génial sur le papier (publications FB/G+/Twitter depuis l&#8217;un des 3, vers les 3) n&#8217;a jamais fonctionné pour moi. L&#8217;extension Publish Sync, uniquement pour Chrome, était donc une belle occasion. Ben ça marche, nickel.</p>
<h2>NZBdStatus => <a href="https://chrome.google.com/webstore/detail/okphadhbbjadcifjplhifajfacbkkbod#" title="SABConnect++" target="_blank">SABConnect++</a></h2>
<p>Ca marche et c&#8217;est même mieux que le NZBdStatus que j&#8217;utilisais sur Firefox.</p>
<h2>ReadItLater => une page web</h2>
<p>Avec Chrome,  ça propose une page web. Finalement c&#8217;est mieux que le bouton que j&#8217;avais sur Firefox.</p>
<h2>TabMix + => <a href="https://chrome.google.com/webstore/detail/nmidkjogcjnnlfimjcedenagjfacpobb?hl=fr" title="FreshStart" target="_blank">FreshStart </a>/ <a href="https://chrome.google.com/webstore/detail/bbcnbpafconjjigibnhbfmmgdbbkcjfi?hl=fr" title="Session Manager" target="_blank">Session Manager</a> ?</h2>
<p>Gros sujets bloquant plein de personnes (dont moi).<br />
Je n&#8217;utilise que :<br />
- la réouverture de la session, même en cas de crash<br />
- la sauvegarde de quelques ensembles d&#8217;onglets pour faciliter l&#8217;accès simultané à un paquet donné de sites.<br />
- la protection contre la fermeture / le changement d&#8217;url d&#8217;un onglet.<br />
Le premier point est disponible de base, sauf en cas de crash. Ca semble apporté par &laquo;&nbsp;FreshStart&nbsp;&raquo;, mais je n&#8217;ai pas encore réussi à planter le navigateur. On verra, donc. A ce propos, chaque onglet semble donner naissance à un processus système différent, ça limite peut-être la casse en cas de plantage d&#8217;un site.<br />
Le deuxième point vient avec FreshStart &#8211; j&#8217;avais trouvé Session Manager au départ. Ca ne faisait que ça. A voir si tout ça remonte via la synchro Google sur un autre PC&#8230;.<br />
Troisième et dernier point : rien trouvé. Je m&#8217;en passerai. Quand on ferme un onglet par erreur, on peut facilement le rouvrir.</p>
<p>Je ne dis rien sur les options de navigation : ouverture et placement des onglets car il y a longtemps que j&#8217;ai arrêté de bidouiller tout ça. Je m&#8217;adapte au logiciel. Avec chrome, ça ouvre un onglet juste à droite de l&#8217;onglet courant. Bon, soit.</p>
<h2>Easy Youtube Video Downloader => <a href="http://www.chromeextensions.org/music-videos-photos/fastesttube/" title="FastestTube" target="_blank">FastestTube</a></h2>
<p>Ca marche, point. Intégration pareil : une liste déroulante sous la vidéo.<br />
Je n&#8217;ai pas regardé d&#8217;outils multi-site (dailymotion &#038; co)</p>
<h2>FireBug => ?</h2>
<p>Rien vu vite fait, à part que le bouton droit sur un élément puis &laquo;&nbsp;Inspect&nbsp;&raquo; sort déjà pas mal de choses. Au pire, vu les rares fois où j&#8217;ai besoin de FireBug, je lancerai mon bon vieux &laquo;&nbsp;Firefox 27.2 pro limited edition&nbsp;&raquo;</p>
<h2>Nouveau : <a href="https://chrome.google.com/webstore/detail/khpcanbeojalbkpgpmjpdkjnkfcgfkhb?hl=fr" title="Chromium Wheel Smooth Scroller" target="_blank">Chromium Wheel Smooth Scoller</a></h2>
<p>Tombé dessus par hasard, c&#8217;est vrai que le scroll à la souris est bien plus fluide. J&#8217;adopte.</p>
<h2>Nouveau : <a href="https://chrome.google.com/webstore/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd" title="Abonnement RSS" target="_blank" class="broken_link">Abonnement RSS</h2>
<p>Ca rajoute l&#8217;icone lorsqu&#8217;un flux RSS est détecté sur une page, comme Firefox à une époque.</p>
<h2>Nouveau : <a href="https://chrome.google.com/webstore/detail/mmffncokckfccddfenhkhnllmlobdahm" title="FastestChrome" target="_blank">FastestChrome</a></h2>
<p>Sensé accélérer le chargement, précharger des pages, faire la cuisine etc. On me l&#8217;a recommandé, j&#8217;ai installé mais je verrai plus tard</p>
<p>Voilà pour ce tour d&#8217;horizon rapide. Yapuka ne pas être déçu maintenant.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2011/08/22/migration-de-firefox-vers-chrome-des-annees-apres-sa-sortie/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Arborescence de proxy &#171;&#160;Squid&#160;&#187;, calamaris sous Windows&#8230;</title>
		<link>http://michauko.org/blog/2009/11/03/arborescence-de-proxy-squid-calamaris-sous-windows/</link>
		<comments>http://michauko.org/blog/2009/11/03/arborescence-de-proxy-squid-calamaris-sous-windows/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 15:04:56 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[autres outils]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre.org]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[ActivePERL]]></category>
		<category><![CDATA[calamaris]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=902</guid>
		<description><![CDATA[Pour les planet-libristes extrêmistes : oui je parle aussi de Windows, pas la peine de balancer vos trolls habituels. Je parle ici d&#8217;un environnement mixte Windows/Linux sur fond avant tout de Squid, Calamaris et PERL. Hop, Dans une infra avec un proxy central et des sites distants reliés par des connexions assez lentes (et pas [...]]]></description>
			<content:encoded><![CDATA[<p><em>Pour les planet-libristes extrêmistes : oui je parle aussi de Windows, pas la peine de balancer vos trolls habituels. Je parle ici d&#8217;un environnement mixte Windows/Linux sur fond avant tout de Squid, Calamaris et PERL.</em></p>
<p>Hop,<br />
Dans une infra avec un proxy central et des sites distants reliés par des connexions assez lentes (et pas d&#8217;accès web direct), j&#8217;ai décidé de mettre en place des proxies &laquo;&nbsp;fils&nbsp;&raquo; sur les sites distants, pour soulager l&#8217;inter-site.<br />
Manque de bol, à distance, uniquement des serveurs Windows sous la main&#8230;<br />
Bon, squid existe sous Windows. Et &laquo;&nbsp;calamaris&nbsp;&raquo; n&#8217;est que du PERL. Ca doit pouvoir le faire.<br />
Je fais cet article comme aide-mémoire, comme souvent, et surtout parce-que quand il faut automatiser des choses sous Windows, on voit vite que c&#8217;est vraiment la merde&#8230; Alors pour ne pas chercher 107 ans la prochaine fois, voici les quelques commandes à enchainer.</p>
<p>Et puis je n&#8217;avais pas envie/possibilité d&#8217;installer un superbe proxy-by-Microsoft, genre ISA ou je ne sais plus comment il s&#8217;appelle. Pas la peine non plus de chercher les ennuis quand on a un squid qui marche très bien <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Je parle sur mon blog <a href="http://michauko.org/blog/?s=squid" target="_blank">à différents moments de Squid</a>, ou de proxy. Ca me fait penser que je n&#8217;ai rien écrit sur la mise en place d&#8217;un squid tout bête. On va considérer que c&#8217;est acquis. Sinon, avec le présent article et les autres, vous devriez avoir une certaine aide.</em><span id="more-902"></span></p>
<h1>Installation et configuration des squid Windows</h1>
<p>Je passe sur le <del datetime="2009-11-02T14:05:38+00:00">aptitude install </del>téléchargement à la main du gros zip contenant squid pour Windows, qu&#8217;on trouve à partir du <a href="http://www.squid-cache.org/" target="_blank">site officiel</a> (faut chercher un peu. Bon OK, <a href="http://squid.acmeconsulting.it/download/squid.html" target="_blank">c&#8217;est là</a>). J&#8217;ai pris la même version que pour Debian Lenny, histoire d&#8217;interconnecter des squid de même génération&#8230; sait-on jamais. C&#8217;est donc la 2.7-STABLE7 (en fait ça doit être 2.7-STABLE5 en Debian, il me semble).<br />
Ensuite, j&#8217;ai dézippé comme un cochon dans <code>c:\squid\</code> et adapté la conf. Ce que je décris ci-dessous.</p>
<h2>Configuration minimale</h2>
<p>Il faut copier les fichiers <code>c:\squid\etc\*conf.default</code> en <code>c:\squid\etc\*conf</code> et adapter les contenus, notamment dans <code>squid.conf</code> :</p>
<ul>
<li>
Adapter &laquo;&nbsp;acl localnet src&nbsp;&raquo; pour votre sous-réseau
</li>
<li>
Déclarer le cache à utiliser : cache_dir ufs d:/squid/var/cache 4000 16 256
</li>
<li>
Taille limite des objets mis en cache, à voir suivant votre cas : maximum_object_size 81920 KB
</li>
<li>
Différents répertoires pour les fichiers de logs : cache_log d:/squid/var/logs/cache.log
</li>
<li>
cache_store_log d:/squid/var/logs/store.log
</li>
<li>
netdb_filename d:/squid/var/logs/netdb.state
</li>
</ul>
<p>J&#8217;ai voulu séparer les logs sur un disque à part. <strong>A noter les &laquo;&nbsp;/&nbsp;&raquo; (et non pas des &laquo;&nbsp;\&nbsp;&raquo;).</strong></p>
<h2>Service, initialisation du cache</h2>
<p>Ensuite, il faut installer le service et créer le cache (j&#8217;ai laissé le format de cache par défaut, une arborescence de répertoires avec des fichiers aux noms codés) :</p>
<pre>cd c:\squid\sbin
squid -k
squid -i
net start Squid</pre>
<p>A noter que le nom du service n&#8217;est pas spécifié, ce sera donc par défaut &laquo;&nbsp;Squid&nbsp;&raquo;, c&#8217;est important pour la rotation de logs.<br />
<strong>Le &laquo;&nbsp;<code>net start Squid</code>&nbsp;&raquo; ne devrait être fait qu&#8217;après configuration du lien avec le proxy &laquo;&nbsp;père&nbsp;&raquo; central, ce qu&#8217;on n&#8217;a pas encore fait. Mais bon, je le montre maintenant pour illustrer.</strong></p>
<p>En images, ça donne :<br />
<div id="attachment_903" class="wp-caption alignleft" style="width: 677px"><a href="http://michauko.org/blog/wp-content/uploads/2009/11/20091029_165018.png"><img src="http://michauko.org/blog/wp-content/uploads/2009/11/20091029_165018.png" alt="squid windows" title="Installation de Squid sous Windows" width="667" height="330" class="size-full wp-image-903" /></a><p class="wp-caption-text">Installation de Squid sous Windows</p></div></p>
<h2>Déclaration du squid &laquo;&nbsp;père&nbsp;&raquo;</h2>
<p>Dans la conf, il faut simplement caser un :</p>
<pre>cache_peer proxycentral.maboite.fr parent 3128 3130 name=pxycentral
acl ftp proto FTP
always_direct allow ftp</pre>
<p>J&#8217;explique : on déclare que ce proxy a un père (parent), sur le port 3128, machine &laquo;&nbsp;proxycentral.maboite.fr&nbsp;&raquo;. On attaquera l&#8217;interrogation du contenu de son cache via le protocole <a href="http://en.wikipedia.org/wiki/Internet_Cache_Protocol" target="_blank">ICP</a> (UDP/3130) et on le surnomme &laquo;&nbsp;pxycentral&nbsp;&raquo; dans les logs <code>access.log</code> histoire d&#8217;y voir clair.<br />
Evidemment, le proxy central doit être ouvert sur le port TCP/3128 et UDP/3130 depuis les proxies &laquo;&nbsp;fils&nbsp;&raquo;.</p>
<h2>Rotation de logs</h2>
<p>Pour la rotation de logs, c&#8217;est en général un grand moment de bonheur pur sous Windows lorsqu&#8217;on amène un outil &laquo;&nbsp;du monde libre, tout ça&nbsp;&raquo; dans Windows. Heureusement ce coup-ci, Squid embarque ce qu&#8217;il faut :</p>
<pre>c:
cd \squid\sbin
squid -k rotate -n Squid</pre>
<p>Reste à mettre ça en &laquo;&nbsp;tâche planifiée&nbsp;&raquo; Windows.</p>
<p>Maintenant que ça tourne (testez), reste à synthétiser les logs, comme on le ferait naturellement sous Linux.</p>
<h1>calamaris sous Windows, youpiiiii</h1>
<p>Dans mon cas, ramener les logs sur un Linux qui aurait fait tourné calamaris était compliqué à mettre en oeuvre. Dans votre cas aussi, je suppose, car la rotation des logs fait que les fichiers sont renommés. Donc même avec un rsync (ou truc du genre), vous allez vous resynchroniser des Mo de logs (compressés éventuellement) à chaque fois.<br />
Bref, j&#8217;ai opté pour un déploiement de PERL sur les serveurs distants et une &laquo;&nbsp;tâche planifiée&nbsp;&raquo; pour générer les pages statiques de statistiques des &laquo;&nbsp;fils&nbsp;&raquo; Squid.</p>
<p>Sous Windows, rien n&#8217;est fourni, je noterai donc ici la ligne de commande bien longue qu&#8217;on n&#8217;a pas besoin de chercher sous Linux, car les scripts &laquo;&nbsp;cron&nbsp;&raquo; sont fournis avec le paquet calamaris. Sous Debian en tout cas.</p>
<p>J&#8217;ai donc utilisé ActivePerl et récupéré calamaris en .tar.gz sur le site de l&#8217;éditeur. Manque de bol, j&#8217;ai retrouvé <a href="http://michauko.org/blog/2009/04/21/calamaris-en-debian-stable-ca-bug/" target="_blank">le même bug que décrit ici</a>, donc j&#8217;ai fini par recopier le script perl <code>/usr/bin/calamaris</code> issu de ma Debian, patché pour corriger ledit bug.<br />
Ensuite, plutôt que de ramer avec le fichier de conf, j&#8217;appelle calamaris en ligne de commande, via une &laquo;&nbsp;tâche planifiée&nbsp;&raquo;, et ça fait le boulot. C&#8217;est pas terrible mais bon, ça marche.<br />
Pire que tout, pour générer les stats &laquo;&nbsp;weekly&nbsp;&raquo; et &laquo;&nbsp;monthly&nbsp;&raquo;, je recalcule tout en concaténant les différents &laquo;&nbsp;access.log.*&nbsp;&raquo; issus des rotations de logs, sur <em>X</em> jours.</p>
<p>En résumé, ça donne :</p>
<ul>
<li>
Installation de ActivePERL
</li>
<li>
Création dans C:\PERL\lib d&#8217;un répertoire calamaris avec les 3 fichiers .pm (modules PERL) pour la génération de graphiques dans les stats ; je n&#8217;ai pas trouvé comment lui spécifier d&#8217;utiliser ces modules, sans avoir à les copier dans PERL/lib. Je n&#8217;ai pas trop cherché non plus. Ca doit être avec &laquo;&nbsp;-I&nbsp;&raquo; ou quelque chose comme ça.
</li>
<li>
Recopie du script &laquo;&nbsp;calamaris&nbsp;&raquo; issu de Debian, quelque part sur le Windows
</li>
<li>
Mise en place de tâches planifiées appelant des &laquo;&nbsp;.bat&nbsp;&raquo; dans ce genre là :</p>
<pre>@echo off
d:
cd D:\calamaris-2.99.4.0
type d:\squid\var\logs\access.log.0 | perl calamaris -a -F html,graph -H lookup --output-path d:\calamaris\output\daily</pre>
</li>
</ul>
<p>Notez que GD::Graph, nécessaire pour les graphiques, est installé par défaut avec ActivePERL.</p>
<p>Et voilà, mettez tout ça en oeuvre et ça devrait le faire.</p>
<h1>Quelques remarques en vrac</h1>
<p>Si tous les codes de retours de Squid ne vous parlent pas, <a href="http://wiki.squid-cache.org/SquidFaq/SquidLogs?highlight=%28%28SquidFaq|SquidLogs%29%29" target="_blank">lisez cette documentation là</a>.</p>
<p>Comme je parle dans cet article d&#8217;un environnement mixte Windows &#038; Linux, on peut parler de WSUS. Ces considérations pour Squid concernant les mises à jour Windows peuvent vous intéresser : <a href="http://wiki.squid-cache.org/SquidFaq/WindowsUpdate" target="_blank">http://wiki.squid-cache.org/SquidFaq/WindowsUpdate</a></p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2009/11/03/arborescence-de-proxy-squid-calamaris-sous-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SquidGuard : filtre d&#8217;URL et listes à jour (le plus dur)</title>
		<link>http://michauko.org/blog/2009/05/20/squidguard-filtre-durl-et-listes-a-jour-le-plus-dur/</link>
		<comments>http://michauko.org/blog/2009/05/20/squidguard-filtre-durl-et-listes-a-jour-le-plus-dur/#comments</comments>
		<pubDate>Wed, 20 May 2009 07:53:27 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[autres outils]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre.org]]></category>
		<category><![CDATA[reseau et sécu]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[filtre]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[squidguard]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=313</guid>
		<description><![CDATA[Edit 02/02/2011 : l&#8217;auteur de Squidguard précise : Bonjour à tous, Suite à une demande récurrente, et visiblement partagée par un certain nombre d'organisme, nous créons une nouvelle catégorie : "social_networks". Elle permettra de filtrer plus spécifiquement les sites de réseaux sociaux, en ne les incluant pas dans des catégories finalement inadaptées. Nous essayerons, tant [...]]]></description>
			<content:encoded><![CDATA[<hr />
<strong>Edit 02/02/2011 : l&#8217;auteur de Squidguard précise :</strong></p>
<pre>    Bonjour à tous,

    Suite à une demande récurrente, et visiblement partagée par un certain nombre d'organisme, nous créons une nouvelle catégorie : "social_networks".

    Elle permettra de filtrer plus spécifiquement les sites de réseaux sociaux, en ne les incluant pas dans des catégories finalement inadaptées.

    Nous essayerons, tant que faire ce peut, de sortir les sites complets des autres catégories (par exemple facebook de la catégorie blog).

    Cordialement </pre>
<p><strong>FIN</strong></p>
<hr />
<p>Pour faire suite à l&#8217;article sur la mise en place de <a href="http://michauko.org/blog/2009/05/19/privoxy-sur-squid-virer-les-pubs-pour-tout-le-monde/">Privoxy pour faire sauter les pubs</a> dans toute votre société (ou chez vous sur votre petit réseau local), voici un complément : le filtre d&#8217;URL par catégorie.<span id="more-313"></span></p>
<p>J&#8217;ai eu l&#8217;occasion de jouer avec SquidGuard à travers un serveur IPCOP mis en place par mes soins dans l&#8217;école primaire de mon village, avec la bénédiction du Ministère de l&#8217;Education. Ca marche pas mal, il faut avouer. N&#8217;ayant pas de moyen, une école optera certainement pour des listes de filtrages gratuites. Si une seule était à retenir, ce serait <a href="http://cri.univ-tlse1.fr/blacklists/">celle de l&#8217;Université de Toulouse</a>.</p>
<p><strong>Deux objectifs possibles :</strong></p>
<ul>
<li>éviter les abus en entreprises :sites sociaux à la facebook, vidéos à gogos, porno et autres contre-productivités sur le clavier etc&#8230;</li>
<li>filtrer les sites pour vos enfants (<a href="http://cri.univ-tlse1.fr/documentations/cache/protection_enfance.html">lisez ça aussi, ça donnera d&#8217;autres pistes</a>)</li>
</ul>
<h1>Mise en place sur Debian</h1>
<h2>Installation et docs de base</h2>
<p>Contrairement à pas mal d&#8217;outils sous Debian, l&#8217;installation ne fait rien en soit, elle amène simplement de l&#8217;outillage et la plus grosse part est après.<br />
Commencez par installer le logiciel, via un classique <code>aptitude install squidguard</code>.<br />
Evidemment, votre squid est déjà en place et fonctionnel.</p>
<p>Pensez à lire le fichier <code>/usr/share/doc/squidguard/README.Debian</code> ; c&#8217;est d&#8217;ailleurs une règle générale après une installation de paquet Debian, mais surtout pour SquidGuard qui, après l&#8217;installation, ne fait rien tout seul.</p>
<h2>Principes de fonctionnement</h2>
<p>Je décris le principe avant de foncer la tête dans le guidon.</p>
<p>SquidGuard est simplement une sorte d&#8217;extension à base de scripts et d&#8217;ACL Squid pour filtrer des URL en se basant sur des domaines et des expressions régulières d&#8217;URL<br />
Lui même n&#8217;apporte aucun niveau de filtrage et il faudra aller chercher une liste à jour de sites. C&#8217;est là toute la difficulté.<br />
J&#8217;arrête tout de suite ceux qui pensent bloquer facebook.com en écrivant une ACL bidon genre <code>deny blabla facebook.com</code> dans Squid. Entre les sites genre how-to-un-unblock-facebook.com et les &laquo;&nbsp;redirectors&nbsp;&raquo; genre proxies anonymes, ce sera impossible. D&#8217;où l&#8217;aide de listes, payantes ou non, robotisées ou non, mises à jour régulièrement ou non.<br />
Soit vous payez une liste type urlblacklist.com, soit vous optez pour une gratuite, mais néanmoins efficace, comme celle de l&#8217;Université de Toulouse, cf. plus haut. Sinon, <a href="http://www.squidguard.org/blacklists.html">allez voir là</a> &#8211; je n&#8217;ai pas testé les 2 premiers liens.</p>
<p>La README évoqué ci-dessus parle d&#8217;un paquet &laquo;&nbsp;chastity-list&nbsp;&raquo;, <code>apt-cache search chastity</code> n&#8217;ayant rien donné, je n&#8217;ai pas cherché plus loin.</p>
<p>Une fois la liste choisie, vous obtiendrez généralement des fichiers textes, classés par catégories. Il faut les transformer en base de données type Berkeley-machin (fichiers .db) pour qu&#8217;ils soient efficaces en mémoire.<br />
Ce sera évidemment à scripter automatiquement toutes les nuits (nouvelles listes => nouveaux .db => rechargement de Squid).<br />
A noter que les fichiers .db seront générés par SquidGuard <strong>uniquement lorsqu&#8217;il verra que vous utilisez telle ou telle catégorie dans <code>/etc/squid/squidGuard.conf</code></strong>. SquidGuard n&#8217;ira pas compiler les bases inutilisées (ce qui prend du temps sur des grosses listes, genre &laquo;&nbsp;adult&nbsp;&raquo; (=porno))</p>
<p>Enfin, vous ajouterez les catégories qui vous intéressent en ayant pris soin de créer une belle page qui indique à l&#8217;utilisateur pourquoi tel site est bloqué (je suis sympa, je vous fournis un tel script minimaliste ; en gros une correction de celui fourni dans le package SquidGuard qui est passablement foireux)</p>
<p>Je ne parle pas des aspects communication en entreprise : filtrer les sites aura sûrement un impact important sur le moral des troupes, fonction du gain de bande passante, fonction de la productivité <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Mise en place pratique</h2>
<p>J&#8217;illustre la suite par le blocage de la catégorie &laquo;&nbsp;hacking&nbsp;&raquo;, où l&#8217;on pourra tester par exemple www.warez.com, à partir des listes de l&#8217;Université de Toulouse</p>
<h3>Récupération de la liste de l&#8217;Université de Toulouse</h3>
<p>La base : récupérez soit <a href="ftp://ftp.univ-tlse1.fr/blacklist/">une catégorie</a>, soit <a href="ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz">la totalité</a> (je pars sur cette option). Voyez <a href="http://cri.univ-tlse1.fr/blacklists/">l&#8217;explication de chaque catégorie ici</a>.</p>
<pre>mkdir /root/squidguard
cd /root/squidguard
wget ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz
tar xzvf blacklists.tar.gz
mv blacklists/* /var/lib/squidguard/db/
chown -R  proxy:proxy /var/lib/squidguard/db/
</pre>
<h3>Choix d&#8217;une catégorie</h3>
<p>Dans <code>/etc/squid/squidGuard.conf</code>, on va toucher le minimum. Ajoutez n&#8217;importe où :</p>
<pre>dest hacking {
   domainlist hacking/domains
   urllist hacking/
   log guard_hacking.log
}
</pre>
<p>Pour savoir si une catégorie contient des &laquo;&nbsp;domaines&nbsp;&raquo;, des &laquo;&nbsp;URL&nbsp;&raquo; ou des &laquo;&nbsp;expressions&nbsp;&raquo;, allez voir dans <code>/var/lib/squidguard/db/la_categorie/</code>. En effet, seules quelques catégories ont des &laquo;&nbsp;expressions&nbsp;&raquo;, il s&#8217;agit avant tout des catégories de pubs. Je considère que <a href="http://michauko.org/blog/2009/05/19/privoxy-sur-squid-virer-les-pubs-pour-tout-le-monde/">privoxy</a> est là pour ça. Donc je n&#8217;ajoute pas <code>expression hacking/expressions</code> (même pas sûr de la syntaxe). Pour m&#8217;assurer que les &laquo;&nbsp;expressions&nbsp;&raquo; sont utilisées uniquement pour la pub, j&#8217;ai fait ça et vu des fichiers de taille 0 ou non-existant pour la plupart des catégories :</p>
<pre>srv:/var/lib/squidguard/db# ls -l */expres*
-rwxr-xr-x 1 proxy proxy  57 2006-05-10 07:47 ads/expressions
-rw-r--r-- 1 proxy proxy   0 2005-10-18 16:51 adult/expressions
-rw-r----- 1 proxy proxy   0 2002-11-06 14:08 aggressive/expressions
-rw-r----- 1 proxy proxy   0 2002-11-06 14:08 agressif/expressions
-rw-r--r-- 1 proxy proxy   0 1999-03-04 08:07 forums/expressions
-rw-r--r-- 1 proxy proxy   0 1999-03-04 08:07 mail/expressions
-rw-r--r-- 1 proxy proxy  42 2009-03-19 10:42 malware/expression
-rw-r--r-- 1 proxy proxy  47 2009-03-20 13:30 malware/expressions
-rw-r--r-- 1 proxy proxy   0 2005-10-18 16:51 porn/expressions
-rw-r--r-- 1 proxy proxy   0 1999-10-06 17:37 proxy/expressions
-rwxr-xr-x 1 proxy proxy  57 2006-05-10 07:47 publicite/expressions
-rw-r--r-- 1 proxy proxy   0 1999-10-06 17:37 redirector/expressions
-rw-r--r-- 1 proxy proxy 123 2005-06-14 21:33 strict_redirector/expressions
-rw-r--r-- 1 proxy proxy 505 2006-05-23 22:05 strong_redirector/expressions
-rw-r----- 1 proxy proxy   0 2002-11-06 14:08 violence/expressions
-rw-r--r-- 1 proxy proxy   0 1999-04-19 14:04 warez/expressions</pre>
<p>Ensuite, on indique à SquidGuard (donc à Squid) comment réagir pour cette catégorie. Modifier la section <code>acl {}</code> du fichier <code>/etc/squid/squidGuard.conf</code> pour qu&#8217;il y ait ça (gardez ou non la palanquée de lignes de commentaires) :</p>
<pre>acl {
   default {
      pass !hacking all
      redirect http://srv/cgi-bin/squidGuard-simple.cgi?clientaddr=%a&#038;srcclass=%s&#038;targetclass=%t&#038;url=%u
   }
}
</pre>
<p>Si vous voulez bloquer plusieurs catégories, ce sera à base de <code>pass !hacking !adult !blabla all</code>.<br />
Notez dans la section <code>acl {}</code> l&#8217;adresse de redirection utilisée : une page spéciale hébergée sur le serveur, nommée <code>squidGuard-simple.cgi</code>. Il faut maintenant la mettre en place.<br />
A noter aussi, il me semble que de base, la ligne &laquo;&nbsp;redirect&nbsp;&raquo; contient des &laquo;&nbsp;+&nbsp;&raquo; à la place des &laquo;&nbsp;&&nbsp;&raquo; pour passer les arguments. J&#8217;ai pas bien pigé, j&#8217;ai toujours vu des &laquo;&nbsp;&&nbsp;&raquo; et avec les &laquo;&nbsp;+&nbsp;&raquo;, ça ne marchait pas.</p>
<h3>Redirection vers une page spéciale</h3>
<ul>
<li>Attention, j&#8217;ai ouï dire que si le script n&#8217;était pas là, ça passait silencieusement et la requête aboutissait malgré la demande de blocage. Je n&#8217;ai pas testé, j&#8217;ai surtout testé une URL de chaque catégorie que je suis censé bloqué.
</li>
<li>Je considère que votre site web est configuré pour que /cgi-bin/ soit en un &laquo;&nbsp;Alias&nbsp;&raquo; de &laquo;&nbsp;/usr/lib/cgi-bin/&nbsp;&raquo;, c&#8217;est en général défini dans la configuration par défaut d&#8217;Apache2 et vous pouvez vous en assurer rapidement avec cette commande <code>grep cgi-bin /etc/apache2/sites-enabled/*</code> pour voir si ça répond &#8211; en gros.</li>
<li>La liste des variables que l&#8217;on peut passer au script de redirection est donnée dans la doc HTML, <code>/usr/share/doc/squidguard/CONFIGURATION.html</code></li>
</ul>
<p>Deux scripts sont fournis par le mainteneur du paquet Debian pour nous donner une trame pour l&#8217;écriture du script de redirection &#8211; le script qui dira &laquo;&nbsp;accès bloqué blabla, si vous pensez que c&#8217;est une erreur, contactez l&#8217;administrateur blabla&nbsp;&raquo;. Ils sont là :</p>
<pre>srv:/var/lib/squidguard/db# dpkg -S squidGuard*.cgi
squidguard: /usr/share/doc/squidguard/examples/squidGuard.cgi.gz
squidguard: /usr/share/doc/squidguard/examples/squidGuard-simple.cgi.gz</pre>
<p>Le premier est apparement plus complet, prévu pour du multi-langues etc, <strong>mais récupère comme un pied les variables qu&#8217;on lui passe</strong>. J&#8217;ai opté pour l&#8217;autre car rapidement, j&#8217;ai pu mettre en place une page qui indiquait clairement et simplement le site bloqué, la catégorie, l&#8217;IP du demandeur et donnait le mail de contact de l&#8217;administrateur.<br />
Donc soit vous optez pour ces scripts, soit pour le <a href='http://michauko.org/blog/wp-content/uploads/2009/05/squidguard-simple.zip'>mien fourni ici</a>, basé sur le 2è script, traduit en français et épuré de certains trucs inutiles. Voyez :</p>
<p><a href="http://michauko.org/blog/wp-content/uploads/2009/05/20090520_092614.png"><img src="http://michauko.org/blog/wp-content/uploads/2009/05/20090520_092614-300x213.png" alt="squidguard" title="squidguard" width="300" height="213" class="aligncenter size-medium wp-image-336" /></a></p>
<p>On est fin prêt pour un test grandeur nature.</p>
<h3>Relance de Squid via la compilation des listes de blocage</h3>
<p>Lancez la commande <code>/usr/sbin/update-squidguard</code> pour contrôler les droits sur les fichiers de <code>/var/lib/squidguard/db/</code> et générer les .db.<br />
Attention, sur la liste &laquo;&nbsp;adult&nbsp;&raquo; (environ 1 million de domaines), ça peut prendre quelques minutes.<br />
Ce script recharge Squid.<br />
Testez un site de la catégorie &laquo;&nbsp;hacking&nbsp;&raquo;, exemple www.warez.com</p>
<h2>Script de mise à jour automatiques des listes</h2>
<p>Voici un script que j&#8217;ai mis en crontab pour automatiser la récupération de la liste de l&#8217;Université de Toulouse (si mise à jour), la mise à jour qui va bien, création de .db et relance de Squid.</p>
<pre>srv:~# cat /root/squidguard/update_toulouse.sh
#!/bin/sh
cd /root/squidguard
wget -N ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz
rm -rf blacklists
rm -rf /var/lib/squidguard/db/*
tar -xzvf blacklists.tar.gz
# proprio et perm fixées de toute manière par update-squidguard
chown -R proxy:proxy blacklists
mv blacklists/* /var/lib/squidguard/db/
/usr/sbin/update-squidguard
# A priori, si le site est down ou connx internet HS, on reutilisera le .tar.gz actuel
# donc pas de risque de se retrouver avec une base vide
</pre>
<p>Mettez les droits d&#8217;exécution via <code>chmod u+x /root/squidguard/update_toulouse.sh</code> et collez ça dans la crontab :</p>
<pre>0 3 * * 1-5     root    /root/squidguard/update_toulouse.sh</pre>
<p>Ca devrait rouler !</p>
<h2>Divers</h2>
<h3>Log des accès interdits</h3>
<p>J&#8217;ai passé sous silence la ligne &laquo;&nbsp;log guard_hacking.log&nbsp;&raquo;. Elle est optionnelle et permet de garder ou non une trace des accès interdit, par catégorie. A voir, vie privée des gens, tout ça. J&#8217;ai choisi de la nommer quelque_chose.log car ce fichier ira directement dans <code>/var/log/squid/</code> et sera donc &laquo;&nbsp;logrotaté&nbsp;&raquo; naturellement comme tous les logs Squid, via ce qu&#8217;on trouve en standard dans le logrotate de Squid, <code>/etc/logrotate.d/squid</code>, à savoir : <code>/var/log/squid/*.log</code><br />
Vu ?</p>
<h3>Plages horaires</h3>
<p>Vous noterez que la conf simpliste ici peut être étoffée, dans le fichier <code>/etc/squid<br />
/squidGuard.conf</code>, vous avez tous les commentaires nécessaires,  notamment pour faire du [dé]blocage par plages horaires.</p>
<h3>D&#8217;autres compléments pour Squid ?</h3>
<p>Après <a href="http://michauko.org/blog/2009/05/19/privoxy-sur-squid-virer-les-pubs-pour-tout-le-monde/">Privoxy</a>, il faudrait un 3è article maintenant sur HAVP. Je vais y penser éventuellement.</p>
<h3>Générer la conf pour toutes les catégories</h3>
<p>Ne réutilisez pas le résultat brutalement, vous bloqueriez même Google, car il est listé dans ce qui ressemble plus à une whiteliste propre à l&#8217;Université de Toulouse, la catégorie &laquo;&nbsp;liste_bu&nbsp;&raquo;.<br />
Afin d&#8217;obtenir la liste complète des déclarations de catégories pour squidGuard.conf, vous pouvez utiliser celà :</p>
<pre>srv:/var/lib/squidguard/db# for i in `find . -maxdepth 1 -type d|awk -F'/' '{print $2}' | sort`
do
	echo -e dest $i {
	echo -e \\t"domainlist $i/domains"
	echo -e \\t"urllist $i/urls"
	echo -e \\t"log guard_$i.log"
	echo }
done</pre>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2009/05/20/squidguard-filtre-durl-et-listes-a-jour-le-plus-dur/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Privoxy sur Squid : virer les pubs pour tout le monde</title>
		<link>http://michauko.org/blog/2009/05/19/privoxy-sur-squid-virer-les-pubs-pour-tout-le-monde/</link>
		<comments>http://michauko.org/blog/2009/05/19/privoxy-sur-squid-virer-les-pubs-pour-tout-le-monde/#comments</comments>
		<pubDate>Tue, 19 May 2009 14:57:52 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[autres outils]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mails]]></category>
		<category><![CDATA[planet-libre.org]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[privoxy]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=299</guid>
		<description><![CDATA[Sur mon firefox, j&#8217;utilise &#171;&#160;AdBlock Plus&#160;&#187; pour filtrer les pubs. Mais dans une société où IE est le maître (pour cause d&#8217;intranets pas compatibles, de pas de droit d&#8217;admins et d&#8217;utilisateurs contents avec IE (!)), amuse toi pour faire sauter les pubs pour tout le monde. J&#8217;ai entendu parler de IE7pro, une extension pour IE [...]]]></description>
			<content:encoded><![CDATA[<p>Sur mon firefox, j&#8217;utilise &laquo;&nbsp;<a href="https://addons.mozilla.org/fr/firefox/addon/1865">AdBlock Plus</a>&nbsp;&raquo; pour filtrer les pubs. Mais dans une société où IE est le maître (pour cause d&#8217;intranets pas compatibles, de pas de droit d&#8217;admins et d&#8217;utilisateurs contents avec IE (!)), amuse toi pour faire sauter les pubs pour tout le monde.<br />
J&#8217;ai entendu parler de IE7pro, une extension pour IE (je ne savais même pas que ça existait). Je l&#8217;ai donc installé et désinstallé dans la foulée. C&#8217;est naze.<br />
D&#8217;où l&#8217;idée de déterrer ce bon vieux <a href="http://www.privoxy.org/">privoxy</a> que j&#8217;utilisais localement sur mon PC avant que &laquo;&nbsp;Adblock Plus&nbsp;&raquo; n&#8217;existe. Il peut se chaîner avec un autre proxy, notamment Squid, afin de filtrer toutes les pubs. (toutes = le mieux possible)</p>
<p>Allez zou, mise en place de la chose sur un serveur avec Squid, pour en faire profiter tout le monde.<span id="more-299"></span></p>
<h1>Quelques remarques par rapport à Debian</h1>
<p>Je ne connais pas trop le rythme d&#8217;update des règles de privoxy. Ce que j&#8217;en ai compris, c&#8217;est qu&#8217;elles sont intégrées au package privoxy. A mon sens, ça devrait être dissocié, par exemple dans le dépôt &laquo;&nbsp;volatile&nbsp;&raquo;.<br />
Ca ne l&#8217;est pas. Et comme les pubs évoluent, j&#8217;ai un peu hésité.</p>
<blockquote><p>EDIT : j&#8217;ai changé d&#8217;avis sur ce qui suit : j&#8217;ai pris la version officielle Debian. Cf. les commentaires</p></blockquote>
<p><em>Finalement, j&#8217;ai opté pour la <a href="http://sourceforge.net/project/showfiles.php?group_id=11118">version packagée Debian sur le site de privoxy</a> plutôt que la version officielle dans la &laquo;&nbsp;stable&nbsp;&raquo;. Moins pratique pour mettre à jour, mais je n&#8217;aimerais pas qu&#8217;un nouveau genre de pubs ne soit pas filtré ou à l&#8217;inverse, trop de coups de haches sur certains sites.<br />
</em> En &laquo;&nbsp;stable&nbsp;&raquo;, on est en 3.0.9 si je ne dis pas de bêtise, contre 3.0.12 en .deb sur le site.</p>
<p>J&#8217;ai aussi essayé de trouver une méthode facile pour convertir les expressions régulières d&#8217;Adblock Plus pour privoxy. J&#8217;ai lâché l&#8217;affaire. Si quelqu&#8217;un sait faire, ça peut être intéressant.</p>
<h1>Quelques chiffres après 2 semaines d&#8217;utilisation</h1>
<p>Histoire de mettre l&#8217;eau à la bouche. 100 personnes surfant raisonnablement ont vus (façon de parler) 10% de leurs requêtes bloquées par privoxy. C&#8217;est toujours ça d&#8217;économisé, mais c&#8217;est surtout le gain sur la pollution visuelle qui vaut le coup.<br />
Je n&#8217;ai pas vu de différences sur quelques sites où j&#8217;avais l&#8217;habitude d&#8217;aller via &laquo;&nbsp;Firefox+AdBlockPlus&nbsp;&raquo; par rapport à &laquo;&nbsp;n&#8217;importe quel navigateur+privoxy sans adblock plus évidemment&nbsp;&raquo;.</p>
<h1>Mise en place sur Debian</h1>
<h2>Installation</h2>
<p>Installez donc le <a href="http://sourceforge.net/project/showfiles.php?group_id=11118">package Debian </a>, précédemment téléchargé, avec la commande suivante :</p>
<pre>dpkg -i privoxy_3.0.12-1_i386.deb</pre>
<h2>Paramétrage et tests de base</h2>
<p>Tout se passe dans <code>/etc/privoxy/config</code>. Vous n&#8217;avez qu&#8217;une chose à modifier pour tester votre privoxy en direct :</p>
<pre>listen-address  localhost:8118</pre>
<p>Si le service est sur un serveur (et pas votre PC), changez &laquo;&nbsp;localhost&nbsp;&raquo; en &laquo;&nbsp;*&nbsp;&raquo; ou l&#8217;IP de la machine sur le LAN et relancez via <code>/etc/init.d/privoxy restart</code><br />
Bien sûr, il faut indiquer à votre navigateur d&#8217;utiliser le proxy sur cette machine, port 8118.<br />
<strong>A la fin : faites bien attention à la valeur choisie (ou à vos règles de firewall si elles filtrent l&#8217;accès au serveur squid/privoxy), il ne faudrait pas qu&#8217;un utilisateur puisse adresser en direct privoxy en court-circuitant squid&#8230;</strong></p>
<h2>Interco avec Squid</h2>
<p>La doc officielle de privoxy dit de chaîner dans l&#8217;ordre : PC -> squid -> privoxy<br />
Il doit y avoir une raison, peut-être pour ne pas court-circuiter les éventuelles ACL de Squid, qui permettraient par exemple un certain traitement suivant l&#8217;IP source de la requête.<br />
Bon bref, c&#8217;est donc au niveau de Squid qu&#8217;il faut paramétrer. Cherchez le mot &laquo;&nbsp;squid&nbsp;&raquo; dans la doc <a href="http://www.privoxy.org/user-manual/config.html">http://www.privoxy.org/user-manual/config.html</a>. En résumé, ajoutez où il faut dans <code>/etc/squid/squid.conf</code> :</p>
<pre>cache_peer 127.0.0.1 parent 8118 7 no-query
acl ftp proto FTP
always_direct allow ftp
never_direct allow all</pre>
<p>Dans l&#8217;exemple, 127.0.0.1 indique que privoxy est sur la même machine que squid, sinon mettez l&#8217;IP de privoxy, et son port, par défaut 8118.<br />
A noter que squid fait proxy FTP dans mon exemple, sinon adaptez.<br />
Relancez squid, un <code>/etc/init.d/squid reload</code> doit suffire.</p>
<h1>Pour voir les stats vite fait</h1>
<p><a href="http://p.p/">http://p.p/</a><br />
Ca peut servir pour configurer l&#8217;outil aussi, si vous avez activé ce qu&#8217;il faut<br />
Evidemment, vous serez gentils de whitelister michauko.org. Je me suis pas tapé la mise en place de Google AdSense pour rien <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ouais bon, ça va&#8230; c&#8217;est pour financer un jour quelques mois de mon serveur&#8230;</p>
<h1>A suivre</h1>
<p>L&#8217;article SquidGuard, l&#8217;ami de Squid quand l&#8217;accès Internet est un peu trop surchargé par 99% d&#8217;inutile.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2009/05/19/privoxy-sur-squid-virer-les-pubs-pour-tout-le-monde/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Tunnels TCP via SSH, putty etc</title>
		<link>http://michauko.org/blog/2009/02/23/tunnels-tcp-via-ssh-putty-etc/</link>
		<comments>http://michauko.org/blog/2009/02/23/tunnels-tcp-via-ssh-putty-etc/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 08:01:53 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre.org]]></category>
		<category><![CDATA[reseau et sécu]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tunnels]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=181</guid>
		<description><![CDATA[Salut, Je reprends cette doc écrite il y a 5 ans et anciennement disponible en bon gros HTML-vi-powered dispo ici : http://michauko.org/blog/2009/02/23/tunnels-tcp-via-ssh-putty-etc/ Les photos d&#8217;écrans datent de l&#8217;époque. Mais comme le concept n&#8217;a pas bougé&#8230;. et l&#8217;interface de PuTTY très peu aussi&#8230;. Let&#8217;s go En relisant l&#8217;article, je vois que c&#8217;était vraiment vulgarisé pour être [...]]]></description>
			<content:encoded><![CDATA[<p>Salut,<br />
Je reprends cette doc écrite il y a 5 ans et anciennement disponible en bon gros HTML-vi-powered dispo ici : http://michauko.org/blog/2009/02/23/tunnels-tcp-via-ssh-putty-etc/<br />
Les photos d&#8217;écrans datent de l&#8217;époque. Mais comme le concept n&#8217;a pas bougé&#8230;. et l&#8217;interface de PuTTY très peu aussi&#8230;.</p>
<p>Let&#8217;s go<br />
<em><strong>En relisant l&#8217;article, je vois que c&#8217;était vraiment vulgarisé pour être accessible au plus grand nombre, pardonnez donc les imprécisions techniques et le baratin simplifié &#8211; MERCI</strong></em><br />
<P>&#8211;<P><br />
J&#8217;ai écrit ce document pour 2 raisons. La première est que j&#8217;en ai marre d&#8217;expliquer sans cesse à mes amis cette méthode, la deuxième est que c&#8217;est vraiment une méthode très pratique, puissante et qui n&#8217;a que quelques limitations (et encore – voir chapitre à venir : VPN sur SSH).</p>
<h1>1. Avez-vous besoin de SSH au boulot ?</h1>
<p>Vous êtes 8h par jour au boulot et le proxy chargé de la sécurité de l&#8217;entreprise se charge surtout de vous bloquer quelques sites web et quelques protocoles réseaux à priori non professionnels. En gros, il vous emmerde à longueur de temps et vous aimeriez pouvoir faire les choses suivantes depuis votre boulot :</p>
<ul>
<li>Lire vos mails en POP, IMAP (par un client mail classique plutôt que via le web et l&#8217;interface nullissime de votre fournisseur).</li>
<li>Utiliser Jabber, ICQ, MSN (ou autre protocole) depuis le boulot pour pouvoir rester en contact avec belle-maman.</li>
<li>Prendre le contrôle à distance (VNC, pcAnywhere etc) de votre PC perso avec sa ligne ADSL pour faire je ne sais quoi. D&#8217;autant plus que des outils comme VNC ne gèrent tout simplement PAS les proxys.</li>
<li>Suivre les résultats du football ou consulter un site d&#8217;actualités – en général le proxy bloque largement les sites foot, jeux, facebook et bien d&#8217;autres.</li>
<li>et plein d&#8217;autres choses encore&#8230;</li>
</ul>
<p>Dans ce document, je présenterai le concept ainsi que la mise en oeuvre de la solution (sous Linux ou Windows).</p>
<h1>2. Principe général</h1>
<p>SSH est un outil qui permet de se connecter à une machine distante en mode texte. Sous Linux, on accède à un shell, sous Windows, on pourra voir ça comme l&#8217;accès à une fenêtre DOS, à priori pas très utile, certes. Ca ressemble donc de loin à une connexion telnet, sauf que c&#8217;est laaaaargement plus sécurisé (je n&#8217;en débattrai par ici mais vous pouvez me croire sur parole) et beaucoup plus puissant.<br />
SSH permet notamment de faire du transfert de fichiers (SFTP) et surtout, des tunnels de communication, dans les deux sens (vous comprendrez plus tard). Un tunnel va servir à encapsuler (capturer) des flux réseaux entre le SSH client (votre PC en entreprise avec accès web restreints qu&#8217;on veut contourner) et votre serveur SSH (votre PC à la maison avec ADSL branché 24/24).</p>
<p>Tout se résume à ça : le client SSH établit une connexion avec le serveur SSH à travers le proxy en utilisant une connexion autorisée par le proxy (méthode CONNECT vers un port autorisé). Ensuite, grâce à ça, des tunnels vous permettront de faire passer presque n&#8217;importe quoi à travers le proxy (voir chapitre 4 sur les limitations de ce système).</p>
<p>Le client SSH que j&#8217;utilise est putty (premier lien sur google), c&#8217;est un client libre, gratuit etc, qui permet de faire du telnet, du ssh et surtout d&#8217;utiliser les fonctionnalités de ssh, les tunnels par exemple. Il sait aussi se connecter à travers un proxy.</p>
<h1>3. Mise en place</h1>
<h2>3.1. Côté serveur SSH</h2>
<p>Chez vous, il faut d&#8217;abord installer un serveur SSH.</p>
<h3>3.1.1. Installation</h3>
<p>Sous Linux, vous trouverez forcemment un paquet correspondant à votre distribution. Exemple sous Debian, tapez « apt-get install ssh » et ça devrait le faire.</p>
<p>Sous Windows, c&#8217;est moins simple. Je ne connais pas d&#8217;implémentation libre directement fonctionnelle sous Windows. Et comme vous n&#8217;allez quand même pas payer la version payante de www.ssh.com, vous devrez utiliser www.cygwin.com pour installer un « environnement Linux dans votre Windows ». Cet environnement comprend ensuite la plupart des outils Linux, dont OpenSSH bien sûr. Deux options (au moins) s&#8217;offrent à vous :</p>
<ul>
<li>Installer cygwin de manière classique avec ce qu&#8217;il faut, notamment le paquet ssh (il vous faudra lire un peu de doc à priori).</li>
<li>Utiliser le projet sshwindows qui propose un programme d&#8217;installation global comprenant un cygwin minimaliste et sshd associé. Je n&#8217;ai pas testé personnellement cette solution.</li>
</ul>
<p>Présentation barbare de l&#8217;installation de cygwin : dans les grandes lignes, vous téléchargez le setup.exe puis vous choisissez un miroir de téléchargement, vous installez le minimum vital (par défaut je crois) et vérifiez bien que le paquet ssh est inclus. Au final, vous obtenez une sorte de raccourci façon « fenêtre DOS », sauf que vous êtes dans un environnement Linux et disposez de sa panoplie d&#8217;outils en ligne de commande et même graphique si vous cherchez bien (pour peu que vous ayez installé les paquets qu&#8217;il faut).</p>
<h3>3.1.2. Génération des clefs</h3>
<p>Si vous ne connaissez pas le principe d&#8217;authentification par clefs de SSH, sachez juste que vous devez générer une paire de clefs cryptées utilisées pour la communication entre le serveur et les clients. Même si dans ce document je ne vais pas détailler l&#8217;authentification par clefs, mais juste par mot de passe, cette paire de clefs est nécessaire pour l&#8217;identification du serveur et pour les premières étapes de l&#8217;établissement de la connexion (par mot de passe).<br />
Si vous avez installé SSH sous Debian, le programme d&#8217;installation génère automatiquiment les clefs, pour les solutions, je ne sais pas. Sous cygwin par exemple, vous devrez donc générer ces clefs via la commande « ssh-keygen -t dsa ». Vous pourrez voir ces clefs dans « /etc/ssh », les fichiers sont ssh_host_dsa_key*.</p>
<h3>3.1.3. Etape supplémentaire pour Cygwin</h3>
<p>Un détail sous cygwin (encoooooore), il faut que vous lisiez les docs pour savoir comment lancer le serveur SSH en tant que service Windows plutôt qu&#8217;à la main le matin en partant au boulot&#8230; (cherchez des infos sur le programme cygrunsrv.exe). Pour la version « packagée » par le projet sshwindows, je ne sais pas, lisez la doc.</p>
<p>Sous Linux, ce sera forcemment fait automatiquement.</p>
<h3>3.1.4. Changement du port du serveur SSH</h3>
<p>SSH tourne sur le port 22 par défaut et vous pouvez être quasimment sûr que le proxy du boulot bloque ce port. Donc vous ne pourrez pas atteindre votre serveur depuis chez vous. Ajoutez donc dans le fichier de configuration de sshd (/etc/ssh/sshd_config) une ligne « Port 443 » après la ligne « Port 22 » ou remplacez cette dernière. Redémarrez le service. On choisit le port 443 car c&#8217;est le port https par défaut et le proxy du boulot tolèrera forcemment ce port (au pire, prenez le port 80, http). De plus, https et SSH présentent des similitudes (la couche SSL) et donc utiliser le port 443 a l&#8217;avantage d&#8217;être plus discret (voir chapitre 4.2.).<br />
Si votre firewall le tolère, vous pouvez aussi faire un forward du port 443 vers le 22 en ne laissant que la ligne « Port 22 » dans sshd_config.</p>
<h3>3.1.5. Votre firewall</h3>
<p>Enfin, vous avez certainement chez vous un firewall, n&#8217;oubliez pas d&#8217;ouvrir le port 443 ou 22 (voir chapitre précédent).<br />
Vous avez très probablement aussi une adresse IP dynamique et donc il faut que vous vous trouviez un nom de domaine (essayez www.dyndns.org, ils ont un service gratuit et vous aurez un nom du style chezmoi.dyndns.org mis à jour à chaque reconnexion de votre ADSL). Sinon, vous devrez récupérer votre adresse IP tous les matins et priez pour que l&#8217;ADSL ne tombe pas auquel cas vous risqueriez de changer d&#8217;IP.</p>
<p>Je suppose maintenant que votre serveur est lancé, accessible depuis l&#8217;extérieur et qu&#8217;il fonctionne correctement.</p>
<h2>3.2. Côté client SSH</h2>
<h3>3.2.1. Récupération des paramètres proxy</h3>
<p>Pour les utilisateurs d&#8217;Internet Explorer, allez dans Outils -> Options Internet -> Connexions -> Paramètres réseaux. Vous aurez 2 possibilités, soit l&#8217;adresse et le port sont directement écrit :</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel1.png" alt="tunnel1" title="tunnel1" width="384" height="361" class="alignnone size-full wp-image-194" /></p>
<p>Soit votre entreprise utilise un script d&#8217;autoconfiguration :</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel2.png" alt="tunnel2" title="tunnel2" width="384" height="361" class="alignnone size-full wp-image-196" /></p>
<p>Dans ce dernier cas, téléchargez ce script en recopiant l&#8217;adresse dans votre navigateur. Ouvrez-le, c&#8217;est un fichier texte. C&#8217;est simple à comprendre et en général, les dernières lignes vous donnent le proxy qui permet d&#8217;atteindre les sites extérieurs (Internet). La fin ressemble à quelque chose comme « PROXY host:port ».</p>
<p>Si vous utilisez un autre navigateur (je l&#8217;espère pour vous <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> , vous saurez sûrement où trouver ces informations.</p>
<h3>3.2.2. Installation de putty (client SSH)</h3>
<p>Téléchargez putty. Il n&#8217;y a pas d&#8217;installation, pas besoin d&#8217;être admin de son poste. Vous n&#8217;avez besoin que de putty.exe sinon prenez le zip qui contient tous les binaires. Le paramétrage se fait comme suit :<br />
<img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel3.png" alt="tunnel3" title="tunnel3" width="426" height="435" class="alignnone size-full wp-image-197" /></p>
<p>Vous saisissez dans le menu « Session » l&#8217;adresse du PC chez vous (IP ou DNS), précisez le protocole SSH et modifiez le port où tourne le serveur SSH (443 à priori – voir chapitres précédents).</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel4.png" alt="tunnel4" title="tunnel4" width="426" height="435" class="alignnone size-full wp-image-198" /></p>
<p>Dans le menu « Connection », activez l&#8217;envoi de paquets vides réguliers, toutes les 10 secondes par exemple. La connexion SSH se faisant via la méthode CONNECT (comme pour du https), le proxy risque fort de la couper régulièrement si aucun trafic n&#8217;est généré.<br />
<img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel5.png" alt="tunnel5" title="tunnel5" width="426" height="435" class="alignnone size-full wp-image-200" /></p>
<p>Dans le menu « Proxy », vous indiquez le type de proxy, à priori HTTP, son adresse, son port et l&#8217;utilisateur/mot de passe si besoin. La ligne « telnet command » représente en gros le début de la communication entre putty et le proxy pour permettre la connexion au serveur distant (le PC chez vous). Tentez la ligne suivante : « connect %host %port HTTP/1.1\nHost: %host » si la ligne par défaut ne fonctionne pas.</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel6.png" alt="tunnel6" title="tunnel6" width="426" height="435" class="alignnone size-full wp-image-201" /></p>
<p>Enfin, dans le menu « SSH », vous précisez que vous utilisez le protocole en version 2 et activez la compression – c&#8217;est toujours ça de gagné.</p>
<p>Retournez dans le menu « Session », donnez un nom à votre session et faites « Save » à nouveau. Puis « Open ».</p>
<h3>3.2.3. Le moment de vérité</h3>
<p>Faites « Open », si tout va bien, vous obtiendrez un écran du genre :<br />
<img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel7.png" alt="tunnel7" title="tunnel7" width="278" height="106" class="alignnone size-medium wp-image-203" /></p>
<p>Connectez vous et ça roule. Dans les autres cas, vérifiez bien les informations saisies et éventuellement changez le type de proxy. Parmi les 25 entreprises que j&#8217;ai pu visiter (grandes multinationales comprises), seules 2 ont refusé cette connexion, la première car le proxy était un logiciel merdico-archaïque de Microsoft qui avait déjà du mal à fonctionner normalement avec IE, la deuxième car le proxy était buggé et avait l&#8217;air de ne pas respecter le protocole « normal » entre putty et le serveur ssh (d&#8217;après les traces que j&#8217;ai analysées, le serveur SSH était atteint puis tout partait n&#8217;importe comment).</p>
<p>A ce niveau là, si la connexion est établie et que vous pouvez accéder à votre machine, c&#8217;est banco, vous pourrez « tuyauter » n&#8217;importe quoi via SSH <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>3.3. Les tunnels</h2>
<h3>3.3.1. Créer un port mapping</h3>
<p>Dans le menu « Tunnels », créez un tunnel vers vos serveurs de messagerie (ATTENTION, lisez le chapitre 4.1.3 à propos du forward de messagerie) :</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel8.png" alt="tunnel8" title="tunnel8" width="426" height="435" class="alignnone size-full wp-image-205" /></p>
<p>Cette fois-ci, lorsque la fenêtre putty sera ouverte et que vous serez signé sur le serveur SSH, il y aura eu création d&#8217;un port mapping du port local 10110 du poste client vers le port 110 du serveur POP de votre provider (le tout via le relai SSH <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Idem pour les ports 10025/smtp:25. J&#8217;ai choisi des numéros de ports locaux (10110 et 10025) différents des vrais ports notamment pour la compréhension. Rien (ou presque) ne vous empêcherait de mapper les port 25 et 110 vers les ports 25 et 110 des serveurs POP et SMTP de monprovider.com.</p>
<p>Ca veut dire que si un programme de messagerie (mozilla, thunderbird, outlook express, lotus notes etc) s&#8217;adresse à votre propre machine (localhost) sur le port 10025, c&#8217;est bien le serveur SMTP de monprovider.com:25 qui répondra. Idem pour le port 10110/110, c&#8217;est le serveur POP qui répondra. A partir de là, configurez votre client mail en indiquant que les serveurs POP et SMTP de monprovider.com sont respectivement localhost (sur port 10110) et localhost (sur port 10025).<br />
Lorsque le client mail fera une requête, c&#8217;est putty qui interceptera la communication et dira au serveur d&#8217;effectuer la requête à partir de l&#8217;autre bout du tunnel vers le serveur:port précisé. Et voilà ! (j&#8217;espère que c&#8217;est clair <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Attention : vérifiez bien que votre client mail n&#8217;utilise aucun proxy pour les connexions locales ! (exemple : « outlook express » utilise la configuration de IE, veillez bien à cocher dans IE la case qui précise de ne « pas utiliser de proxy pour les connexions locales », ça devrait être fait par défaut).</p>
<p>Avec un beau schéma, ça donne ça :<br />
<img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel9.png" alt="tunnel9" title="tunnel9" width="710" height="476" class="alignnone size-full wp-image-209" /><br />
Maintenant que vous savez faire ça, vous pouvez mapper n&#8217;importe quoi et vous coimprendrez rapidement que le port mapping n&#8217;est pas la solution pour tous les problèmes. Exemple, si vous voulez faire de l&#8217;IRC, le serveur que vous joindrez ne sera pas toujours le même suivant les réseaux que vous voulez utiliser.</p>
<h3>3.3.2. Tunnel dynamique (pour ICQ par exemple)</h3>
<p>La limitation des port mapping apparaît rapidement car il faut définir absolument toutes les connexions dont vous avez besoin, ce qui peut être très lourd. Imaginez que vous vouliez mapper certains sites web interdits, comme www.pleindetrucsinterdits.com. Vous n&#8217;avez qu&#8217;à créer un port mapping du style « localhost:12345 -> www.pleindetrucsinterdits.com:80 ». Ca fonctionne – pas dans tous les cas à cause des « virtual hosts » (Merci Toine) &#8211; mais il ne faut pas avoir 50 sites à mapper sinon c&#8217;est l&#8217;enfer.</p>
<p>Une autre limitation est que vous ne pouvez tout simplement pas de cette manière vous connecter à certains services comme ICQ par exemple : en effet, vous pourriez faire un port mapping vers le serveur d&#8217;authentification login.icq.com:5190 par exemple, mais le reste de la communication ne se fera pas car il y a ensuite tout un tas de ports dynamiques alloués qui entrent en jeu. Impossible donc.</p>
<p>La solution est le mapping dynamique. En gros, vous créez un port d&#8217;écoute (port 1080 dans la suite du texte) qui se charge de prendre toute trame réseau qui rentre telle quelle et de la « faire exécuter » depuis l&#8217;autre bout du tunnel. Ca ressemble à un proxy n&#8217;est-ce pas ? En effet, c&#8217;est bien un service que l&#8217;on utilise pour contacter n&#8217;importe quel site/port inaccessible depuis le réseau où l&#8217;on est. C&#8217;est pas beau ça ?<br />
Ca veut notamment dire que dans l&#8217;application qui doit utiliser ce « proxy », vous devez préciser que le nouveau proxy est localhost:1080 et non pas le proxy de l&#8217;entreprise.</p>
<p>Dans putty, créez un tunnel « Dynamic » sur le port 1080 par exemple :</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel10.png" alt="tunnel10" title="tunnel10" width="282" height="165" class="alignnone size-full wp-image-211" /></p>
<p>Ca donne ça :</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel11.png" alt="tunnel11" title="tunnel11" width="275" height="125" class="alignnone size-full wp-image-212" /></p>
<p>Et globalement, on peut donc schématiser ça comme ça :</p>
<p><img src="http://michauko.org/blog/wp-content/uploads/2009/02/tunnel12.png" alt="tunnel12" title="tunnel12" width="713" height="482" class="alignnone size-full wp-image-213" /></p>
<p>ATTENTION : une fois ce système mis en place, n&#8217;oubliez pas de dire à l&#8217;application concernée que le proxy pour sortir n&#8217;est plus le proxy de l&#8217;entreprise mais le « proxy » de type SOCKS 4 (si vous avez besoin de le préciser) situé sur localhost, port 1080 ! Pigé ?</p>
<p><strong>(MAJ 2009)</strong><br />
Si vous n&#8217;arrivez pas à faire utiliser ce proxy à votre navigateur, pourquoi ne pas installer un vrai proxy sur votre serveur relai et le mapper via un tunnel normal ? (un &laquo;&nbsp;squid&nbsp;&raquo; local à votre serveur relai fera l&#8217;affaire)</p>
<h3>3.3.3. Tunnel remote ? Ou comment exporter un serveur local (interne) vers l&#8217;extérieur</h3>
<p>Enfin, sur l&#8217;interface de putty, vous avez peut-être remarqué une fonctionnalité inexplorée jusqu&#8217;à présent : les tunnels « remote », par opposition aux tunnels « locaux ». Ca permet non pas de mapper un port local vers un couple machine/port distant mais de faire l&#8217;inverse : mapper un couple machine/port local vers un port distant (sur la machine PC ADSL). Vous ne voyez pas à quoi ça peut servir ? Lisez la suite :</p>
<p>Attention : c&#8217;est mal de faire ça <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  car ça vous permet de rendre accessible un serveur d&#8217;Intranet (par exemple) à partir de votre machine extérieure (PC ADSL) et donc potentiellement accessible à tout le monde depuis le web si vous ne faites pas attention à votre configuration réseau !</p>
<h1>4. Compléments d&#8217;informations</h1>
<h2>4.1. Limitations</h2>
<h3>4.1.1. Bande passante</h3>
<p>Gardez à l&#8217;esprit que vous faites tout passer par la machine chez vous, certainement plus lente en débit que l&#8217;accès web de l&#8217;entreprise notamment pour l&#8217;upload (le retour de communication de votre PC ADSL vers putty). Donc si vous mappez des sites web interdits, ne vous étonnez pas si ça raaaaame, surtout si votre client favori de peer-to-peer tourne plein pot&#8230;</p>
<h3>4.1.2. Jouer en réseau ?</h3>
<p>Décidemment, votre boulot vous passionne&#8230; Bon désolé, c&#8217;est pas possible. La plupart des jeux en réseaux fonctionnent en mode non connecté (UDP) et c&#8217;est pas possible de relayer de l&#8217;UDP avec cette solution. Si vous voulez quand même, cherchez des infos sur un soft qui s&#8217;appelle ZeBeDee, j&#8217;avais pas eu le temps de creuser à l&#8217;époque.</p>
<p><strong>(MAJ 2009)</strong> Sinon, pensez VPN, hamachi&#8230;</p>
<h3>4.1.3. Remarques sur la messagerie</h3>
<p>A propos du mapping vers des serveurs de messagerie, notez que les fournisseurs bloquent en général l&#8217;accès à leur propre SMTP si l&#8217;IP émettrice n&#8217;est pas sur une plage appartenant à l&#8217;opérateur. Pour éviter le spam d&#8217;inconnus. Donc évitez de passer par le SSH d&#8217;un copain ayant son accès web chez un autre fournisseur pour atteindre votre SMTP, ça risque de ne pas fonctionner. Exemple : vous voulez utiliser le SMTP de wanadoo en passant par une passerelle SSH chez Nerim.</p>
<p>Dans le même ordre d&#8217;idées, il faut en général faire du POP avant de pouvoir envoyer un mail, ça s&#8217;appelle pop before smtp me semble-t-il et c&#8217;est aussi fait pour s&#8217;assurer à peu près que l&#8217;adresse IP de l&#8217;émetteur du mail n&#8217;est pas un inconnu car il s&#8217;est authentifié par un login/password pour accéder au POP.</p>
<h2>4.2. « Légalité » de la chose</h2>
<p>Si vous avez peur qu&#8217;un gros baraqué de l&#8217;équipe réseaux débarque dans votre bureau en disant « qui c&#8217;est l&#8217;abruti qui fait du SSH ? », n&#8217;ayez pas peur.<br />
Premièrement, la connexion au serveur SSH ne se traduit que par une ligne dans les logs du proxy, une ligne du style « CONNECT votrenom.dyndns.org:443 », exactement comme si vous vous connectiez au site https de votre banque. C&#8217;est même mieux vu qu&#8217;il n&#8217;y aura qu&#8217;une ligne alors que pour un vrai site web en http(s), il y a aura une ligne par ressource (image, page web etc).<br />
Deuxièmement, au niveau volumétrie de données échangées, étudions l&#8217;exemple de la lecture de vos mails : on utilise grâce au tunnel SSH un protocole dédié à la lecture de mail et l&#8217;envoi (POP/SMTP). Ca consommera laaaaaaaargement moins de bande passante que de lire les même mails par l&#8217;interface web (bourrée de pubs par exempe). De plus, comme ça ramera moins que le chargement complet de pages web, vous mettrez moins de temps à lire vos mails.<br />
Rassuré ?<br />
Une nuance tout de même, si un psychopathe réalise qu&#8217;il s&#8217;agit de SSH sur port 443 et non de HTTPS, il devrait se poser des questions tout de même. Je n&#8217;ai pas encore rencontré de tels psychopathes.</p>
<p>Enfin, rappelez vous quand même la charte informatique que vous avez signée en rentrant dans votre entreprise.</p>
<h2>4.3. Partage de tunnels ?</h2>
<p>Si vous souhaitez faire profiter de votre tunnel un collègue qui tient absolument à suivre aussi le match de football bloqué par le proxy, regardez les options de putty/ssh pour permettr l&#8217;accès aux ports mappés depuis autre part que votre poste local. Exemple : votre collègue entrerait l&#8217;adresse ip de votre machine et un port mappé pour accéder à un site web particulier&#8230;</p>
<h2>4.4. Bug dans putty</h2>
<p>Je ne sais pas si ce bug est toujours d&#8217;actualité, mais à un moment donné, il fallait absolument mettre le tunnel dynamique en dernier dans la liste des tunnels, sinon il ne fonctionnait pas.</p>
<h2>4.5. Transfert de fichier ?</h2>
<p>Installez filezilla, il permet de faire du SFTP. Vous n&#8217;aurez pas besoin de tunnels SSH mais je tenais à signaler cet outil, libre, gratuit etc etc.<br />
Il vous suffit de déclarer le proxy de l&#8217;entreprise dans les préférences puis de créer une connexion de type SFTP (changez le port en 443) et le tour est joué.</p>
<p>Sinon, sous Windows, le produit commercial « Total Commander » permet d&#8217;utiliser votre tunnel dynamique (SOCKS 4).</p>
<h2>4.6. Méthodes alternatives</h2>
<p>Si SSH ne vous plait pas (pauvre fou), vous pouvez toujours vous renseigner sur les outils suivants : httport, httptunnel (linux only je crois). Ils font un peu le même genre de choses, mais en laaaaaaaargement moins bien.<br />
Les deux encapsulent votre trafic réseau dans des trames HTTP, c&#8217;est lourd, c&#8217;est lent etc. Le seul avantage de httport est que les éditeurs vous fournissent des serveurs (htthost) publics, donc pas besoin d&#8217;avoir un serveur relai chez vous ou chez un ami, mais ils rament, sauf si vous payez <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Quitte à mettre en place un outil pour faire relai, optez pour SSH !<br />
<strong>(MAJ 2009)</strong><br />
A noter stunnel pour faire du tunnel SSL pur (si votre admin réseau a grillé votre communication SSH sur un port SSL&#8230;<br />
<strong>(MAJ 2009)</strong><br />
Quelques liens récemment donnés par Toinator et que je n&#8217;ai pas creusé. Lui oui, c&#8217;est du lourd apparement.<br />
Un bon gros guide :<br />
<a href="http://dag.wieers.com/howto/ssh-http-tunneling/">http://dag.wieers.com/howto/ssh-http-tunneling/</a><br />
sslh : en PERL (fixme : retrouver l&#8217;url)<br />
<a href="http://www.rutschle.net/tech/sslh.shtml">sshl</a> : le même recodé en C pour raisons d&#8217;optimisations<br />
<h1>5. Remerciements</h1>
<ul>
<li>Toinator pour la relecture et quelques précisions, l&#8217;initiation à ce genre d&#8217;outils et le chapitre à venir sur le VPN over SSH, si on peut dire.
</li>
<li>Mandraxe</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2009/02/23/tunnels-tcp-via-ssh-putty-etc/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Proxy PAC locaux (et IE)</title>
		<link>http://michauko.org/blog/2008/06/10/proxy-pac-locaux-et-ie/</link>
		<comments>http://michauko.org/blog/2008/06/10/proxy-pac-locaux-et-ie/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 08:46:46 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[bugs]]></category>
		<category><![CDATA[reseau et sécu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[auto]]></category>
		<category><![CDATA[documents and settings]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[pac]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=128</guid>
		<description><![CDATA[Les fichiers PAC (Proxy Auto Configuration) sont des mini-javascript limités (en terme de fonctions) utilisés pour indiquer à un navigateur quel est le proxy de la société pour sortir sur le web. Par extension, on peut l&#8217;utiliser pour faire une sorte de load-balancing, de répartition suivant l&#8217;IP, court-circuiter le proxy pour tel ou tel site [...]]]></description>
			<content:encoded><![CDATA[<p>Les fichiers PAC (Proxy Auto Configuration) sont des mini-javascript limités (en terme de fonctions) utilisés pour indiquer à un navigateur quel est le proxy de la société pour sortir sur le web.<br />
Par extension, on peut l&#8217;utiliser pour faire une sorte de load-balancing, de répartition suivant l&#8217;IP, court-circuiter le proxy pour tel ou tel site etc. Bref, peu de fonctions, mais pas mal d&#8217;utilisation détournées. Google vous expliquera ça mieux que moi.<br />
Ce format de fichier vient de chez Netscape, il y a une 12aine d&#8217;années, on n&#8217;a pas encore fait mieux. <a href="http://findproxyforurl.com/">Sa syntaxe complète est décrite ici</a>.</p>
<p>Il y a un truc bien merdique (sous IE :O) avec les fichiers PAC. Je vous en fais part car pour le coup, j&#8217;ai trouvé beaucoup de monde sur google se posant une question et personne n&#8217;y répondant correctement.<span id="more-128"></span></p>
<p>Une fois votre &laquo;&nbsp;proxy.pac&nbsp;&raquo; créé, il s&#8217;agit de le mettre à dispo des utilisateurs. Deux solutions :<br />
- le publier sur un serveur web (interne)<br />
- le copier d&#8217;une manière ou d&#8217;une autre sur le PC des utilisateurs, localement</p>
<p>La première méthode est bien pour une utilisation interne (serveur web interne toujours accessible), mais pour les personnes mobiles, c&#8217;est naze : quel que soit le serveur web utilisé, il faudra pouvoir l&#8217;atteindre, ce qui n&#8217;est pas nécessairement possible depuis un site quelconque de connexion à Internet.</p>
<p>La deuxième méthode est bonne pour tout le monde, du moment que vous avez moyen d&#8217;injecter le fichier sur le PC des utilisateurs.<br />
Ensuite, dans ce cas, vous indiquez dans votre navigateur un chemin du genre <code>c:\mon repertoire\monproxy.pac</code><br />
Et c&#8217;est là le début des ennuis.<br />
- Firefox va convertir l&#8217;adresse en <code>file:///c:/mon%20repertoire/monproxy.pac</code><br />
- IE ne convertit rien et ne trouve pas le fichier. Bref, ça-marche-pas (c) MS</p>
<p>Comment faire ? j&#8217;ai vu plein de fois la question sur le web, jamais la réponse.<br />
Pour que ça marche sous IE, il faudra donc :<br />
- commencer par <code>file://c:/</code><br />
- ne pas mettre d&#8217;espace ni de %20. Comment faire ? nommer les répertoires à l&#8217;ancienne, façon Windows 95. C&#8217;est pas beau ça ? c&#8217;est pas un navigateur génial IE ? Exemple : <code>file://c:/docume~1/mon_id/mon_proxy.pac</code></p>
<p>Et voilà. La clef, c&#8217;est le &laquo;&nbsp;~1&#8243; des familles.</p>
<p>J&#8217;entends dans le fond de la salle une question : &laquo;&nbsp;pourquoi ne pas mettre le fichier sur C:\ ou C:\Windows directement ?&nbsp;&raquo;. Parce-que j&#8217;ai des utilisateurs non admin de leur poste et le script de logon au domaine n&#8217;a pas les droits d&#8217;écrire là-dedans. Par contre dans %USERPROFILE% (ie, C:\Documents and settings/mon_id/) c&#8217;est bon.</p>
<p>Simple, mais de quoi perdre des heures.<br />
Merci Microsoft.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2008/06/10/proxy-pac-locaux-et-ie/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Proxy POP[s]/IMAP[s] : pourquoi ? comment ?</title>
		<link>http://michauko.org/blog/2007/12/05/proxy-popsimaps-pourquoi-comment/</link>
		<comments>http://michauko.org/blog/2007/12/05/proxy-popsimaps-pourquoi-comment/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 14:04:33 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre.org]]></category>
		<category><![CDATA[reseau et sécu]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[perdition]]></category>
		<category><![CDATA[pop]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/2007/12/05/proxy-popsimaps-pourquoi-comment/</guid>
		<description><![CDATA[Un proxy POP/IMAP est, comme son nom l&#8217;indique, un relai pour les 4 protocoles POP et IMAP, sécurisés ou non. Ca sert à placer un relai entre les clients mail et votre vrai serveur POP3 et/ou IMAP4 et/ou POP3s et/ou IMAP4s. Pourquoi donc ? par exemple pour ne rendre visible dans une DMZ que les [...]]]></description>
			<content:encoded><![CDATA[<p>Un proxy POP/IMAP est, comme son nom l&#8217;indique, un relai pour les 4 protocoles POP et IMAP, sécurisés ou non. Ca sert à placer un relai entre les clients mail et votre vrai serveur POP3 et/ou IMAP4 et/ou POP3s et/ou IMAP4s.</p>
<p>Pourquoi donc ? par exemple pour ne rendre visible dans une DMZ que les relais et non pas les serveurs POP/IMAP directement. Ca peut permettre aussi (dans le cas du logiciel <a href="http://www.vergenet.net/linux/perdition/">PERDITION</a> que je vais montrer ci-dessous) de faire une répartition par utilisateur (donc par exemple par origine) entre différents serveurs POP ou IMAP de votre infrastructure, pour de la répartition de charge ou toute autre raison qui vous semble intéressante.</p>
<p>Bon là, si ça ne vous parle pas, l&#8217;article ne vous servira à rien, revenez plus tard. Sinon, let&#8217;s go pour une introduction par un exemple de mise en place du logiciel <a href="http://www.vergenet.net/linux/perdition/">PERDITION</a>.<span id="more-89"></span></p>
<p>En deux mots, le principe d&#8217;un relai comme ça est de prendre les demandes d&#8217;authentification, de les relayer au vrai serveur de mail et suivant le résultat, de faire ou non un &laquo;&nbsp;pipe&nbsp;&raquo; vers le vrai serveur de mail (selon le protocole voulu).</p>
<p>Commencez donc par installer l&#8217;application. Sous Debian : <code>apt-get install perdition</code> par exemple.</p>
<p>Ensuite, allez dans <code>/etc/perdition/</code> et dupliquez votre fichier <code>perdition.conf</code> en <code>perdition.imap.conf</code> suivant vos besoins. Le manuel préconise en fait de créer un fichier par protocole utilisé. A la limite, le fichier d&#8217;origine <code>perdition.conf</code> ne sert plus à rien à la fin. Vous pouvez le conserver néanmoins si vous n&#8217;utiliserez dans votre proxy qu&#8217;un seul des 4 protocoles.</p>
<p>Il faut maintenant éditer ce(s) fichier(s) pour chaque protocole. Tous les paramètres sont par défaut en commentaire. A vous de choisir ce qu&#8217;il faut. Le minimum vital pour de l&#8217;IMAP4s par exemple est, (dans le fichier <code>/etc/perdition/perdition.imap4s.conf</code> du coup <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  :</p>
<pre>protocol IMAP4S
outgoing_port 993
outgoing_server imap.mondomaine.com # votre vrai serveur IMAP
ssl_mode ssl_listen # ou ssl_all, voyez la doc
ssl_ca_file /etc/ssl/certs/masociete.crt
ssl_cert_file /etc/ssl/certs/mon_imap.cert
ssl_key_file /etc/ssl/certs/mon_imap.key</pre>
<p>Quelques remarques :<br />
1) Vous n&#8217;êtes pas obligé d&#8217;utiliser une &laquo;&nbsp;Certification Authority&nbsp;&raquo;, donc dans ce cas, pas besoin de <code>"ssl_ca_file"</code>.<br />
2) Les chemins et noms de fichiers des certificats/clefs sont arbitraires.<br />
3) Pour de l&#8217;IMAP non sécurisé, vous n&#8217;auriez qu&#8217;à modifier les 3 premières lignes et laisser en commentaire celles commençant par <code>"ssl"</code>.<br />
4) Pour du POP ou POP3s, c&#8217;est le même principe.<br />
5) Enfin, le fichier de config <code>/etc/perdition/perdition*conf</code> contient pas mal d&#8217;aide sur chaque paramètre, et le <code>man perdition</code> aussi.</p>
<p>Enfin, dernière brique, préciser quels protocoles on prend en charge et vérifier que perdition est bien lancé par le système. Ca se passe dans le fichier <code>/etc/default/perdition</code> où vous irez contrôler ça :</p>
<pre>RUN_PERDITION=yes
POP3=no #ou yes
POP3S=no #ou yes
IMAP4=no #ou yes
IMAP4S=yes #ou no</pre>
<p>Pour chaque protocole que vous utilisez, vous aurez donc créé le <code>/etc/perdition/perdition.<em>protocole</em>.conf</code> qui va bien. Relancez le service via <code>"/etc/init.d/perdition restart"</code> et vérifiez que les processus <code>"perdition.<em>protocole</em>"</code> qui vous intéressent tournent.</p>
<p>Evidemment, vous vérifierez enfin que toute votre configuration firewall ressemble à quelque chose et permet notamment l&#8217;accès aux ports qui vont bien de votre proxy POP/IMAP.</p>
<p>J&#8217;oubliais, pour faire de la répartition par utilisateur (tel utilisateur sur tel serveur), il faut éditer le fichier <code>"/etc/perdition/popmap"</code>. Quelques exemples sont donnés, genre :</p>
<pre>horms:mailserver1
tymm:mailserver2
</pre>
<p>Puis créer une &laquo;&nbsp;base de données&nbsp;&raquo; (un fichier .db) via un <code>"make"</code> basé sur le Makefile disponible dans <code>/etc/perdition/Makefile</code>.<br />
(C&#8217;est un peu le même principe, en plus glauque, que le fichier /etc/aliases et sa version base de données générée par la commande postalias).<br />
Personnellement, je n&#8217;ai pas mis en place ce système de répartition, mais ça ne doit pas être bien plus compliqué que ça.</p>
<p>Voilou.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2007/12/05/proxy-popsimaps-pourquoi-comment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenSSH et tunnel TCP par-dessus un proxy</title>
		<link>http://michauko.org/blog/2007/11/19/openssh-et-tunnel-tcp-par-dessus-un-proxy/</link>
		<comments>http://michauko.org/blog/2007/11/19/openssh-et-tunnel-tcp-par-dessus-un-proxy/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 15:54:58 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre.org]]></category>
		<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[ProxyCommand]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[tunnels]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/2007/11/19/openssh-et-tunnel-tcp-par-dessus-un-proxy/</guid>
		<description><![CDATA[Pour compléter cette doc, axée Windows, expliquant comment faire des tunnels SSH par dessus un proxy (du boulot) pour faire transiter un trafic TCP à priori non autorisé, je complète avec le pendant pour Linux. Il existe un putty pour linux. Sous Debian, c&#8217;est une vieille version, et franchement, je n&#8217;ai pas réussi à lui [...]]]></description>
			<content:encoded><![CDATA[<p>Pour compléter <a href="http://michauko.org/blog/2009/02/23/tunnels-tcp-via-ssh-putty-etc/">cette doc</a>, axée Windows, expliquant comment faire des tunnels SSH par dessus un proxy (du boulot) pour faire transiter un trafic TCP à priori non autorisé, je complète avec le pendant pour Linux.<span id="more-87"></span></p>
<p>Il existe un putty pour linux. Sous Debian, c&#8217;est une vieille version, et franchement, je n&#8217;ai pas réussi à lui faire utiliser un proxy.<br />
A côté de ça, la commande ssh ne sait pas nativement établir de connexion par dessus un proxy. Par contre elle sait donner la main à un outil qui sait le faire. Typiquement, on trouve un programme connect.c sur Internet assez facilement. Vous pouvez le compiler et l&#8217;utiliser. Finalement, plutôt que d&#8217;utiliser ce programme dont je ne suis jamais sûr de l&#8217;origine, j&#8217;ai récemment trouvé un paquet Debian appelé &laquo;&nbsp;connect-proxy&nbsp;&raquo;. Il vous installe un programme <code>connect</code> (ou <code>connect-proxy</code>, je ne sais plus je fais de mémoire j&#8217;ai jeté ma conf et pas l&#8217;occasion de la refaire là).</p>
<p>Ensuite, il faut configurer le fichier ~/.ssh/config et faire un truc dans ce goût là (ou adaptez votre fichier si vous en avez déjà un) :</p>
<pre>Host toto.com
  ProxyCommand connect-proxy votre_proxy:port %h %p</pre>
<p>toto.com étant le serveur SSH extérieur injoignable sans passer par le proxy &laquo;&nbsp;votre_proxy&nbsp;&raquo;.<br />
Vous pourriez aussi mettre tout ça directement dans la ligne de commande ssh (via -o ProxyCommand, mais ça devient lourdingue)</p>
<p>Enfin, on me souffle dans l&#8217;oreillette que l&#8217;outil &laquo;&nbsp;corkscrew&nbsp;&raquo; (paquet Debian dispo) permet cela aussi.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2007/11/19/openssh-et-tunnel-tcp-par-dessus-un-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wake-On-LAN (et Freebox)</title>
		<link>http://michauko.org/blog/2007/07/03/wake-on-lan-et-freebox/</link>
		<comments>http://michauko.org/blog/2007/07/03/wake-on-lan-et-freebox/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 13:12:20 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[reseau et sécu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freebox]]></category>
		<category><![CDATA[lan]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[magic]]></category>
		<category><![CDATA[packet]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[wake]]></category>
		<category><![CDATA[wake-on-lan]]></category>
		<category><![CDATA[wol]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/2007/07/03/wake-on-lan-et-freebox/</guid>
		<description><![CDATA[Récemment, j&#8217;en ai eu marre d&#8217;allumer mon PC (oui je l&#8217;éteins parfois) le matin avant de partir au boulot pour les quelques fois où j&#8217;ai besoin d&#8217;y accéder en journée. Donc j&#8217;ai mis en place le WOL. Le principe est de pouvoir allumer son PC à distance, du moment qu&#8217;il est encore sous tension (ainsi [...]]]></description>
			<content:encoded><![CDATA[<p>Récemment, j&#8217;en ai eu marre d&#8217;allumer mon PC (oui je l&#8217;éteins parfois) le matin avant de partir au boulot pour les quelques fois où j&#8217;ai besoin d&#8217;y accéder en journée. Donc j&#8217;ai mis en place le <a href="http://fr.wikipedia.org/wiki/Wake_on_lan" target="_blank">WOL</a>.<span id="more-47"></span></p>
<p>Le principe est de pouvoir allumer son PC à distance, du moment qu&#8217;il est encore sous tension (ainsi que tous les éléments électriques/réseau menant à lui) et que la carte réseau le permette (toutes les cartes récentes le font).  Il faut s&#8217;assurer aussi dans le BIOS de votre machine que le WOL est activé, ce qui n&#8217;est probablement pas le cas par défaut.</p>
<p>A la base, ça sert dans la gestion des parcs de machines sur un réseau local. Par extension, ça permet de réveiller n&#8217;importe quelle machine, même sur Internet. On parle quelques fois de Wake-On-WAN. Il suffit de connaitre l&#8217;adresse MAC de la carte réseau et de pouvoir l&#8217;adresser (la joindre par le réseau).</p>
<p>Le &laquo;&nbsp;programme de Wake-On-LAN&nbsp;&raquo; envoie simplement une trame réseau particulière en mode UDP sur le port 9. Cette trame peut s&#8217;accompagner d&#8217;un mot de passe encodé, si la carte le permet, là encore.</p>
<p>Le cas que je décris est le suivant : une machine sur un LAN derrière un modem/firewall/routeur (ici une <a href="http://fr.wikipedia.org/wiki/Freebox">Freebox</a>). La machine n&#8217;est donc pas visible directement depuis Internet, c&#8217;est la Freebox qui l&#8217;est. Donc il faut mettre en place le &laquo;&nbsp;proxy WOL&nbsp;&raquo; de la Freebox, dans la console d&#8217;administration Free :<br />
<a href='http://michauko.org/blog/wp-content/uploads/2007/07/fbx_wol.png' title='Freebox &#038; Proxy WOL'><img src='http://michauko.org/blog/wp-content/uploads/2007/07/fbx_wol.thumbnail.png' alt='Freebox &#038; Proxy WOL' /></a><br />
Ce proxy va faire en sorte que les requêtes type UDP/9 arrivant à l&#8217;entrée de la freebox puissent traverser et être réémises à tout le réseau local derrière ; l&#8217;adresse MAC garantissant l&#8217;unicité de la machine dans le LAN.</p>
<p>Donc, une fois le BIOS OK, votre modem/routeur OK, reste à envoyer la trame magique.</p>
<p>Sous Debian, au moins deux applications existent : etherwake et wakeonlan. La première permet de mettre des mots de passes mais pas d&#8217;envoyer la trame sur Internet ; la deuxième, c&#8217;est l&#8217;inverse (évidemment <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sous Windows, j&#8217;ai trouvé un <a href="http://www.depicus.com/wake-on-lan/wake-on-lan-gui.aspx">WakeOnLANGUI</a> gratuit. Mais ce dernier ne sait pas gérer les proxys (si par hasard vous êtes au boulot) ; c&#8217;est un problème qui se pose moins (me concernant) depuis une machine Linux.</p>
<p>Exemple avec &laquo;&nbsp;wakeonlan&nbsp;&raquo; sous Debian :</p>
<pre>apt-get install wakeonlan</pre>
<p>Puis :</p>
<pre>wakeonlan -i 82.x.y.z 00:12:34:56:78:90</pre>
<p>(Si vous ne connaissez pas votre adresse MAC : <code>ipconfig /ALL</code> sous Windows dans une fenêtre DOS, et <code>/sbin/ifconfig</code> sous Linux).</p>
<p>D&#8217;un point de vue sécurité, le risque que quelqu&#8217;un connaisse votre adresse MAC sur un réseau non visible (LAN derrière votre routeur) est faible. Vous pouvez de plus ajouter un mot de passe et au pire, vous risquez simplement un allumage intempestif.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2007/07/03/wake-on-lan-et-freebox/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

