<?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>JoPa.Fr &#187; Réseau</title>
	<atom:link href="http://www.jopa.fr/index.php/category/reseau/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jopa.fr</link>
	<description>001100010BIDOUILLE11101010111100010LIBRE1000100111100101</description>
	<lastBuildDate>Tue, 10 Jan 2012 21:59:31 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Démonstration de Proxmox VE</title>
		<link>http://www.jopa.fr/index.php/2011/08/15/virtualisation-proxmox/</link>
		<comments>http://www.jopa.fr/index.php/2011/08/15/virtualisation-proxmox/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 21:47:20 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Logiciels Libres]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Vidéo]]></category>
		<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=2482</guid>
		<description><![CDATA[Proxmox Virtual Environnement est un environnement de virtualisation (hyperviseur)  libre, développé et maintenu par la société Autrichienne Proxmox Solutions Server. Proxmox VE s&#8217;installe sur un serveur nu, à partir d&#8217;une image iso téléchargeable sur le site officiel. Etant donné qu&#8217;il repose sur une distribution Debian Lenny, il est tout à fait possible de l&#8217;installer, sur [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><a href="http://www.jopa.fr/wp-content/uploads/2011/08/logo_proxmox.png"><img class="alignright size-full wp-image-2495" title="logo_proxmox" src="http://www.jopa.fr/wp-content/uploads/2011/08/logo_proxmox.png" alt="" width="197" height="120" /></a><a title="Proxmox VE" href="http://www.proxmox.com/">Proxmox Virtual Environnement</a></em> est un environnement de virtualisation (<em><a title="Wikipedia Hyperviseur" href="http://fr.wikipedia.org/wiki/Hyperviseur">hyperviseur</a></em>)  libre, développé et maintenu par la société Autrichienne <em><a href="http://www.proxmox.com/about-us">Proxmox Solutions Server</a></em>.</p>
<p style="text-align: justify;"><em>Proxmox VE</em> s&#8217;installe sur un serveur nu, à partir d&#8217;une image iso téléchargeable sur <a title="Téléchargement Proxmox" href="http://www.proxmox.com/downloads/proxmox-ve">le site officiel</a>. Etant donné qu&#8217;il repose sur une distribution <em><a href="http://www.debian.org">Debian Lenny</a></em>, il est tout à fait possible de l&#8217;installer, sur un système existant, à partir de paquets. La dernière version (1.8) utilise les extensions de virtualisation des processeurs 64 bits, elle n&#8217;est disponible que pour cette architecture, inutile donc,  de tenter une installation sur une machine 32 bits.</p>
<p style="text-align: justify;">Une interface web d&#8217;administration offre une surveillance et une gestion simplifiée des machines virtuelles <a title="Wikipedia KVM" href="http://fr.wikipedia.org/wiki/Kernel-based_Virtual_Machine">KVM (kernel-based Virtual Machine)</a> et para-virtuelles <a title="Wikipedia OpenVZ" href="http://fr.wikipedia.org/wiki/OpenVZ">OpenVZ </a>. Nous pouvons en quelques clics, créer, modifier, supprimer, démarrer, arrêter, suspendre ou visualiser l&#8217;état d&#8217;une machine.</p>
<p style="text-align: justify;">Des outils, en lignes de commandes, permettent des fonctionnalités plus poussées, telles que la sauvegarde à chaud par <em>snapshot</em> ou la restauration.  Enfin, des fonctions de <a title="Clustering" href="http://fr.wikipedia.org/wiki/Grappe_de_serveurs">clustering</a> permettent, par exemple, la migration à chaud de machines virtuelles d&#8217;un serveur physique à un autre.</p>
<p style="text-align: justify;">Je vous propose ci-dessous, trois petites démonstrations en <em>screencast</em>. La première montre l&#8217;utilisation de l&#8217;interface Web pour la création et l&#8217;installation d&#8217;un serveur virtuel <em>kvm</em> sous <em>Debian Squeeze</em>, la deuxième, le clonage de ce serveur à l&#8217;aide des outils de <em>snapshot</em> et de restauration et enfin, la troisième, la création d&#8217;un cluster de deux serveurs <em>Proxmox VE</em> ainsi que la migration d&#8217;une machine virtuelle d&#8217;un serveur vers l&#8217;autre.</p>
<p><span id="more-2482"></span></p>
<h4>Démo n°1 &#8211; Installation d&#8217;un serveur virtuel Debian.</h4>
<p>&nbsp;</p>
<p><a href="http://www.youtube.com/watch?v=tE-tR_iQ6kM"><img src="http://img.youtube.com/vi/tE-tR_iQ6kM/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=tE-tR_iQ6kM">Click here</a> to view the video on YouTube.</p>

<p>&nbsp;</p>
<h4>Démo n°2 &#8211; Utilisation des outils de sauvegarde et de restauration pour le clonage d&#8217;une VM.</h4>
<p>&nbsp;</p>
<p><a href="http://www.youtube.com/watch?v=GD8MPg27Mu4"><img src="http://img.youtube.com/vi/GD8MPg27Mu4/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=GD8MPg27Mu4">Click here</a> to view the video on YouTube.</p>

<p>&nbsp;</p>
<h4>Démo n°3 &#8211; Création d&#8217;un cluster Proxmox VE et migration à chaud.</h4>
<p>&nbsp;</p>
<p><a href="http://www.youtube.com/watch?v=HHZLpBTMGCs"><img src="http://img.youtube.com/vi/HHZLpBTMGCs/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=HHZLpBTMGCs">Click here</a> to view the video on YouTube.</p>

<p>&nbsp;</p>
<h4>Sources :</h4>
<ul>
<li><a title="Proxmox" href="http://www.proxmox.com/">Site officiel Proxmox</a>,</li>
<li><a title="Proxmox sur Wikipedia" href="http://fr.wikipedia.org/wiki/Proxmox">Wikipedia</a>.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2011/08/15/virtualisation-proxmox/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Limiter la bande passante avec &#171;&#160;Trickle&#160;&#187;</title>
		<link>http://www.jopa.fr/index.php/2010/07/17/limiter-la-bande-passante-avec-trickle/</link>
		<comments>http://www.jopa.fr/index.php/2010/07/17/limiter-la-bande-passante-avec-trickle/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 16:43:47 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=2171</guid>
		<description><![CDATA[Depuis mon précédent billet sur les services de stockage en ligne, j&#8217;ai eu l&#8217;occasion de mettre en  place plusieurs solutions de synchronisation basées sur Unison (du type de MyOne). Ce système me sert entre autre à sauvegarder et échanger des fichiers de façon transparente avec des machines distantes Le problème principal de système, tel qu&#8217;il est [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_cable_jopa.jpg"><img class="size-medium wp-image-2202 alignleft" title="reseau_cable_jopa" src="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_cable_jopa-300x225.jpg" alt="" width="300" height="225" /></a>Depuis mon<a href="http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/"> précédent billet</a> sur les services de stockage en ligne, j&#8217;ai eu l&#8217;occasion de mettre en  place plusieurs solutions de synchronisation basées sur Unison (du type de <a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841" target="_blank">MyOne</a>). Ce système me sert entre autre à sauvegarder et échanger des fichiers de façon transparente avec des machines distantes</p>
<p style="text-align: justify;">Le problème principal de système, tel qu&#8217;il est décrit, est l&#8217;absence de maîtrise de la bande passante utilisée&#8230; Quand les &laquo;&nbsp;synchros&nbsp;&raquo; se mettent en route, la connexion Internet en prend un coup, souvent au dépend d&#8217;autres services. En bref, &laquo;&nbsp;ça rame dur !&nbsp;&raquo;.</p>
<p style="text-align: justify;">Une bonne solution pour ne pas pénaliser l&#8217;utilisation courante du réseau serait de gérer de la <a href="http://fr.wikipedia.org/wiki/Qualit%C3%A9_de_service" target="_blank">QoS (qualité de service)</a>, mais ça reste assez lourd à mettre en place&#8230; La gestion de la QoS au sein d&#8217;un réseau fera très probablement l&#8217;objet d&#8217;un prochain billet. En attendant, je vais aborder une solution très simple, qui permet de limiter la bande passante au niveau des clients.</p>
<p style="text-align: justify;"><span id="more-2171"></span></p>
<p style="text-align: justify;">&laquo;&nbsp;<a href="http://monkey.org/~marius/pages/?page=trickle" target="_blank">Trickle</a>&nbsp;&raquo; est un gestionnaire de bande passante en espace utilisateur. Dans son utilisation la plus simple, il permet de lancer une commande en limitant sa bande passante montante (<em>upload</em>)  ou descendante (<em>download</em>), avec, respectivement, les options &#8216;<strong>-u</strong>&#8216; et &#8216;<strong>-d</strong>&#8216;.</p>
<p style="text-align: justify;">L&#8217;exemple suivant va lancer &laquo;&nbsp;<em>wget</em>&nbsp;&raquo; (pour télécharger les sources d&#8217;un noyau linux depuis kernel.org) en limitant l&#8217;utilisation de la bande passante à 20 Ko/s :</p>
<p><span style="color: #800000;">$ trickle -d 20 wget -c  ﻿http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.35-rc3.tar.bz2</span></p>
<p style="text-align: justify;">Autre exemple : l&#8217;utilisation d&#8217;<em>unison</em> pour synchroniser un dossier via ssh en limitant le débit montant à 10 Ko/s et le débit descendant à 30 Ko/s.</p>
<p><span style="color: #800000;">$ trickle -u 10 -d 30 unison ~/JopaOne ssh://joel@monserveur.jopa.fr//home/joel/JopaOne</span></p>
<p style="text-align: justify;">Trickle peut fonctionner en mode &laquo;&nbsp;collaboratif&nbsp;&raquo; grâce à un démon : trickled, qui peut, lui aussi, être lancé en espace utilisateur. Contrairement à l&#8217;utilisation précédente, la limitation n&#8217;est plus définie pour chaque commande mais  la bande passante maximale est passée en paramètres au démon et partagée par toutes les instances de trickle.</p>
<p><span style="color: #800000;">$ trickled -u 10 -d 30 ﻿<br />
</span><span style="color: #800000;"><br />
$ trickle unison /home/joel/JopaOne ssh://joel@monserveur.jopa.fr//home/joel/JopaOne -batch </span></p>
<p><span style="color: #800000;">$ trickle wget -c  ﻿http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.35-rc3.tar.bz2</span></p>
<p>Si besoin, il est également possible de prioriser certaines applications par rapport à d&#8217;autres pour ce partage de ressources. Je vous renvoie vers le man ou le site du projet pour la liste des options et paramètres disponibles.</p>
<p>Lien :</p>
<p><a href="http://monkey.org/~marius/pages/?page=trickle" target="_blank">Trickle (http://monkey.org/~marius/pages/?page=trickle)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/07/17/limiter-la-bande-passante-avec-trickle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A &#171;&#160;Tor&#160;&#187; et à travers (d&#8217;Internet)&#8230;</title>
		<link>http://www.jopa.fr/index.php/2010/06/26/tor_privoxy_anonymat/</link>
		<comments>http://www.jopa.fr/index.php/2010/06/26/tor_privoxy_anonymat/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 20:33:19 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1986</guid>
		<description><![CDATA[En quelques mots, Tor (The Onion Router) est un réseau permettant la transmission anonyme de paquets TCP au travers d&#8217;internet&#8230; &#8230;Au lieu d&#8217;emprunter un itinéraire direct entre la source et la destination, les paquets de données suivent une trajectoire aléatoire à travers plusieurs relais&#8230; La suite de ce billet donne une brève introduction à Tor [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Tor-logo.png"><img class="size-full wp-image-1988 alignleft" title="Tor-logo" src="http://www.jopa.fr/wp-content/uploads/2010/06/Tor-logo.png" alt="" width="300" height="236" /></a>En quelques mots,</h2>
<p style="text-align: justify;"><a href="http://www.torproject.org/index.html.fr">Tor</a> (The Onion Router) est un réseau permettant la transmission anonyme de paquets TCP au travers d&#8217;internet&#8230;</p>
<blockquote>
<p style="text-align: justify;">&#8230;Au lieu d&#8217;emprunter un itinéraire direct entre la source et la destination, les paquets de données suivent une trajectoire aléatoire à travers plusieurs relais&#8230;</p>
</blockquote>
<p style="text-align: justify;">La suite de ce billet donne une brève introduction à <em>Tor</em> et à son principe de fonctionnement, pour finir par un exemple pratique d&#8217;installation et d&#8217;utilisation.</p>
<p style="text-align: justify;"><span id="more-1986"></span></p>
<h2>Comment ça marche ?</h2>
<p style="text-align: justify;">Après interrogation d&#8217;un serveur <em>Tor</em>, le client reçoit une liste de noeuds. Il construit alors un chemin aléatoire au travers, de telle sorte que chaque relais ne connaisse que l&#8217;adresse de son prédécesseur et de son successeur. Aucun noeud ne connait à lui seul le chemin complet.</p>
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_tor.png"><img class="aligncenter size-full wp-image-1994" title="reseau_tor" src="http://www.jopa.fr/wp-content/uploads/2010/06/reseau_tor.png" alt="" width="560" height="470" /></a></p>
<p style="text-align: justify;">Un nouveau chemin sera recalculé régulièrement.</p>
<p style="text-align: justify;">Pour garantir sa confidentialité dès le départ, un paquet tcp est chiffré &laquo;&nbsp;en couches&nbsp;&raquo; successives avec la clef publique de chaque noeud, en commençant par le dernier&#8230;</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/chiffrement.png"><img class="aligncenter size-full wp-image-1997" title="chiffrement" src="http://www.jopa.fr/wp-content/uploads/2010/06/chiffrement.png" alt="" width="322" height="233" /></a></p>
<p style="text-align: justify;">Lorsque le paquet parcours son chemin, chaque couche de chiffrement sera enlevée par son noeud respectif, jusqu&#8217;au dernier, qui transmettra alors le paquet en clair au serveur destinataire. Je vous laisse faire l&#8217;analogie avec l&#8217;oignon&#8230; Même si mon schéma est un peu &laquo;&nbsp;carré&nbsp;&raquo;.</p>
<p style="text-align: justify;">Il faut être conscient, cependant, que <em>Tor</em> a ses limites : Il gère seulement le transport des paquets TCP et n&#8217;assure pas de protection en <em>UDP</em>. Protocole utilisé entre autres pour les requêtes DNS. De plus, une page <em>web</em> peut récolter directement des informations privées (dont l&#8217;adresse IP), directement auprès du navigateur, par l&#8217;utilisation de Javascript ou la lecture de cookies.</p>
<p style="text-align: justify;">Pour la navigation Web, on va généralement coupler Tor  à un serveur mandataire (<em>proxy</em>) tel que <em>privoxy</em>. Ce dernier va faire l&#8217;interface entre le navigateur et Tor, tout en fournissant un filtrage anonymisant supplémentaire (gestion des cookies, des accès, suppression des pubs, etc&#8230;).</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/proxy.png"><img class="size-full wp-image-2000  aligncenter" title="proxy" src="http://www.jopa.fr/wp-content/uploads/2010/06/proxy.png" alt="" width="265" height="163" /></a></p>
<h2>En pratique</h2>
<p style="text-align: justify;"><em>Tor</em> est disponible sous licence BSD et facilement installable pour la majorité des distributions Linux et BSD. Il est également disponible pour de nombreuses plateformes telles que Windows, OSX ou Androïd&#8230; si si !).</p>
<p style="text-align: justify;"><strong>Sous Ubuntu 10.4 :</strong></p>
<pre><span style="color: #800000;"> # echo "deb http://deb.torproject.org/torproject.org lucid main" &gt;
         /etc/apt/sources.list.d/tor.list
 # gpg --keyserver keys.gnupg.net --recv 886DDD89
 # gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add -
 # apt-get update
 # apt-get install tor privoxy
. </span></pre>
<p>Un (tout) petit peu de configuration&#8230;</p>
<pre>/etc/privoxy/config/</pre>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1986code2'); return false;">View Code</a> CONFIG</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p19862"><td class="code" id="p1986code2"><pre class="config" style="font-family:monospace;">...
#  Décommenter la ligne suivante pour connecter Privoxy à Tor
forward-socks5   /               127.0.0.1:9050 .
...
# Il peut être judicieux de commenter la ligne suivante pour
# que les logs ne soient pas écrits.
# logfile logfile
...</pre></td></tr></table></div>

<p style="text-align: justify;">On redémarre tout ça :</p>
<pre><span style="color: #800000;"> # /etc/init.d/tor restart
 # /etc/init.d/privoxy restart</span></pre>
<p style="text-align: justify;">Privoxy doit ensuite être déclaré comme proxy dans les préférences du navigateur ou directement dans les préférences réseaux de Gnome. Dans l&#8217;exemple, nous avons bien une installation locale (127.0.0.1) et le port laissé par défaut (8118).</p>
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-Paramètres-de-connexion-1.png"><img class="size-medium wp-image-2032  aligncenter" title="Capture-Paramètres de connexion-1" src="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-Paramètres-de-connexion-1-300x257.png" alt="" width="300" height="257" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: center;">
<p style="text-align: justify;">Le premier indice permettant de conclure que la configuration est bonne est la lenteur de la navigation. Le passage au travers du réseau Tor ne se fait pas sans perte de performances&#8230;</p>
<p style="text-align: justify;">Le second peut se trouver sur la page : <em>http://www.monip.org,</em> qui ne devrait plus retourner notre adresse IP publique, mais celle du dernier relai traversé.</p>
<h2>Au delà de la navigation</h2>
<p style="text-align: justify;">Au delà de la navigation web et des services pris en charge par le proxy, TOR est capable de sécuriser les connexions d&#8217;autres services grâce à la commande &laquo;&nbsp;<strong>torify</strong>&laquo;&nbsp;. Par exemple, la commande suivante permet une connexion <em>ssh</em> à travers le réseau <em>Tor</em>.</p>
<p style="text-align: justify;"><span style="color: #800000;">$ torify ssh mon.serveur.public.et.fictif.com</span></p>
<p style="text-align: justify;">Voilà pour un petit tour rapide au pays de <em>Tor</em>&#8230; Pour (beaucoup) plus d&#8217;informations, je vous conseille de visiter le site officiel du projet et sa page Wikipédia.</p>
<p style="text-align: justify;">Liens :</p>
<ul>
<li><a href="http://www.torproject.org/overview.html.fr">Tor Project</a>,</li>
<li><a href="http://fr.wikipedia.org/wiki/Tor_(r%C3%A9seau)">Wikipedia &#8211; Tor (Réseau),</a></li>
<li><a href="http://www.privoxy.org/">Privoxy</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/06/26/tor_privoxy_anonymat/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DropBox, Ubuntu One, MyOne (unison) and Co</title>
		<link>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/</link>
		<comments>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:33:28 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[fichiers]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1907</guid>
		<description><![CDATA[Les services de stockage en ligne, tels que Ubuntu One ou DropBox fleurissent depuis quelques temps sur la toile&#8230;  Il est vrai qu&#8217;ils s&#8217;avèrent bien pratiques, pour peu qu&#8217;on ne soit pas trop regardant sur les contraintes de sécurité. Ces deux applications sont très similaires et proposent, entre autre, un espace de stockage en ligne [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Les services de stockage en ligne, tels que <a title="Ubuntu One" href="https://one.ubuntu.com/" target="_blank">Ubuntu One</a> ou <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a> fleurissent depuis quelques temps sur la toile&#8230;  Il est vrai qu&#8217;ils s&#8217;avèrent bien pratiques, pour peu qu&#8217;on ne soit pas trop regardant sur les contraintes de sécurité.</p>
<p style="text-align: center;"><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5"><img class="size-full wp-image-1924  aligncenter" title="logo_drop_box" src="http://www.jopa.fr/wp-content/uploads/2010/06/logo_drop_box.png" alt="" width="231" height="60" /></a></p>
<p style="text-align: justify;">Ces deux applications sont très similaires et proposent, entre autre, un espace de stockage en ligne de 2 Go, dans une version de base gratuite, ainsi que des options payantes permettant d&#8217;étendre la capacité à 50 Go ou plus. A ce jour, il faut compter un peu moins de 10 € par mois pour 50 Go. <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">Dropbox</a> propose un système de parrainage qui vous fera gagner 250 Mo supplémentaires chaque fois que vous parrainez une nouvel inscrit (dans la limite de 8Go).</p>
<p style="text-align: justify;"><span id="more-1907"></span></p>
<p style="text-align: justify;">Les fichiers sont accessibles depuis n&#8217;importe quel ordinateur connecté à Internet via une interface web. Ceci n&#8217;est pas pour déplaire à Mamie,  qui se voit rassurée de pouvoir sauvegarder ses précieuses recettes de cuisine à l&#8217;abri d&#8217;un incendie ou de je ne sais quelle autre catastrophe domestique.</p>
<p style="text-align: center;"><a href="https://one.ubuntu.com/"><img class="aligncenter size-full wp-image-1912" title="ubuntu_one1" src="http://www.jopa.fr/wp-content/uploads/2010/06/ubuntu_one12.jpg" alt="" width="848" height="509" /></a></p>
<p style="text-align: justify;">L&#8217;installation d&#8217;un logiciel client sur un ou plusieurs postes va permettre de synchroniser un répertoire local avec l&#8217;espace de stockage en ligne. Ainsi, un fichier ajouté dans ce dossier sera automatiquement ajouté par synchronisation dans l&#8217;espace en ligne.  Ce dernier se synchronisera à son tour avec les autres machines sur lequel le client est installé. C&#8217;est très pratique pour Mamie, qui peut taper sa recette de cookies au chocolats sur l&#8217;ordinateur de son bureau et l&#8217;emporter à son club de cuisine sur son <em>Ipad</em> automatiquement synchronisé &#8211; Qu&#8217;elle frimeuse cette mamie &#8211;   Pour cela, je dois préciser qu&#8217;elle a une préférence pour <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a>, porté sur de nombreux systèmes, contrairement à <a href="https://one.ubuntu.com/" target="_self">Ubuntu One</a>, qui reste encore limité à un environnement Ubuntu.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_1937" class="wp-caption  aligncenter" style="width: 489px;">
<dt class="wp-caption-dt"><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5"><img class="size-full wp-image-1937  " title="tour_1" src="http://www.jopa.fr/wp-content/uploads/2010/06/tour_1.jpg" alt="Source : www.dropbox.com" width="479" height="380" /></a></dt>
</dl>
</div>
<p style="text-align: center;"><em>Image : Dropbox.com</em></p>
<p style="text-align: justify;">Enfin, parmi les multiples utilisations possibles, nous trouvons bien entendu la possibilité de partager des fichiers ou des dossiers avec d&#8217;autres utilisateurs. Très pratique pour Mamie, qui peut diffuser, à toute la famille, les photos de ses pâtisseries qu&#8217;elle prend en 10 MégaPixel grâce à son réflex numérique.</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-jopa - Navigateur-de-fichiers.png"><img class="aligncenter size-full wp-image-1917" title="Capture-jopa - Navigateur de fichiers" src="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-jopa - Navigateur-de-fichiers.png" alt="" width="584" height="358" /></a></p>
<p style="text-align: justify;">Outre la capacité limitée dans les versions gratuites, le fait que les fichiers soient stockés en clair, on ne sais où, peut-être perturbant. Il est bien sûr possible de chiffrer les données avant leur stockage, mais il faut bien avouer que ce n&#8217;est pas très pratique.</p>
<p style="text-align: justify;">Sachant que des outils libres, tels qu&#8217; <em><a title="Unison" href="http://www.cis.upenn.edu/~bcpierce/unison/" target="_blank">unison</a>, </em>on largement fait leurs preuves en matière de synchronisation, l&#8217;idée de construire ma propre architecture &laquo;&nbsp;JopaOne&nbsp;&raquo; m&#8217;a traversé l&#8217;esprit. C&#8217;est alors que je suis tombé sur <a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841" target="_blank">le tuto de KIK-IT : UbuntuOne VS MyOne</a>, décrivant exactement ce que je souhaitais faire : Un espace de stockage sur un de mes serveurs et des répertoires locaux sur mes différentes machines, le tout synchronisé grâce à <em>unision</em>,  de préférence à travers <em>ssh</em>&#8230;</p>
<p style="text-align: justify;">Pour conclure et je pense que Mamie sera d&#8217;accord avec moi, ma préférence va vers <em>DropBox </em>pour le partage de fichiers non sensibles avec les amis. Ce dernier est plus abouti qu&#8217;<em>Ubuntu One </em>et bien plus rapide pour  les synchronisation. La disponibilité du client sous de multiples plateforme est un de ses atouts majeurs&#8230; Mamie nous fait remarquer que le client &laquo;&nbsp;<a href="http://fr.wikipedia.org/wiki/Android">Androïd</a>&nbsp;&raquo; est très sympathique pour ajouter son Smartphone</p>
<p style="text-align: justify;">Pour la synchronisation de documents entre mes machines, j&#8217;ai préféré une solution basée sur <em>Unison et ssh&#8230; </em>Il n&#8217;y a pas a dire, on est bien plus tranquille quand les fichiers sont sur un serveur bien à nous&#8230;</p>
<p><strong>Liens : </strong></p>
<ul>
<li><a href="http://one.ubuntu.com/" target="_blank">Ubuntu One</a></li>
<li><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a></li>
<li><a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841">MyOne (KIK-IT</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Push Mail pour serveur Imap (local ou distant)</title>
		<link>http://www.jopa.fr/index.php/2009/08/05/push-mail-sur-serveur-imap-gmail/</link>
		<comments>http://www.jopa.fr/index.php/2009/08/05/push-mail-sur-serveur-imap-gmail/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 22:01:12 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[PDA]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Téléphone]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1652</guid>
		<description><![CDATA[Pour continuer la construction pas à pas de notre serveur mail (cf installation d&#8217;un serveur mail brique par brique), nous allons offrir à nos utilisateurs de terminaux Windows Mobile le luxe du &#8216;push mail&#8216; (on ne peut pas demander à tout le monde d&#8217;avoir un SmartPhone sous Androïd, ceci dit, moi, ça me plairait assez [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2009/08/eb0996d725ea9ae3e95da132acafd9fc1.jpg"><img class="alignleft size-medium wp-image-1654" title="eb0996d725ea9ae3e95da132acafd9fc" src="http://www.jopa.fr/wp-content/uploads/2009/08/eb0996d725ea9ae3e95da132acafd9fc1-300x200.jpg" alt="eb0996d725ea9ae3e95da132acafd9fc" width="300" height="200" /></a>Pour continuer la construction pas à pas de notre serveur mail <a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">(cf installation d&#8217;un serveur mail brique par brique</a>), nous allons offrir à nos utilisateurs de terminaux <em>Windows Mobile </em>le luxe du &#8216;<em>push mail</em>&#8216;<em> </em>(on ne peut pas demander à tout le monde d&#8217;avoir un <em>SmartPhone </em>sous <a title="http://fr.wikipedia.org/wiki/Android" href="http://fr.wikipedia.org/wiki/Android"><em>Androïd,</em></a> ceci dit, moi, ça me plairait assez !).  Contrairement à une configuration classique, où le terminal interroge le serveur (en <em>Pop</em> ou <em>Imap</em>), nous allons faire en sorte que ce soit le serveur qui &laquo;&nbsp;<em>pousse</em>&nbsp;&raquo; les nouveaux mails vers le mobile.</p>
<p><span id="more-1652"></span></p>
<ul>
<li>Côté Windows Mobile, c&#8217;est &laquo;&nbsp;ActiveSync&nbsp;&raquo; qui va gérer et maintenir la connexion avec le serveur, donc rien à installer, c&#8217;est super !</li>
<li>Côté serveur, nous allons utiliser &laquo;&nbsp;Z-Push&nbsp;&raquo;, une implémentation open source du protocole ActiveSync, écrite par la société <a title="http://www.zarafaserver.de/" href="http://www.zarafaserver.de/" target="_blank">Zafara</a> (en PHP).</li>
</ul>
<p>Avant de commencer, nous aurons besoin :</p>
<ul>
<li style="text-align: justify;">D&#8217;un serveur Linux avec PHP 5 et Apache 2 installés (et accessible depuis Internet évidemment) &#8211; Pour le test, j&#8217;ai utilisé une Debian Lenny -,</li>
<li style="text-align: justify;">Un serveur IMAP (local ou distant),</li>
<li style="text-align: justify;">Dans l&#8217;optique de la configuration d&#8217;un <em>VirtualHost Apache</em>, une entrée <em>DNS</em> spécifique, c&#8217;est plus propre, mais ce n&#8217;est pas obligatoire,</li>
<li style="text-align: justify;"><a title="https://developer.berlios.de/project/showfiles.php?group_id=8963" href="https://developer.berlios.de/project/showfiles.php?group_id=8963">Les sources de Z-Push</a>,</li>
<li style="text-align: justify;">Un terminal Windows Mobile (testé avec Windows Mobile 6).</li>
</ul>
<h2>Z-Push</h2>
<p>Commençons par décompresser les sources à la racine de notre serveur web :</p>
<p><span style="color: #800000;"># tar xvzf  z-push-1.2.2.tar.gz -C /var/www/</span></p>
<p>Le répertoire <strong>/var/www/z-push/state</strong> doit être accessible en écriture par l&#8217;utilisateur Apache :</p>
<p><span style="color: #800000;"># chmod 700 /var/www/z-push/state<br />
# chown www-data:www-data /var/www/z-push/state</span></p>
<p>Editons ensuite le fichier de configuration  (<strong>/var/www/z-push/config.php</strong>)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code7'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16527"><td class="code" id="p1652code7"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">...</span>
<span style="color: #666666; font-style: italic;">// The data providers that we are using (see configuration below)</span>
    <span style="color: #000088;">$BACKEND_PROVIDER</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;BackendIMAP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">...</span>
    <span style="color: #666666; font-style: italic;">// ************************</span>
    <span style="color: #666666; font-style: italic;">//  BackendIMAP settings</span>
    <span style="color: #666666; font-style: italic;">// ************************</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Defines the server to which we want to connect</span>
    <span style="color: #666666; font-style: italic;">// recommended to use local servers only</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SERVER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// connecting to default port (143)</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_PORT'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">143</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// best cross-platform compatibility (see http://php.net/imap_open for options)</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_OPTIONS'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/notls/norsh/ssl/novalidate-cert'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// overwrite the &quot;from&quot; header if it isn't set when sending emails</span>
    <span style="color: #666666; font-style: italic;">// options: 'username'    - the username will be set (usefull if your login is equal to your emailaddress)</span>
    <span style="color: #666666; font-style: italic;">//        'domain'    - the value of the &quot;domain&quot; field is used</span>
    <span style="color: #666666; font-style: italic;">//        '@mydomain.com' - the username is used and the given string will be appended</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_DEFAULTFROM'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// copy outgoing mail to this folder. If not set z-push will try the default folders</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SENTFOLDER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">...</span></pre></td></tr></table></div>

<p style="text-align: justify;">Les paramètres ci-dessus sont adaptés au serveur imap local. Ils peuvent être ajustés à un autre serveur. Ceci devrait fonctionner avec n&#8217;importe quel serveur IMAP.</p>
<p>Par exemple, pour <em>Gmail</em> :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code8'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16528"><td class="code" id="p1652code8"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SERVER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_PORT'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">993</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_OPTIONS'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/notls/norsh/ssl/novalidate-cert'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_DEFAULTFROM'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#41;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'IMAP_SENTFOLDER'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h2>Apache</h2>
<p style="text-align: justify;">Nous allons avoir besoin de satisfaire quelques dépendences avant d&#8217;attaquer la configuration d&#8217;<em>Apache.  Z-Push</em> a en effet besoin de quelques paquets pour pouvoir fonctionner correctement :</p>
<p><span style="color: #800000;">#  apt-get install pear php5-imap php5-mail php5-mail-mime php5-pear<br />
# pear install &#8211;alldeps Mail</span></p>
<p style="text-align: justify;">Nous avons ensuite deux alternatives :</p>
<ul style="text-align: justify;">
<li>Créer un VirtualHost afin d&#8217;accéder au serveur directement par son nom : http://z-push.mondomaine.net, (plus propre à mon sens)</li>
<li style="text-align: justify;">Ou configurer un répertoire d&#8217;un site existant : (http://mon_serveur_ou_son_ip/z-push).</li>
</ul>
<h2 style="text-align: justify;">Virtualhost</h2>
<p style="text-align: justify;">Pour créer un VirtualHost, il nous faut ajouter un fichier dans /etc/apache2/sites-available. Arbitrairement, nous allons choisir <em>z-push</em> comme nom de fichier.</p>
<p style="text-align: justify;">/etc/apache2/sites-available/z-push</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code9'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p16529"><td class="code" id="p1652code9"><pre class="ini" style="font-family:monospace;">	ServerAlias zpush.mondomaine.net
	ServerAdmin webmaster@mondomaine.net
	DocumentRoot /var/www/z-push
	Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php
&nbsp;
		Options -Indexes
		AllowOverride none
		Order allow,deny
		allow from all
		php_flag magic_quotes_gpc off
		php_flag register_globals off
		php_flag magic_quotes_runtime off
		php_flag short_open_tag on
&nbsp;
	ErrorLog /var/log/apache2/zpush-error.log
	LogLevel warn
	CustomLog /var/log/apache2/zpush-access.log combined
	ServerSignature Off</pre></td></tr></table></div>

<p style="text-align: justify;">La commande <em><strong>a2ensite</strong></em> (Apache2 Enable Site) permet de rendre le <em>VirtualHost</em> actif (équivaut à faire un lien symbolique dans<strong> /etc/apache2/sites-enabled</strong>)</p>
<p style="text-align: justify;">$ sudo a2ensite z-push<br />
$ /etc/init.d/apache2 reload</p>
<h2 style="text-align: justify;">Config par défaut ou .htaccess</h2>
<p style="text-align: justify;">La deuxième technique  consiste à ne configurer que le répertoire <em>z-push</em>, sans création d&#8217;un <em>VirtualHost</em>. Pour cela, nous ajouterons simplement les lignes suivantes dans le fichier de configuration du site par défaut (normalement <strong>/etc/apache2/sites-avaible/defaut</strong>) ou directement dans un fichier un<strong> .htaccess</strong> à la racine du site :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1652code10'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p165210"><td class="code" id="p1652code10"><pre class="ini" style="font-family:monospace;">	Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php
&nbsp;
		Options -Indexes
		AllowOverride none
		Order allow,deny
		allow from all
		php_flag magic_quotes_gpc off
		php_flag register_globals off
		php_flag magic_quotes_runtime off
		php_flag short_open_tag on</pre></td></tr></table></div>

<h2 style="text-align: justify;">Le mobile</h2>
<p style="text-align: justify;">La configuration du serveur étant terminée, nous pouvons tester sur un terminal. Nous allons configurer <em>ActiveSync</em> pour qu&#8217;il se connecte au serveur.</p>
<ul style="text-align: justify;">
<li>Dans ActiveSync :<span style="color: #333399;"> Menu -&gt; Configurer le serveur</span>,
<ul>
<li><strong>Adresse du serveur : </strong><span style="color: #333399;"> zpush.mondomaine.net </span> (nom du VirtualHost ou Url complète d&#8217;accès à z-push),</li>
<li>Décôcher <strong>SSL </strong>(n&#8217;est pas encore configuré sur le serveur Apache),</li>
<li><strong>Nom d&#8217;utilisateur :</strong> L&#8217;utilisateur Imap pour lequel nous voulons recevoir les mails,</li>
<li><strong>Mot de passe :</strong> Mot de passe de l&#8217;utilisateur sur le serveur Imap,</li>
<li><strong>Domaine :</strong> Domaine de messagerie,</li>
<li>Ne synchroniser que les mails : nous avons utilisé z-push pour l&#8217;Imap uniquement.</li>
</ul>
</li>
<li>La synchro devrait ensuite fonctionner. L&#8217;activation du mode Push peut se faire dans le &laquo;&nbsp;<em>Comm Manager</em>&nbsp;&raquo; en activant &laquo;&nbsp;<em><strong>Microsoft Direct Push</strong></em>&laquo;&nbsp;.</li>
</ul>
<p style="text-align: justify;">La méthode est biensûr perfectible par l&#8217;ajout du support SSL. Je ne suis pas arrivé, pour l&#8217;instant, à une solution très satisfaisante concernant ce point. A moins qu&#8217;ils ne nous soit possible de faire certifier le certificat serveur par un autorithé reconnue, il faudra importer ce cetificat sur le mobile. La chose est plutôt fastidieuse, l&#8217;option d&#8217;import n&#8217;étant pas disponible dans <em>Internet Explorer mobile</em>. Il est nécessaire de passer par un export au format xml, que l&#8217;on insère ensuite dans un fichier cab pour l&#8217;installer sur le terminal. Bref, du bon gros bricolage !</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Références :<em> <a title="http://andrew.tj.id.au/activesync-for-gmail/" href="http://andrew.tj.id.au/activesync-for-gmail/" target="_blank"> http://andrew.tj.id.au/activesync-for-gmail/</a></em></p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/08/05/push-mail-sur-serveur-imap-gmail/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#171;&#160;Alias&#160;&#187; et &#171;&#160;forward&#160;&#187; avec Postfix + LDAP</title>
		<link>http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/</link>
		<comments>http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 20:10:23 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1563</guid>
		<description><![CDATA[En me basant sur l&#8217;architecture présentée dans le billet : Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…), je vais chercher, au travers de cet article, à améliorer la distribution des mails entrants. Ce que je souhaite mettre en place est assez simple d&#8217;un point de vue fonctionnel [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2009/07/mail_forward.png"><img class="alignright size-full wp-image-1583" title="mail_forward" src="http://www.jopa.fr/wp-content/uploads/2009/07/mail_forward.png" alt="mail_forward" width="128" height="128" /></a>En me basant sur l&#8217;architecture présentée dans le billet : <a title="Lien Permanent : Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…)" rel="bookmark" href="../index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…),</a> je vais chercher, au travers de cet article, à améliorer la distribution des mails entrants. Ce que je souhaite mettre en place est assez simple d&#8217;un point de vue fonctionnel :</p>
<ol style="text-align: justify;">
<li>Chaque utilisateur doit pouvoir disposer de plusieurs adresses email pour une même boîte, sans que l&#8217;on ait besoin de le créer plusieurs fois dans l&#8217;annuaire (notion d&#8217;alias) ,</li>
<li>Les messages entrants doivent pouvoir être stockés sur le serveur Imap Local, transférés vers d&#8217;autres adresses (notion de forward) ou, soyons fous, les deux.</li>
</ol>
<p id="post-1064" style="text-align: justify;">Le serveur <em>Imap </em>utilisé est <em>Cyrus</em>, mais ceci n&#8217;a pas vraiment d&#8217;importance, n&#8217;importe quel gestionnaire <em>Imap </em>fera l&#8217;affaire. Il en va de même pour le serveur <em>OpenLDAP </em>qui peut être remplacé par un autre annuaire, pourvu qu&#8217;il respecte les standards. Vous l&#8217;aurez compris, c&#8217;est bel et bien <em>Postfix </em>qui va permettre ces petites galipettes.</p>
<p style="text-align: justify;"><span id="more-1563"></span>Pour l&#8217;exemple, je vais une fois de plus solliciter mon utilisateur préféré : Monsieur Dupont (Jean pour les intimes) . Ce Monsieur souhaite recevoir tous les mails adressés à :</p>
<ul style="text-align: justify;">
<li>jean@linet.jopa.fr,</li>
<li>dupont@linet.jopa.fr,</li>
<li>jean.dupont@linet.jopa.fr.</li>
</ul>
<p style="text-align: justify;">Il dispose bien entendu d&#8217;une boîte<em> Imap </em>sur le serveur<em>,</em> mais souhaite qu&#8217;une copie de ses messages soient transférés sur son compte <em>gmail </em>:  <em>jean.dupont@gmail.com</em>.  C&#8217;est pas très très joli pour la sécurité de l&#8217;entreprise, mais pour l&#8217;exemple (et pour Jean), je vais fermer les yeux !</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2009/07/postfix_maildrop.jpg"><img class="aligncenter size-full wp-image-1567" title="postfix_maildrop" src="http://www.jopa.fr/wp-content/uploads/2009/07/postfix_maildrop.jpg" alt="postfix_maildrop" width="493" height="486" /></a></p>
<h2><span style="color: #800000;">Le serveur  IMAP :</span></h2>
<p style="text-align: justify;">Je vous l&#8217;ai dit, sur le serveur IMAP, rien de particulier. Il faut juste s&#8217;assurer qu&#8217;il est fonctionnel et que l&#8217;utilisateur <em>Jean </em>y est bien présent. Dans le cas contraire, je vous invite à consulter <a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">l&#8217;article précédent</a> pour l&#8217;installation et la configuration d&#8217;un serveur <em>Cyrus-Imap</em>.</p>
<p><span style="color: #800000;"># cyradm –user cyrus localhost<br />
Password:<br />
localhost&gt; lm<br />
<strong>user.jean (HasNoChildren)</strong> user.jojo (HasNoChildren)<br />
user.joel (HasNoChildren)<br />
localhost&gt; quit</span></p>
<p style="text-align: center;">
<h2>L&#8217;annuaire :</h2>
<p style="text-align: justify;">Dans l&#8217;annuaire, j&#8217;ai légèrement modifié le schéma pour y insérer un deuxième attribut &laquo;&nbsp;<em>Mail</em>&laquo;&nbsp;, nommé &laquo;&nbsp;<em>maildrop&nbsp;&raquo;</em>. J&#8217;ai emprunté cet attribut à la classe <em>CourierMailAlias</em> (fournie par courier-Imap), mais en fait, n&#8217;importe quel attribut texte peut faire l&#8217;affaire.</p>
<p style="text-align: justify;">L&#8217;idée est d&#8217;utiliser l&#8217;attribut &laquo;&nbsp;<strong>Mail</strong>&nbsp;&raquo; pour enregistrer les adresses pour lesquelles la réception de courrier est autorisée pour l&#8217;utilisateur :</p>
<ul>
<li>jean@linet.jopa.fr,</li>
<li>dupont@linet.jopa.fr,</li>
<li>jean.dupont@linet.jopa.fr</li>
</ul>
<p style="text-align: justify;">Et l&#8217;attribut &laquo;&nbsp;<strong>MailDrop</strong>&laquo;&nbsp;<strong> </strong>pour les adresses auxquelles le courrier va être effectivement distribué. Il faut noter que cet attribut doit correspondre à des boîtes réellement existantes. Dans sa configuration initiale, <em>Cyrus </em>cherche à stocker les messages dans des boîtes identifiées par le préfixe de l&#8217;adresse du destinataire (ce qui est avant le @).</p>
<ul>
<li>jean@linet.jopa.fr,</li>
<li>jean.dupont@gmail.com</li>
</ul>
<p>Dans cet exemple, tout message adressé  à l&#8217;une ou l&#8217;autre  des 3 adresses définies par l&#8217;attribut <em>&laquo;&nbsp;Mail&nbsp;&raquo; </em>devra  être distribué aux 2 adresses définies par l&#8217;attribut &laquo;&nbsp;<em>MailDrop</em>&laquo;&nbsp;.</p>
<p><strong>Côté ldiff, ça donne ça</strong> :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code16'); return false;">View Code</a> LDIF</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156316"><td class="code" id="p1563code16"><pre class="ldif" style="font-family:monospace;">&nbsp;
# utilisateurs.ldif
dn: uid=jean,dc=linet,dc=jopa,dc=fr
objectClass: top
objectClass: inetOrgPerson
objectClass: CourierMailAlias
uid: jean
cn: Jean DUPONT
sn: Jean
mail: jean@linet.jopa.fr
mail: dupont@linet.jopa.fr
mail: jean.dupont@linet.jopa.fr
maildrop: jean@linet.jopa.fr
maildrop: jean.dupont@gmail.com
userPassword: toto</pre></td></tr></table></div>

<p>Pour utiliser l&#8217;attribut &laquo;&nbsp;Maildrop&nbsp;&raquo; de la classe <em>CourierMailAlias</em>, il est nécessaire de récupérer le schéma décrivant la classe et de l&#8217;intégrer à l&#8217;annuaire. Le fichier s&#8217;appelle authldap.schema et vient avec la doc de Courier-Imap. (/usr/share/doc)&#8230; Vous pouvez également le récupérer ici :</p>
<p><a href="http://www.jopa.fr/wp-content/uploads/2009/07/authldap.schema">authldap.schema</a></p>
<p>Le fichier doit être copié dans le répertoire contenant les schémas ( /etc/ldap/schema logiquement) et intégré à la structure de l&#8217;annuaire dans le fichier <em>/etc/ldap/slapd.conf</em></p>
<h3>/etc/ldap/slapd.conf</h3>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code17'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156317"><td class="code" id="p1563code17"><pre class="ini" style="font-family:monospace;"># This is the main slapd configuration file. See slapd.conf<span style="">&#40;</span><span style="">5</span><span style="">&#41;</span> for more
# info on the configuration options.
&nbsp;
#######################################################################
# Global Directives:
&nbsp;
# Features to permit
allow bind_v2
&nbsp;
# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/authldap.schema
...
...</pre></td></tr></table></div>

<h2>Postfix :</h2>
<p style="text-align: justify;">Le but ici, est de définir Cyrus comme agent de transport local (et virtuel) et de paramétrer les recherches dans l&#8217;annuaire LDAP. Cette recherche sera définie dans deux fichiers de configuration externes : <em>ldap-accounts.cf</em> pour la validation des destinataires et <em>ldap-aliases.cf</em> pour la gestion des alias.</p>
<h3>/etc/postfix.main.cf</h3>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code18'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156318"><td class="code" id="p1563code18"><pre class="ini" style="font-family:monospace;"># See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
<span style="color: #000099;">myorigin</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /etc/mailname</span>
...
...
# PARAMETRES LDAP
# Utilisateurs :
<span style="color: #000099;">virtual_mailbox_maps</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ldap:/etc/postfix/ldap-accounts.cf</span>
# Alias :
<span style="color: #000099;">virtual_alias_maps</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ldap:/etc/postfix/ldap-aliases.cf</span>
...
...
# Agent de transport local : CYRUS
<span style="color: #000099;">local_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
<span style="color: #000099;">virtual_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
<span style="color: #000099;">mailbox_transport</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cyrus</span>
...
...
...</pre></td></tr></table></div>

<h3>/etc/postfix/ldap-accounts.cf</h3>
<p>Ce fichier configure la recherche dans l&#8217;annuaire pour l&#8217;identification et la validation des destinataires. Il spécifie l&#8217;<em>adresse email</em> comme critère de recherche et  cas de succès, précise que c&#8217;est  l&#8217;<em>uid </em>de l&#8217;utilisateur qui doit être retourné.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code19'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156319"><td class="code" id="p1563code19"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">server_host</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
<span style="color: #000099;">server_port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 389</span>
<span style="color: #000099;">search_base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dc=linet, dc=jopa, dc=fr</span>
<span style="color: #000099;">query_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> <span style="">&#40;</span>&amp;amp</span><span style="color: #666666; font-style: italic;">; (objectClass=InetOrgPerson)(mail=%s))</span>
<span style="color: #000099;">result_attribute</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> uid</span>
<span style="color: #000099;">bind</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">bind_dn</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cn=admin,dc=linet,dc=jopa,dc=fr</span>
<span style="color: #000099;">bind_pw</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ******************</span>
<span style="color: #000099;">version</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 3</span></pre></td></tr></table></div>

<h3>/etc/postfix/ldap-aliases.cf</h3>
<p>Ce fichier permet, quant à lui, de gérer les Alias. Il définit lui aussi une recherche sur l<em>&#8216;adresse email</em> (champ mail) mais cette fois, c&#8217;est l&#8217;attribut &laquo;&nbsp;<em>Maildrop</em>&nbsp;&raquo; que sera retourné.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1563code20'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p156320"><td class="code" id="p1563code20"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">server_host</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> localhost</span>
<span style="color: #000099;">server_port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 389</span>
<span style="color: #000099;">search_base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dc=linet, dc=jopa, dc=fr</span>
<span style="color: #000099;">query_filter</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> <span style="">&#40;</span>&amp;amp</span><span style="color: #666666; font-style: italic;">; (objectClass=InetOrgPerson)(mail=%s))</span>
<span style="color: #000099;">result_attribute</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> maildrop</span>
<span style="color: #000099;">bind</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
<span style="color: #000099;">bind_dn</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cn=admin,dc=linet,dc=jopa,dc=fr</span>
<span style="color: #000099;">bind_pw</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> ******************</span>
<span style="color: #000099;">version</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 3</span></pre></td></tr></table></div>

<p>En résumé, encore une démonstration de la puissance du duo Postfix/Ldap, pour une fonctionnalité très pratique et relativement simple à mettre en oeuvre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Installation d’un serveur mail brique par brique…Mise à jour&#8230;</title>
		<link>http://www.jopa.fr/index.php/2009/07/28/installation-d%e2%80%99un-serveur-mail-brique-par-brique%e2%80%a6mise-a-jour/</link>
		<comments>http://www.jopa.fr/index.php/2009/07/28/installation-d%e2%80%99un-serveur-mail-brique-par-brique%e2%80%a6mise-a-jour/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 16:09:13 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Groupware]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Messagerie]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1551</guid>
		<description><![CDATA[J&#8217;ai publié, en début d&#8217;année, un billet sur l&#8217;installation d&#8217;un serveur mail basé sur différentes &#171;&#160;briques&#160;&#187; : OpenLDAP, Postfix, Cyrus-imap, TLS, SALS, Spamassassin, Amavis, etc&#8230; En réutilisant ce tuto pour l&#8217;installation d&#8217;un nouveau serveur, je me suis aperçu de quelques coquilles et de légères différences pour une installation sous Lenny. L&#8217;occasion pour moi de réactualiser [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2009/07/postfix.jpg"><img class="aligncenter size-full wp-image-1559" title="postfix" src="http://www.jopa.fr/wp-content/uploads/2009/07/postfix.jpg" alt="postfix" width="486" height="91" /></a></p>
<p style="text-align: justify;">J&#8217;ai publié, en début d&#8217;année, <a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">un billet</a> sur l&#8217;installation d&#8217;un serveur mail basé sur différentes &laquo;&nbsp;briques&nbsp;&raquo; :</p>
<ul style="text-align: justify;">
<li>OpenLDAP,</li>
<li>Postfix,</li>
<li>Cyrus-imap,</li>
<li>TLS,</li>
<li>SALS,</li>
<li>Spamassassin,</li>
<li>Amavis,</li>
<li>etc&#8230;</li>
</ul>
<p style="text-align: justify;">En réutilisant ce tuto pour l&#8217;installation d&#8217;un nouveau serveur, je me suis aperçu de quelques coquilles et de légères différences pour une installation sous Lenny.</p>
<p style="text-align: justify;">L&#8217;occasion pour moi de réactualiser l&#8217;article, en tenant comptes de vos remarques et commentaires.</p>
<p id="post-1064"><a title="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/" href="http://www.jopa.fr/index.php/2009/02/03/installation-dun-serveur-mail-brique-par-brique-openldap-postfix-cyrus-imap-tls-sasl-spamassassin-amavis-etc/">Installation d’un serveur mail brique par brique… (OpenLDAP, Postfix, Cyrus-imap, TLS, SASL, Spamassassin, Amavis, etc…)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/07/28/installation-d%e2%80%99un-serveur-mail-brique-par-brique%e2%80%a6mise-a-jour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Airserv-ng : Fonera en sonde wifi pour Aircrack-ng</title>
		<link>http://www.jopa.fr/index.php/2009/05/26/airserv-aircrack-ng-fonera/</link>
		<comments>http://www.jopa.fr/index.php/2009/05/26/airserv-aircrack-ng-fonera/#comments</comments>
		<pubDate>Tue, 26 May 2009 20:30:54 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Bidouilles]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Fonera]]></category>
		<category><![CDATA[Wifi]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1315</guid>
		<description><![CDATA[  Avec son chipset wifi Atheros supportant le mode monitor et l&#8217;injection de packets, sans oublier son connecteur SMA permettant de raccorder une antenne extérieure, la Fonera semble toute indiquée pour tester la sécurité de son réseau Wifi (j&#8217;ai bien dit &#171;&#160;son&#160;&#187; !).  D&#8217;autant plus que la suite aircrack-ng est disponible en paquet sous Kamikaze. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><img class="alignleft size-full wp-image-1333" title="fon_aircrack1" src="http://www.jopa.fr/wp-content/uploads/2009/05/fon_aircrack1.jpg" alt="fon_aircrack1" width="146" height="135" />Avec son chipset wifi <em>Atheros </em>supportant le <em>mode monitor</em> et l&#8217;injection de <em>packets</em>, sans oublier son connecteur <em>SMA </em>permettant de raccorder une antenne extérieure, la Fonera semble toute indiquée pour tester la sécurité de son réseau Wifi (j&#8217;ai bien dit &laquo;&nbsp;<strong>son</strong>&nbsp;&raquo; !).  D&#8217;autant plus que la suite<em> <a title="http://www.aircrack-ng.org/doku.php" href="http://www.aircrack-ng.org/doku.php">aircrack-ng</a></em> est disponible en paquet sous <a title="http://www.openwrt.org/" href="http://www.openwrt.org/"><em>Kamikaze</em></a>. Ce qui va inévitablement pêcher, c&#8217;est la puissance du CPU (Atheros AR2315) avec ses pauvres 183.5 BogoMIPS et éventuellement un léger problème de stockage &#8211; Quoique, la Fonéra 2 et son port <em>usb </em>permettent de facilement palier à ce manque de place.</p>
<p style="text-align: justify;">Nous pouvons, bien sûr, bricoler une solution pour contourner le problème en enregistrant les dumps sur une partition réseau (nfs, smb, etc&#8230;) ou un  quelconque support <em>usb</em>. Le tout étant de faire tourner les outils gourmands en ressources  sur une autre machine. Ca fonctionne, mais ça reste du bon vieux bricolage&#8230;</p>
<p style="text-align: justify;">Heureusement, les supermans et spidermans de la team aircrack-ng ont prévu une solution bien plus élégante&#8230; Dans ce cas précis, c&#8217;est par <a title="http://www.aircrack-ng.org/doku.php?id=airserv-ng&amp;DokuWiki=2e2067eafa2d20e7d4012738d464c2d4" href="http://www.aircrack-ng.org/doku.php?id=airserv-ng&amp;DokuWiki=2e2067eafa2d20e7d4012738d464c2d4"><em>airserv-ng</em></a> qu&#8217;ils vont briller de mille éclats.</p>
<p style="text-align: justify;">- Au passage, merci à eux pour tous leurs outils robustes et fonctionnels ! -</p>
<p style="text-align: justify;"><span id="more-1315"></span></p>
<p style="text-align: justify;"><a title="http://www.aircrack-ng.org/doku.php?id=airserv-ng&amp;DokuWiki=2e2067eafa2d20e7d4012738d464c2d4" href="http://www.aircrack-ng.org/doku.php?id=airserv-ng&amp;DokuWiki=2e2067eafa2d20e7d4012738d464c2d4"><em>Airserv-ng</em></a> est un serveur de cartes wifi qui va permettre à de nombreuses applications (au moins celles de la suite aircrack-ng) d&#8217;utiliser la carte via une connexion TCP client-serveur.</p>
<p style="text-align: justify;">Son utilisation est assez triviale, nous allons le voir dans un petit exemple.</p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;">1 &#8211; Pré-requis</h2>
<p style="text-align: justify;">Pour notre exemple, nous utiliserons :</p>
<ul style="text-align: justify;">
<li>Une Fonera
<ul>
<li><a title="http://www.jopa.fr/index.php/2008/09/17/jouer-avec-%E2%80%9Cla-fonera%E2%80%A6%E2%80%9D-3eme-partie-openwrt-kamikaze/" href="http://www.jopa.fr/index.php/2008/09/17/jouer-avec-%E2%80%9Cla-fonera%E2%80%A6%E2%80%9D-3eme-partie-openwrt-kamikaze/">installée sous OpenWrt Kamikaze</a> (version 8.09),</li>
<li><em>aircrack-ng</em> installé  (version 1.0 rc1 r1142 : <span style="color: #800000;">opkg update &amp;&amp; opkg install aircrack-ng</span>),</li>
<li>l&#8217;interface ethernet configurée (192.168.1.1) :</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1315code23'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p131523"><td class="code" id="p1315code23"><pre class="ini" style="font-family:monospace;"># /etc/config/network
# Copyright <span style="">&#40;</span>C<span style="">&#41;</span> <span style="">2006</span> OpenWrt.org
&nbsp;
config interface loopback
        option ifname   lo
        option proto    static
        option ipaddr   127.0.0.1
        option netmask  255.0.0.0
&nbsp;
config interface lan
        option ifname   eth0
        option proto    static
        option ipaddr   192.168.1.1
        option netmask  255.255.255.0</pre></td></tr></table></div>

</li>
</ul>
<ul>
<li>l&#8217;interface wifi activée (/etc/config/wireless) :</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1315code24'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p131524"><td class="code" id="p1315code24"><pre class="ini" style="font-family:monospace;"># /etc/config/wireless
config wifi-device       wifi0
   option disabled           <span style="">0</span>
   option diversity          <span style="">0</span>
   option type           atheros
   option channel          auto
   option txantenna         <span style="">1</span>
   option rxantenna         <span style="">1</span></pre></td></tr></table></div>

<ul style="text-align: justify;">
<li>Un PC sous Debian Lenny
<ul>
<li><em>aircrack-ng</em> installé ( <span style="color: #800000;">apt-get update &amp;&amp; apt-get install aircrack-ng</span> ),</li>
<li>L&#8217;interface ethernet configurée (192.168.1.2) et connectée à la Fonera.</li>
</ul>
</li>
</ul>
<p style="text-align: justify;"><img class="size-full wp-image-1320 alignnone" title="fon_airserv-ng" src="http://www.jopa.fr/wp-content/uploads/2009/05/fon_airserv-ng.jpg" alt="fon_airserv-ng" width="307" height="205" /></p>
<h2 style="text-align: justify;">2 &#8211; Sur la fonera (le serveur)</h2>
<p>Commençons par passer la carte en mode monitor :</p>
<p><span style="color: #800000;">root@OpenWrt:~# airmon-ng start wifi0</span></p>
<p>Interface       Chipset         Driver</p>
<p>wifi0           Atheros         madwifi-ng<br />
ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)</p>
<p>Et lançons <em>airserv-ng</em> :</p>
<p><span style="color: #800000;">root@OpenWrt:~# airserv-ng -d ath0<br />
Opening card ath0<br />
Setting chan 1<br />
Opening sock port 666<br />
Serving ath0 chan 1 on port 666</span></p>
<p>Par défaut, le port utilisé est le <em>666 </em>et la carte wifi est positionnée sur le <em>channel 1</em>. Ces paramètres peuvent respectivement être changés par les options <em>-p</em> et <em>-c</em>.</p>
<h2>3 &#8211; Sur la station (le client)</h2>
<p>L&#8217;utilisation des outils sur le PC ne change que par le nom de l&#8217;interface <em>wifi </em>à utiliser. Il suffit tout simplement de préciser l&#8217;adresse IP du serveur, suivi du numéro de port TCP à la place du nom de l&#8217;interface :</p>
<p><em>192.168.1.1:666</em></p>
<p>Par exemple pour <em>airodump-ng</em> :</p>
<p><span style="color: #800000;"># airodump-ng 192.168.1.1:666</span><br />
CH  4 ][ Elapsed: 32 s ][ 2009-02-06 06:30</p>
<p>BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID</p>
<pre> 00:18:84:A0:FC:ED   45       40        0    0  11  54e. WPA2 CCMP   PSK  wjopa2
 00:18:84:24:1E:7D   43       81        0    0   1  54e. OPN              FON_LINET
 00:18:84:24:1E:7E   41       96        0    0   1  54e. WPA  TKIP   PSK  LINET_PRIV
 00:1E:37:96:F8:27   14       57        0    0  10  54e  WPA  TKIP   PSK  Livebox-461a</pre>
<pre> BSSID              STATION            PWR   Rate   Lost  Packets  Probe</pre>
<h2 style="text-align: justify;">4 &#8211; En conclusion&#8230;</h2>
<p style="text-align: justify;">L&#8217;intérêt d&#8217;un tel montage est, bien sûr, l&#8217;utilisation du matériel <em>wifi </em>dont est doté la Fonera, par une station qui en est dépourvu mais dispose d&#8217;un processeur bien plus performant. Outre c&#8217;est avantage, il n&#8217;est pas déplaisant de pouvoir transformer notre Fonera en sonde <em>wifi,</em> que nous pourrons connecter au plus près de notre point d&#8217;accès. Nous réaliserons ainsi nos tests, tranquillement, sans sortir du bureau et surtout, sans devoir répondre aux collègues qui se demandent pourquoi nous travaillons dans la cage d&#8217;escalier, un labtop sur les genoux&#8230; &#8211; Hum&#8230; Ils sont vraiment bizarres ces gars de l&#8217;info&#8230;-</p>
<p style="text-align: justify;">En terminant cet article, j&#8217;imagine, qu&#8217;en bidouillant un minimum, nous pourrions nous affranchir du transformateur secteur de la Fonera en l&#8217;alimentant grâce à une batterie, de l&#8217;usb ou pourquoi pas,  depuis un switch POE.  Décidément, c&#8217;est vraiment un beau jouet cette Fonera !!!</p>
<p style="text-align: justify;"> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/05/26/airserv-aircrack-ng-fonera/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Hé m&#8217;sieur m&#8217;sieur, moi aussi j&#8217;veux surfer plus vite avec Chromium !</title>
		<link>http://www.jopa.fr/index.php/2009/05/18/compiler-google-chrome/</link>
		<comments>http://www.jopa.fr/index.php/2009/05/18/compiler-google-chrome/#comments</comments>
		<pubDate>Mon, 18 May 2009 00:43:11 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Surf]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1289</guid>
		<description><![CDATA[&#171;&#160;Chromium&#160;&#187; est le projet à la base du nouveau navigateur à la mode : Google Chrome&#8230; Même ma tatie en parle et  il est tellement bien que si tu l&#8217;as pas&#8230; Pfeu ! T&#8217;es vraiment, mais alors vraiment has-been&#8230;  La version Linux étant en développement, il n&#8217;est pas évident de trouver des binaires facilement utilisables, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-1290" title="chromium-logo" src="http://www.jopa.fr/wp-content/uploads/2009/05/chromium-logo.png" alt="chromium-logo" width="145" height="64" />&laquo;&nbsp;Chromium&nbsp;&raquo; est le projet à la base du nouveau navigateur à la mode : <em>Google Chrome</em>&#8230; Même ma tatie en parle et  il est tellement bien que si tu l&#8217;as pas&#8230; Pfeu ! T&#8217;es vraiment, mais alors vraiment <a title="http://hasbeen.free.fr/" href="http://hasbeen.free.fr/">has-been</a>&#8230;  La version Linux étant en développement, il n&#8217;est pas évident de trouver des binaires facilement utilisables, mais comme le projet se veut Open-Source, nous allons pouvoir nous coller à sa compilation&#8230; Puis finalement, en bons geeks que nous sommes, nous aimons bien compiler des trucs&#8230;<br />
<span id="more-1289"></span><br />
Nous allons commencer par installer quelques paquets indispensables au bon déroulement des opérations :</p>
<p><span style="color: #800000;">$ sudo apt-get install subversion pkg-config python perl g++ bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev<br />
</span><br />
Si comme moi, vous jouissez d&#8217;une distribution 64 bits :</p>
<p><span style="color: #800000;">$ sudo apt-get install gcc-multilib g++-multilib gobjc-multilib gobjc++-multilib</span></p>
<p>Et en option :</p>
<p><span style="color: #800000;">$ sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts</span></p>
<p>Nous allons ensuite installer les utilitaires nécessaires pour l&#8217;accès au<em> SVN</em> google ( depot tools ) :<br />
<span style="color: #800000;"><br />
$ mkdir CHROME<br />
$ cd CHROME<br />
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools</span></p>
<p>Et récupérer les sources :</p>
<p><span style="color: #993300;">$ </span><span style="color: #800000;"><span style="color: #993300;">export LANG=C</span><br />
$ depot_tools/gclient config http://src.chromium.org/svn/trunk/src http://chromium-status.appspot.com/lkgr<br />
$ depot_tools/gclient sync</span></p>
<p><em>gclient</em> va rapatrier un peu plus de 3 Go ( C&#8217;est que ce n&#8217;est pas du code de fillette tout ça ! ) &#8230;</p>
<p><span style="color: #808080;">Révision 43806 extraite.</span></p>
<p><span style="color: #808080;">________ running &#8216;/usr/bin/python src/tools/gyp/gyp_dogfood src/build/all.gyp&#8217; in &#8216;/usr/local/src/CHROME<br />
Updating projects from gyp files&#8230;</span></p>
<p>A ce stade, j&#8217;en suis à me demander comment, avec un code source de 3Go, je vais obtenir un navigateur réputé pour sa légèreté et sa rapidité d&#8217;exécution&#8230; Même si, par défaut, les sources incluent toutes les plateformes, les librairies utilisées et tout un tas de bazard&#8230;</p>
<p>Pour le savoir, le mieux est de lancer la compil :</p>
<p><span style="color: #993300;">$  cd src/build<br />
$ ../../depot_tools/hammer</span></p>
<p>Par defaut, <em>chromium</em> est compilé en mode debug et c&#8217;est plutôt logique pour une version de developpement. Pour forcer le mode release :</p>
<p><span style="color: #800000;">$ ../../depot_tools/hammer &#8211;mode=Release</span></p>
<p><span style="color: #993300;"><span style="color: #000000;">Les binaires sont placés dans le répertoire<em> src/sconsbuild/debug</em> ou <em>srv/sconsbuild/release</em> suivant le mode compilé.</span></span></p>
<p><span style="color: #800000;">$ CHROME/src/sconsbuild/release/chrome</span></p>
<p><span style="color: #000000;">Comme vous le verrez sur la page de démarrage, ornée d&#8217;un immanquable panneau stop rouge, le navigateur est en version <em>pre-alpha</em>&#8230; En bref, ne vous attendez pas à quelque chose de très stable&#8230;</span></p>
<p><img class="aligncenter size-full wp-image-1298" title="capture-chromium-alpha-warning-chromium" src="http://www.jopa.fr/wp-content/uploads/2009/05/capture-chromium-alpha-warning-chromium.png" alt="capture-chromium-alpha-warning-chromium" width="640" height="701" /></p>
<p>Pour plus d&#8217;informations, vous pouvez consulter les instruction de compilation, sur le <a title="http://code.google.com/p/chromium/wiki/LinuxBuildInstructions" href="http://code.google.com/p/chromium/wiki/LinuxBuildInstructions">wiki officiel : http://code.google.com/p/chromium/wiki/LinuxBuildInstructions</a></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1300" title="capture-new-tab-chromium" src="http://www.jopa.fr/wp-content/uploads/2009/05/capture-new-tab-chromium.png" alt="capture-new-tab-chromium" width="512" height="384" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/05/18/compiler-google-chrome/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Bases d&#8217;un firewall sur serveur dédié avec Netfilter (iptables)</title>
		<link>http://www.jopa.fr/index.php/2008/09/26/bases-dun-firewall-sur-serveur-dedie-avec-netfilter-iptables/</link>
		<comments>http://www.jopa.fr/index.php/2008/09/26/bases-dun-firewall-sur-serveur-dedie-avec-netfilter-iptables/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 00:14:17 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=231</guid>
		<description><![CDATA[Notre serveur dédié se sent un peu nu sur Internet et pour cause : il n&#8217;est doté d&#8217;aucun filtrage IP. Il faudrait rapidement lui injecter, à l&#8217;aide d&#8217;iptables, quelques règles netfilter afin de le protéger un minimum. Nous allons créer un script contenant les règles à mettre en place. Ce script sera lancé au démarrage [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-thumbnail wp-image-219" title="mur" src="http://www.jopa.fr/wp-content/uploads/2008/09/mur-150x150.jpg" alt="" width="129" height="129" />Notre serveur dédié se sent un peu nu sur Internet et pour cause : il n&#8217;est doté d&#8217;aucun filtrage IP. Il faudrait rapidement lui injecter, à l&#8217;aide d&#8217;<em>iptables, </em>quelques règles <em>netfilter</em> afin de le protéger un minimum.</p>
<p style="text-align: justify;">Nous allons créer un script contenant les règles à mettre en place. Ce script sera lancé au démarrage du serveur.</p>
<p style="text-align: justify;"><span id="more-231"></span></p>
<h2>Initialisation</h2>
<p>La toute première étape va consister à vider les tables :</p>
<pre><span style="color: #800000;"># RAZ DES TABLES
iptables -t filter -F
iptables -t filter -X</span>
 .</pre>
<p>Les connexions existantes ne doivent pas être cassées&#8230; C&#8217;est utile sur un serveur dédié, pour ne pas perdre la main.</p>
<pre><span style="color: #800000;"># Ne pas casser les connexions établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</span>
 .</pre>
<p>Comme toujours quand on parle de sécurité, nous allons commencer par tout interdire. Aucun paquet, qu&#8217;il soit entrant, sortant ou routé par le serveur ne doit passer.</p>
<pre><span style="color: #800000;"># Interdire tous les paquets...tous...
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP</span>
 .</pre>
<p>A nous maintenant d&#8217;autoriser le trafic nécessaire&#8230; Et seulement le trafic nécessaire.  Nous allons, dans l&#8217;ordre, étudier les connexions entrante, sortantes et éventuellement celles susceptibles d&#8217; être routées par la machine; C&#8217;est relativement rare pour un serveur dédié, mais possible, dans le cas de VPN par exemple.</p>
<h2>Règles pour les paquets entrants</h2>
<p style="text-align: center;"><em>Quels services sont fournis par le serveur ?</em></p>
<ul>
<li>Un serveur WEB,</li>
</ul>
<pre><span style="color: #800000;"># HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT</span>
.</pre>
<ul>
<li>Un serveur VPN (OpenVPN) pour un client dont l&#8217;adresse IP est XXX.XXX.XXX.XXX,</li>
</ul>
<pre><span style="color: #800000;"># OpenVPN
iptables -t filter -A INPUT -p udp --dport 1194 -s XXX.XXX.XXX.XXX -j ACCEPT</span>
.</pre>
<ul>
<li>Un serveur de mails,</li>
</ul>
<pre><span style="color: #800000;"># SMTP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT</span>
.</pre>
<ul>
<li>Les boites mails sont accessibles en POP et IMAP, mais depuis le VPN uniquement,</li>
</ul>
<pre><span style="color: #800000;"># POP3
iptables -t filter -A INPUT  -i tun+ -p tcp --dport 110 -j ACCEPT
# IMAP
iptables -t filter -A INPUT -i tun+ -p tcp --dport 143 -j ACCEPT</span>
.</pre>
<ul>
<li>De même, un serveur DNS est disponible pour les machines du vpn,</li>
</ul>
<pre><span style="color: #800000;"># DNS en Entrée
iptables -t filter -A INPUT -i tun+ -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -i tun+ -p udp --dport 53 -j ACCEPT</span>
.</pre>
<ul>
<li>Pour être conforme au RFC, le serveur répond aux requêtes ICMP (ping),</li>
</ul>
<pre><span style="color: #800000;"># ICMP
iptables -t filter -A INPUT -p icmp -j ACCEPT</span>
.</pre>
<ul>
<li>N&#8217;oublions pas SSH&#8230; Ca peut toujours servir,</li>
</ul>
<pre><span style="color: #800000;"># SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT</span>
.</pre>
<ul>
<li>Enfin, aucune restriction n&#8217;est appliquée pour l&#8217;interface Loopback (Localhost)</li>
</ul>
<pre><span style="color: #800000;"># LOOPBACK
iptables -t filter -A INPUT -i lo -j ACCEPT</span>
.</pre>
<h2>Règles pour les paquets sortants</h2>
<p style="text-align: center;"><em>Quels services sont nécessaires au serveur ?</em></p>
<ul>
<li>Le serveur doit pouvoir envoyer des requêtes DNS,</li>
</ul>
<pre><span style="color: #800000;"># DNS
iptables -t filter -A OUTPUT  -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT  -p udp --dport 53 -j ACCEPT</span>
.</pre>
<ul>
<li>Disposer d&#8217;un accès HTTP ( utile pour les mises à jour ),</li>
</ul>
<pre><span style="color: #800000;"># HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT</span>
.</pre>
<ul>
<li>Ssh est autorisé en sortie,</li>
</ul>
<pre><span style="color: #800000;"># SSH
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT</span>
.</pre>
<ul>
<li>Envoyer des mails,</li>
</ul>
<pre><span style="color: #800000;"># SMTP
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT</span>
.</pre>
<ul>
<li>Récupérer des mails sur un compte POP3 par l&#8217;intermédiaire de <em>fetchmail,</em></li>
</ul>
<pre><span><span style="color: #800000;"># POP3
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT</span></span>
.</pre>
<ul>
<li>Pinguer (ben tiens !),</li>
</ul>
<pre><span style="color: #800000;"># ICMP
iptables -t filter -A OUTPUT -t icmp -j ACCEPT</span>
.</pre>
<ul>
<li>Etablir une connexion OpenVPN vers un autre serveur dont l&#8217;adresse IP est YYY.YYY.YYY.YYY : Ce serveur interconnecte un VPN dont il est le serveur avec un VPN dont il est client,</li>
</ul>
<pre><span style="color: #800000;"># VPN
iptables -t filter -A OUTPUT -p udp --dport 1194 -d YYY.YYY.YYY.YYY -j ACCEPT</span>
.</pre>
<ul>
<li>Enfin, aucune restriction sur l&#8217;interface loopback,</li>
</ul>
<pre><span style="color: #800000;"># LOOPBACK
iptables -t filter -A OUTPUT -o lo -j ACCEPT</span>
.</pre>
<h2>Règle pour les paquets traversants (routés)</h2>
<ul>
<li>Ce serveur interconnecte deux VPN, on ne souhaite pas filter le trafic d&#8217;un VPN vers l&#8217;autre,</li>
</ul>
<pre><span style="color: #800000;"># VPN2VPN
iptables -t filter -A FORWARD -i tun+ -o tun+ -j ACCEPT
</span>
.</pre>
<h2><span style="color: #800000;">Syn flood, spoofing et compagnie&#8230;</span></h2>
<p>Pour finir, ajoutons quelques règles pour limiter tout ça, quelques traces dans les logs et le tour sera joué&#8230;</p>
<ul>
<li>Limitation du syn flood</li>
</ul>
<pre><span style="color: #800000;"># Syn Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp  -m limit --limit 1/second -j ACCEPT</span>
.</pre>
<ul>
<li>&laquo;&nbsp;Anti-spoofing&nbsp;&raquo;</li>
</ul>
<pre><span style="color: #800000;"># Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP</span>
.</pre>
<ul>
<li>Log des paquets rejetés dans syslog</li>
</ul>
<pre><span style="color: #800000;"># LOG des paquets rejetés
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP]:'
iptables -A LOG_DROP -j DROP
iptables -t filter -A INPUT -j LOG_DROP
iptables -t filter -A OUTPUT -j LOG_DROP
iptables -t filter -A FORWARD -j LOG_DROP</span>
.</pre>
<p>Voilà, ce n&#8217;est pas trop mal  pour un début ; ) Ci-dessous, le script &laquo;&nbsp;recollé&nbsp;&raquo; :</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p231code26'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p23126"><td class="code" id="p231code26"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">##########</span>
<span style="color: #666666; font-style: italic;">## INIT ##</span>
<span style="color: #666666; font-style: italic;">##########</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># RAZ DES TABLES</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-F</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-X</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Ne pas casser les connexions établies</span>
iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> RELATED,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> RELATED,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;"># Interdire tous les paquets...tous...</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-P</span> INPUT DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-P</span> FORWARD DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-P</span> OUTPUT DROP
&nbsp;
<span style="color: #666666; font-style: italic;">###########</span>
<span style="color: #666666; font-style: italic;">## INPUT ##</span>
<span style="color: #666666; font-style: italic;">###########</span>
<span style="color: #666666; font-style: italic;"># HTTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">80</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># OpenVPN</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">1194</span> <span style="color: #660033;">-s</span> XXX.XXX.XXX.XXX <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SMTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">25</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># POP3</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT  <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">110</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># IMAP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">143</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># DNS en Entrée</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># ICMP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> icmp <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SSH</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># LOOPBACK</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> lo <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;">############</span>
<span style="color: #666666; font-style: italic;">## OUTPUT ##</span>
<span style="color: #666666; font-style: italic;">############</span>
<span style="color: #666666; font-style: italic;"># DNS</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT  <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT  <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">53</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># HTTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">80</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SSH</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># SMTP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">25</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># POP3</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">110</span> <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># ICMP</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-t</span> icmp <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># VPN</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> udp <span style="color: #660033;">--dport</span> <span style="color: #000000;">1194</span> <span style="color: #660033;">-d</span> YYY.YYY.YYY.YYY <span style="color: #660033;">-j</span> ACCEPT
<span style="color: #666666; font-style: italic;"># LOOPBACK</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-o</span> lo <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;">## FORWARD ##</span>
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;"># VPN2VPN</span>
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-i</span> tun+ <span style="color: #660033;">-o</span> tun+ <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;">## FINITIONS ##</span>
<span style="color: #666666; font-style: italic;">###############</span>
<span style="color: #666666; font-style: italic;"># Syn Flood</span>
iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--syn</span> <span style="color: #660033;">-m</span> limit <span style="color: #660033;">--limit</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>second <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-p</span> udp  <span style="color: #660033;">-m</span> limit <span style="color: #660033;">--limit</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>second <span style="color: #660033;">-j</span> ACCEPT
&nbsp;
<span style="color: #666666; font-style: italic;"># Spoofing</span>
iptables <span style="color: #660033;">-N</span> SPOOFED
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 127.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 169.254.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> SPOOFED <span style="color: #660033;">-s</span> 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> <span style="color: #660033;">-j</span> DROP
&nbsp;
<span style="color: #666666; font-style: italic;"># LOG des paquets rejetés</span>
iptables <span style="color: #660033;">-N</span> LOG_DROP
iptables <span style="color: #660033;">-A</span> LOG_DROP <span style="color: #660033;">-j</span> LOG <span style="color: #660033;">--log-prefix</span> <span style="color: #ff0000;">'[IPTABLES DROP]:'</span>
iptables <span style="color: #660033;">-A</span> LOG_DROP <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-j</span> LOG_DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-j</span> LOG_DROP
iptables <span style="color: #660033;">-t</span> filter <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-j</span> LOG_DROP</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/09/26/bases-dun-firewall-sur-serveur-dedie-avec-netfilter-iptables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

