<?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>Antoine Benkemoun &#187; Sécurité</title>
	<atom:link href="http://www.antoinebenkemoun.fr/tag/securite/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antoinebenkemoun.fr</link>
	<description>Sécurité informatique, Virtualisation, Administration système et Réseaux</description>
	<lastBuildDate>Thu, 02 Sep 2010 09:30:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Gérer les règles iptables d&#8217;un parc de serveurs : Netfilter Manager</title>
		<link>http://www.antoinebenkemoun.fr/2010/08/gerer-les-regles-iptables-dun-parc-de-serveurs-netfilter-manager/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/08/gerer-les-regles-iptables-dun-parc-de-serveurs-netfilter-manager/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 12:41:25 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[netfilter-manager]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1282</guid>
		<description><![CDATA[Cet article va pouvoir expliquer une partie de l&#8217;absence d&#8217;activité sur ce blog dernièrement. Avant de rentrer dans le vif du sujet, je tiens à prévenir du fait que je ne suis pas, à la base, un développeur et donc que je débute dans le domaine de développement applicatif et du développement Open Source. Soyez-donc [...]]]></description>
			<content:encoded><![CDATA[<p>Cet article va pouvoir expliquer une partie de l&#8217;absence d&#8217;activité sur ce blog dernièrement. Avant de rentrer dans le vif du sujet, je tiens à prévenir du fait que je ne suis pas, à la base, un développeur et donc que je débute dans le domaine de développement applicatif et du développement Open Source. Soyez-donc indulgent si je fais des erreurs &laquo;&nbsp;de base&nbsp;&raquo;.</p>
<h3>Problématique</h3>
<p>Le besoin initial de cette application est la gestion des règles iptables d&#8217;un parc de machines. En tant qu&#8217;administrateurs système, nous ne retrouvons régulièrement à gérer des scripts iptables sur divers serveurs. Lorsqu&#8217;on gère 5-10 serveurs, la gestion à la main reste acceptable. Cependant, dès que l&#8217;on commence à gérer plus de serveurs, ca commence à devenir réellement long et fastidieux. Et qui dit fastidieux dit fort potentiel d&#8217;erreurs.</p>
<p>J&#8217;ai donc entrepris de créer une application qui permettrait de gérer tout ca de manière un peu plus automatisée. L&#8217;application Netfilter Manager est donc née. Le nom est pas tout à fait extraordinaire mais ca représente à peu près ce que ca fait.</p>
<h3>Présentation</h3>
<p>Netfilter Manager utilise donc une interface en ligne de commande afin de pouvoir gérer un lot d&#8217;hôtes et les règles associées. Cette CLI est inspirée quelque peu de la CLI Cisco pour ceux qui ont déjà eu <span style="text-decoration: line-through;">la chance</span> l&#8217;occasion de l&#8217;utiliser. La licence de l&#8217;application est GPLv3. J&#8217;avoue ne pas être un expert dans le domaine des licences de logiciel mais c&#8217;est une des plus répandues et le peu que j&#8217;en connais me convient.</p>
<p>Chaque hôte dispose d&#8217;un nom et d&#8217;une adresse IP. A la place de l&#8217;adresse IP, on peut bien sûr utiliser un nom DNS que le serveur de gestion saura résoudre. L&#8217;application ne supporte que pour l&#8217;instant Iptables, il n&#8217;est donc pas encore possible de sélectionner un type d&#8217;hôte mais c&#8217;est une fonctionnalité envisageable.</p>
<p>Les règles sont ajoutées hôte par hôte et peuvent être organisées par ligne. Par défaut, les règles que vous ajoutées sont ajoutés à la suite des règles existantes. Il est possible de gérer plus finement l&#8217;ordonnancement des règles en utilisant la gestion par ligne. Chaque ligne peut comporter plusieurs règles et les règles seront appliquées dans l&#8217;ordre croissant des lignes. Ce comportement est très similaire au mode de fonctionnement des access-list Cisco.</p>
<p>Voici un petit exemple d&#8217;utilisation :</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/screen1-nm.png"><img class="size-full wp-image-1287 aligncenter" title="screen1-nm" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/screen1-nm.png" alt="" width="505" height="338" /></a></p>
<p>Il est également possible de créer des lots de règles grâce à un moteur de template dont l&#8217;utilisation est expliquée dans le <a href="http://github.com/antoinebk/Netfilter-Manager/blob/master/README">README</a>. Vous trouverez un exemple de template dans le fichier <em>cobalt.tpl</em> présent dans le répertoire <em>templates</em>.</p>
<p>Une fois que vous avez créé toutes les règles de firewall, vous allez pouvoir les &laquo;&nbsp;pousser&nbsp;&raquo; vers vos serveurs. Un script contenant les règles est généré en prenant les règles que vous avez spécifié et en ajoutant au début le contenu du fichier <em>start.tpl</em>. Par défaut, ce fichier contient des règles permettant de supprimer les règles iptables actuellement utilisées.</p>
<p>Pour en savoir plus sur l&#8217;utilisation de l&#8217;application, la commande <em>help</em> devrait pour vous aider. Sinon je vous conseille de lire le <a href="http://github.com/antoinebk/Netfilter-Manager/blob/master/README">README</a> (en anglais pour l&#8217;instant). J&#8217;espère que les explications sont claires et vous permettront de réussir à utiliser l&#8217;application. Si ce n&#8217;est pas le cas, vous pouvez me le faire savoir soit par ce blog soit par le <a href="http://github.com/antoinebk/Netfilter-Manager/issues">bugtracker</a> de github.</p>
<h3>Bonus</h3>
<p>En petit bonus, j&#8217;ai ajouté la possibilité de créer des règles en utilisant la syntaxe Cisco. Pour l&#8217;instant, seuls les règles IP sont supportées mais les règles TCP/UDP devraient également être supportées par la suite. Dans le mode ajout, il faut utiliser la commande <em>access-list</em>. Un page d&#8217;aide a été spécifiquement ajouté, vous pouvez y accéder en tapant <em>access-list help</em>. Je ne suis pas sûr que ce soit d&#8217;une utilité débordante mais ca m&#8217;a bien amusé de le coder.</p>
<h3>Code</h3>
<p>Tout le code de l&#8217;application est disponible sur <a href="http://github.com/antoinebk/Netfilter-Manager">github</a>. Vous pouvez télécharger la version courante de l&#8217;application en cliquant sur <a href="http://github.com/antoinebk/Netfilter-Manager/archives/master">ce lien</a>.</p>
<p>Si vous souhaitez contribuer, vous êtes les bienvenus. Tout se passe via le git proposé par github. L&#8217;application est faite en Python et j&#8217;ai essayé de rendre le code le plus lisible possible. Si vous souhaitez effectuer des remontées de bugs ou me donner votre avis, vous pouvez le faire sur ce blog ou sur <a href="http://github.com/antoinebk/Netfilter-Manager/issues">github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/08/gerer-les-regles-iptables-dun-parc-de-serveurs-netfilter-manager/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Génération de certifications OpenVPN par lots avec pkitool</title>
		<link>http://www.antoinebenkemoun.fr/2010/08/generation-de-certifications-openvpn-par-lots-avec-pkitool/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/08/generation-de-certifications-openvpn-par-lots-avec-pkitool/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 08:37:48 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1275</guid>
		<description><![CDATA[Ce blog n&#8217;est pas particulièrement actif ces derniers temps comme vous pouvez le remarquer. Surement une petite baisse de motivation de ma part mais également les vacances. Aujourd&#8217;hui ce sera donc un petit article simple mais efficace. En Avril, j&#8217;avais écrit un petit billet sur la génération de certificats OpenVPN par lots ce qui est [...]]]></description>
			<content:encoded><![CDATA[<p>Ce blog n&#8217;est pas particulièrement actif ces derniers temps comme vous pouvez le remarquer. Surement une petite baisse de motivation de ma part mais également les vacances. Aujourd&#8217;hui ce sera donc un petit article simple mais efficace.</p>
<p>En Avril, j&#8217;avais écrit un petit billet sur la génération de certificats OpenVPN par lots ce qui est bien pratique lorsqu&#8217;on doit en générer une quantité importante. J&#8217;ai à nouveau rencontré cette problématique mais dans un contexte légèrement différent. Sous Ubuntu Server 10.04, le jeu d&#8217;outils Easy-RSA d&#8217;OpenVPN n&#8217;utilisent plus OpenSSL directement mais utilisent <em>pkitool</em> qui ne semble être qu&#8217;un intermédiaire de simplification.</p>
<p>Du coup, le script donné précédemment n&#8217;est plus valable. Il a donc fallu trouver une parade assez simple mais non moins fonctionnelle. La solution adaptée à <em>pkitool</em> ne tient plus qu&#8217;en un seul script qui est le suivant.</p>
<blockquote>
<div id="_mcePaste">#! /bin/bash</div>
<div id="_mcePaste"># Make a certificate/private key pair using a locally generated</div>
<div id="_mcePaste"># root certificate.</div>
<div id="_mcePaste">export EASY_RSA=&nbsp;&raquo;`pwd`&nbsp;&raquo;</div>
<div id="_mcePaste">export OPENSSL=&nbsp;&raquo;openssl&nbsp;&raquo;</div>
<div id="_mcePaste">export PKCS11TOOL=&nbsp;&raquo;pkcs11-tool&nbsp;&raquo;</div>
<div id="_mcePaste">export GREP=&nbsp;&raquo;grep&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`</div>
<div id="_mcePaste">export KEY_DIR=&nbsp;&raquo;$EASY_RSA/keys&nbsp;&raquo;</div>
<div id="_mcePaste">export PKCS11_PIN=&nbsp;&raquo;dummy&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_SIZE=1024</div>
<div id="_mcePaste">export CA_EXPIRE=3650</div>
<div id="_mcePaste">export KEY_EXPIRE=3650</div>
<div id="_mcePaste">export KEY_COUNTRY=&nbsp;&raquo;FR&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_PROVINCE=&nbsp;&raquo;FR&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_CITY=&nbsp;&raquo;Paris&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_ORG=&nbsp;&raquo;Antoine-Corp&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_EMAIL=&nbsp;&raquo;me@myhost.mydomain&nbsp;&raquo;</div>
<div id="_mcePaste">export KEY_CNAME=$1</div>
<div id="_mcePaste">export EASY_RSA=&nbsp;&raquo;${EASY_RSA:-.}&nbsp;&raquo;</div>
<div id="_mcePaste">&laquo;&nbsp;$EASY_RSA/pkitool&nbsp;&raquo; $*</div>
</blockquote>
<p>Le tour est joué ! Vu que WordPress (ou plutôt de ces modules/thèmes) remplace les quotes par des guillemets impossibles à copier/coller dans un shell, je vous mets à disposition une <a href="http://www.antoinebenkemoun.fr/data/generatecertifpkitool.bash">version en texte brut</a> jusqu&#8217;à ce que j&#8217;ai réussi à résoudre ce problème assez agaçant.</p>
<p>Au final, ce script devrait vous être utile pour générer rapidement des certifications OpenVPN à la pelle et ainsi vous simplifier la vie.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/08/generation-de-certifications-openvpn-par-lots-avec-pkitool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La sécurité de la virtualisation : vulnérabilités</title>
		<link>http://www.antoinebenkemoun.fr/2010/08/la-securite-de-la-virtualisation-vulnerabilites/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/08/la-securite-de-la-virtualisation-vulnerabilites/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 15:42:08 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1245</guid>
		<description><![CDATA[Je sais, je sais ! Le précédent article est intitulé &#171;&#160;La sécurité de la virtualisation : suite et fin&#160;&#187; induisant donc la fin de cette série de billets. Ce ne sera cependant pas le cas. Je souhaiterai aller un peu plus loin sur ce sujet particulièrement intéressant qu&#8217;est la sécurité des systèmes de virtualisation. Depuis [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="" width="157" height="140" /></a>Je sais, je sais ! Le précédent article est intitulé &laquo;&nbsp;<a href="http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/">La sécurité de la virtualisation : suite et fin</a>&nbsp;&raquo; induisant donc la fin de cette série de billets. Ce ne sera cependant pas le cas. Je souhaiterai aller un peu plus loin sur ce sujet particulièrement intéressant qu&#8217;est la sécurité des systèmes de virtualisation. Depuis mon retour de vacances, j&#8217;ai eu l&#8217;occasion de lire divers documents très intéressants à ce sujet et d&#8217;y réfléchir longuement.</p>
<p style="text-align: left;">Dans les billets précédents, l&#8217;objectif avait été de proposer quelques ajustements vis à vis de la conférence sur la sécurité de la virtualisation lors de la <a href="http://www.nuitduhack.com/">Nuit de Hack</a>. Ces articles s&#8217;étaient donc voulus plutôt rassurants cependant il est nécessaire de mitiger ce portrait. Les risques liés à la sécurité de la virtualisation existent bien. Affirmer le contraire serait au mieux une vulgaire erreur.</p>
<p>Nous allons aujourd&#8217;hui nous intéresser aux vulnérabilités qui ont déjà été trouvées dans des produits de virtualisation et leurs implications.</p>
<h3><strong>Xen</strong></h3>
<p>Nous allons premièrement nous intéresser au produit Xen open source. Le produit Citrix est un produit hybride s&#8217;inspirant largement du produit open source mais disposant de nombreuses modifications qui dépassent le périmètre de ce dernier. La conception de Xen se veut sécurisée par le biais, notamment, de l&#8217;utilisation des différents <a href="http://www.antoinebenkemoun.fr/2009/08/les-anneaux-de-protection/">anneaux de protection système</a>. Son histoire n&#8217;est cependant pas exempte de vulnérabilités.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.50.png"><img class="size-full wp-image-1258 aligncenter" title="Capture d’écran 2010-08-04 à 17.51.50" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.50.png" alt="" width="368" height="65" /></a></p>
<p>La plus grosse vulnérabilité de Xen date de Septembre 2007. Il s&#8217;agissait d&#8217;une faille qui permettait à un domU d&#8217;exécuter des commandes dans le dom0 lors de l&#8217;utilisation de l&#8217;outil pygrub. L&#8217;outil pygrub permet à un domU de disposer d&#8217;un bootloader similaire à celui que l&#8217;on peut trouver sur une machine physique classique. Cette faille est extrêmement problématique dans la mesure où le dom0 est un domaine exceptionnellement sensible qui dispose de très nombreuses interactions directes avec le matériel et l&#8217;hyperviseur. Vous pourrez trouver plus d&#8217;informations sur cette faille sur l&#8217;<a href="http://osvdb.org/show/osvdb/41340">OSVDB</a>.</p>
<p>D&#8217;autres vulnérabilités ont été trouvées dans Xen permettant à un domU de sortir de son isolation. La plupart de ces failles nécessitent des conditions très particulières afin d&#8217;être exploitables ou ne permettent au mieux qu&#8217;un DoS local. La liste des failles est disponible sur l&#8217;<a href="http://osvdb.org/search?search[vuln_title]=xen&amp;search[text_type]=alltext">OSVDB</a>.</p>
<h3>VMWare</h3>
<p>Nous allons ensuite nous intéresser au produit VMWare. La <a href="http://osvdb.org/search?search[vuln_title]=vmware&amp;search[text_type]=titles">liste des vulnérabilités</a> pour ce produit est nettement plus longue avec un net pic en 2008. Le plus grand nombre de vulnérabilités s&#8217;explique surement en partie par la grande étendue des produits VMWare qui incluent aussi bien l&#8217;hyperviseur que tous les outils de gestion associés (Virtual Center, Service Console, &#8230;).</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.41.png"><img class="size-full wp-image-1259 aligncenter" title="Capture d’écran 2010-08-04 à 17.51.41" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.41.png" alt="" width="368" height="115" /></a></p>
<p>Parmi toutes ces vulnérabilités, on en recense 4 qui permettent une violation de l&#8217;isolation des machines virtuelles. Ces élévations de privilèges se font à travers les VMWare Tools quant il s&#8217;agit de machines virtuelles ou à travers les produits connexes à l&#8217;hyperviseurs.</p>
<h3>Conclusion</h3>
<p>Les produits de virtualisation ne sont clairement pas exempts de vulnérabilités quoi que l&#8217;on puisse dire. L&#8217;impact d&#8217;une vulnérabilité sur une plateforme de virtualisation sera largement plus important par rapport à une architecture classique. Il est cependant nécessaire de nuancer ces propos. De nombreuses mesures sont prises afin d&#8217;éviter que ces vulnérabilités puissent avoir un impact quelconque sur le reste de la plateforme. De plus jusqu&#8217;à présent, l&#8217;impact des failles de sécurité est relativement minime et leur fréquence plutôt faible. Il convient donc de rester vigilant aux évolutions des plateformes de virtualisation en matière de sécurité.</p>
<p>Pour en savoir plus, je vous conseille la <a href="http://www.hsc.fr/ressources/presentations/clusif-virtualisation/index.html.fr">présentation de Julien Raeis et Nicolas Collignon</a> à ce sujet. Les deux tableaux récapitulatifs présents dans cet article sont extraits de cette présentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/08/la-securite-de-la-virtualisation-vulnerabilites/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>La sécurité de la virtualisation : suite et fin</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 22:01:53 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1223</guid>
		<description><![CDATA[Cet article complète le précédent sur le sujet de la sécurité de la virtualisation en abordant l&#8217;aspect réseau de stockage et essaye de présenter les risques réels de sécurité des plateformes de virtualisation. Il s&#8217;agira également du dernier billet sur ce sujet bien que je compte revenir sur ce sujet par la suite. La sécurisation [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="" width="157" height="140" /></a>Cet article complète le <a href="http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/">précédent</a> sur le sujet de la sécurité de la virtualisation en abordant l&#8217;aspect réseau de stockage et essaye de présenter les risques réels de sécurité des plateformes de virtualisation. Il s&#8217;agira également du dernier billet sur ce sujet bien que je compte revenir sur ce sujet par la suite.</p>
<h3>La sécurisation du stockage</h3>
<p>La virtualisation n&#8217;ajoute pas de risque particulier à partir du moment où l&#8217;on suppose que l&#8217;attaquant dispose d&#8217;un accès physique aux données. Ce type d&#8217;exploit est donc uniquement inhérent au stockage sur disque.</p>
<p>Les réseaux de stockage en Fibrechannel n&#8217;ajoutent également pas de risque particulier. Seul les hyperviseurs ont accès aux supports de stockage distribués par le réseau de stockage. De plus, il est possible de gérer finement les accès aux différents supports de disque par les biais des techniques de &laquo;&nbsp;zoning&nbsp;&raquo;. Le zoning est une technique équivalente aux &laquo;&nbsp;Private VLAN&nbsp;&raquo; de Cisco dans le cas des réseaux Ethernet.</p>
<p>Contrairement à ce qui a été présenté Samedi dernier, la connexion des équipements Fibrechannel au réseau Ethernet n&#8217;ouvre pas de faille supplémentaire. Il n&#8217;est pas possible d&#8217;utiliser cette interface pour accéder aux données transitant sur le réseau de stockage. L&#8217;interface Ethernet permet uniquement d&#8217;accéder aux informations de configuration du commutateur.</p>
<p>Supposons qu&#8217;il soit possible d&#8217;accéder aux données transitant sur le réseau Fibrechannel par le biais de cette interface Ethernet. Toute tentative de spoofing d&#8217;adresse MAC serait parfaitement inutile car les réseaux Fibrechannel n&#8217;utilisent pas d&#8217;adresses MAC mais des WWN qui n&#8217;ont rien à voir. Les protocoles de communication sont différents et ne sont pas compatibles.</p>
<p>Cette problématique est cependant intéressante dans le cas des réseaux iSCSI qui n&#8217;ont même pas été mentionnés. Il n&#8217;est absolument pas souhaitable que les LAN iSCSI soient routables vers d&#8217;autres réseaux. Il est même recommandé d&#8217;avoir des équipements uniquement dédiés aux fonctionnalités iSCSI dans la mesure du possible.</p>
<h3>Récapitulons&#8230;</h3>
<p>Les potentielles interfaces d&#8217;attaque vers les hyperviseurs sont très peu nombreuses. Dans le cas de la virtualisation totale et de la virtualisation matérielle assistée, ces interfaces sont même inexistantes. Dans le cas des interfaces de paravirtualisation, leur utilisation est standardisée par le biais d&#8217;API mais la découverte de failles reste envisageable bien qu&#8217;aucune n&#8217;ait été trouvée à ce jour.</p>
<p>Les mécanismes de DoS sont régulés voire supprimés par les mécanismes classiques d&#8217;ordonnancement présents dans toutes les solutions de virtualisation.</p>
<h3>Quels sont les risques ?</h3>
<p>Les risques réels de sécurité inhérents aux plateformes de virtualisation se situent, d&#8217;une part, au niveau des interface de gestion. Les interfaces de gestion ne sont pas propres à la virtualisation mais leur utilisation dans ce cas particulier est généralisé.</p>
<p>L&#8217;accès aux interfaces de gestion doivent être sécurisés par les mécanismes réseau traditionnels ainsi que par le biais de méthodes d&#8217;authentification. Dans le cas d&#8217;une compromission de ces interfaces, les données  et l&#8217;accès aux machines virtuelles reste indemne. Les interfaces ne disposent généralement pas d&#8217;accès particulier aux données, elles disposent uniquement d&#8217;une vue globale permettant la configuration des supports de stockage. En ce qui concerne l&#8217;accès aux VM, il reste protégé par les protections classiques telles que le couple login et mot de passe. Le passage dans des modes plus privilégiés attireraient inévitablement l&#8217;attention car cela nécessiterait des redémarrages non planifiés.</p>
<h3>Conclusion</h3>
<p>Traditionnellement, on considère qu&#8217;une technologie est sécurisée jusqu&#8217;à preuve du contraire. Il n&#8217;est pas utile de céder au sensationnalisme en décriant des potentielles failles qui n&#8217;ont pas été découvertes et qui n&#8217;ont jamais été exploitées (dans le cas de Xen).</p>
<p>Si nous suivons cette supposition traditionnelle, nous pouvons affirmer que la virtualisation est une technologie sécurisée. Comme toute technologie informatique, il est nécessaire d&#8217;être vigilant lors de son implémentation en suivant quelques règles de bon sens.</p>
<p>Pour revenir au sujet de la présentation effectué lors de la nuit du hack, j&#8217;ai été largement déçu par cette présentation aux conclusions au mieux hâtives et des nombreuses autres imprécisions que je n&#8217;ai pas évoqué ici.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>La sécurité de la virtualisation</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 14:05:57 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1214</guid>
		<description><![CDATA[Ce weekend avait lieu la Nuit du Hack 2010. Il s&#8217;agit d&#8217;un événement orienté vers tous les types de hacking. De nombreuses conférences étaient proposées au public venu pour l&#8217;occasion avec notamment une présentation du hacking de l&#8217;iPhone et de la PS3. Une présentation a particulièrement attiré mon attention mais pas pour de bonnes raisons. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="" width="157" height="140" /></a>Ce weekend avait lieu la <a href="http://www.nuitduhack.com/">Nuit du Hack 2010</a>. Il s&#8217;agit d&#8217;un événement orienté vers tous les types de hacking. De nombreuses conférences étaient proposées au public venu pour l&#8217;occasion avec notamment une présentation du hacking de l&#8217;iPhone et de la PS3.</p>
<p>Une présentation a particulièrement attiré mon attention mais pas pour de bonnes raisons. En fin de soirée avait lieu une conférence intitulé &laquo;&nbsp;Virtualisation et sécurité&nbsp;&raquo;. J&#8217;attendais donc avec impatience cette conférence. Autant dire que cela a été une grande déception. Le sujet était traité d&#8217;un point de vue beaucoup trop global mais, surtout, les informations soutenues étaient plus que discutables.</p>
<p>Je vais donc profiter de cette espace pour tenter d&#8217;éclaircir certains points par rapport à la sécurité de la virtualisation.</p>
<h3>Classification</h3>
<p>Avant de plonger dans l&#8217;étude à proprement dit de la sécurité dans la virtualisation, il est intéressant de se replonger dans la classification des solutions. Lors de la présentation, il avait été différencié les types de virtualisation suivants : &laquo;&nbsp;full virtualisation&nbsp;&raquo;, &laquo;&nbsp;paravirtualisation&nbsp;&raquo; et &laquo;&nbsp;hyperviseurs&nbsp;&raquo;.</p>
<p>Un hyperviseur n&#8217;est pas un type de virtualisation mais une application qui peut effectuer de la virtualisation. Il est possible de les classifier selon deux catégories bien que cette division <a href="http://www.antoinebenkemoun.fr/2009/10/de-la-differenciation-hyperviseur-type-1-type-2/">ne me plaise pas</a> particulièrement.</p>
<h3>La sécurisation de l&#8217;hyperviseur : DoS &amp; DDoS</h3>
<p>Lors de la présentation, le DoS (Denial of Service) et le DDoS (Distributed Denial of Service) ont été désignés comme des solutions simples et efficaces de neutraliser une plateforme de virtualisation.</p>
<p>Dans le cas de Xen, il est pratiquement impossible de communiquer avec l&#8217;hyperviseur. Il ne faut bien sur par confondre hyperviseur et domaine 0 (ou console de gestion dans le cas de VMWare). L&#8217;attaque DoS est donc difficile à imaginer dès le départ. L&#8217;interface de communication avec l&#8217;hyperviseur dont nous disposons est l&#8217;API des hypercalls, remplaçants des appels systèmes classiques dans le cas de la paravirtualisation.</p>
<p>L&#8217;utilisation des ces hypercalls est limitée par les algorithmes d&#8217;ordonnancement système ce qui empêche une utilisation abusive. Il s&#8217;agit du même mécanisme que celui utilisé pour le partage des ressources physiques. Le DoS semble donc impossible par ce biais.</p>
<p>Les outils d&#8217;administration sont également un potentiel point d&#8217;entrée supplémentaire. Ces outils ne sont accessibles qu&#8217;à partir du domaine 0 qui peut difficilement être considéré en tant que VM comme les autres. Un attaque DoS sur le domaine 0 rendrait les mêmes résultats qu&#8217;une attaque DoS sur les autres machines virtuelles étant donné les mécanismes d&#8217;ordonnancement.</p>
<p>La communication avec l&#8217;hyperviseur n&#8217;étant possible que par ces interfaces, il parait impossible d&#8217;y effectuer une attaque DoS capable d&#8217;atteindre toutes les machines virtuelles de la plateforme.</p>
<h3>La sécurisation de l&#8217;hyperviseur : cloisonnement</h3>
<p>Le cloisonnement des machines virtuelles est bien sûr une caractéristique élémentaire d&#8217;une plateforme de virtualisation. Contrairement à ce qui a été dit, l&#8217;hyperviseur n&#8217;a pas &laquo;&nbsp;la main&nbsp;&raquo; sur les machines virtuelles. Il a simplement la possibilité de les éteindre, de les démarrer ou de les mettre en pause. Ni plus, ni moins.</p>
<p>Le cloisonnement est géré par la restriction des accès mémoire. Les hyperviseurs ont été spécifiquement prévus afin d&#8217;éviter un débordement des accès vers la mémoire. Le seul vecteur d&#8217;exploitation de ce type de faille est les hypercalls dans le cas de Xen. A ce jour aucune faille connu permet d&#8217;accéder à des zones mémoires non autorisées.</p>
<p>De plus dans le cas de la virtualisation totale et de la virtualisation matérielle assistée, les machines virtuelles ne disposent même pas d&#8217;interface spécifique avec l&#8217;hyperviseur ce qui rend pratiquement impraticable de ce type de vulnérabilité.</p>
<p>Les risques d&#8217;erreur de cloisonnement ne sont pas inexistants bien entendu cependant il ne faut pas perdre de vue qu&#8217;il s&#8217;agit de l&#8217;objectif même de la conception de l&#8217;hyperviseur et que les machines virtuelles disposent de très peu ou aucune interface de communication avec l&#8217;hyperviseur afin de l&#8217;induire en erreur.</p>
<p>Dans le prochain (et dernier épisode), nous étudierons les autres points abordés lors de la présentation et les risques réels associés à la virtualisation. Loin de moi l&#8217;idée de prêcher la sécurisation totale de la virtualisation, je pense cependant qu&#8217;il est très facile et réducteur d&#8217;agiter des menaces sans fondement pratique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Livre sur la cryptographie : Cryptographie en pratique</title>
		<link>http://www.antoinebenkemoun.fr/2010/05/livre-sur-la-cryptographie-cryptographie-en-pratique/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/05/livre-sur-la-cryptographie-cryptographie-en-pratique/#comments</comments>
		<pubDate>Mon, 17 May 2010 20:26:18 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Humeur]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1157</guid>
		<description><![CDATA[En tant qu&#8217;administrateurs réseau ou systèmes, nous utilisons quotidiennement un élément sur lequel repose la majeure de partie de la sécurité de nos infrastructures : la cryptographie. Nous la retrouvons pour chiffrer les données que nous ne souhaitons pas voir interceptées ou bien pour effectuer de la déduplication de données (au hasard). La cryptographie est [...]]]></description>
			<content:encoded><![CDATA[<p>En tant qu&#8217;administrateurs réseau ou systèmes, nous utilisons quotidiennement un élément sur lequel repose la majeure de partie de la sécurité de nos infrastructures : la cryptographie. Nous la retrouvons pour chiffrer les données que nous ne souhaitons pas voir interceptées ou bien pour effectuer de la <a href="http://www.antoinebenkemoun.fr/2010/05/la-deduplication-de-donnees/">déduplication de données</a> (au hasard). La cryptographie est un élément central dans l&#8217;informatique depuis de très nombreuses années.</p>
<p>Souhaitant mieux comprendre ce domaine, je suis parti à la quête d&#8217;un livre. De nombreux livres en cryptographie ne sont clairement pas tournés vers les informaticiens mais vers le mathématiciens. Un tel niveau de compréhension n&#8217;est pas forcément nécessaire. &laquo;&nbsp;Cryptographie en pratique&nbsp;&raquo; est un ouvrage adapté à notre situation. Un niveau lycée en mathématiques est demandé pour les explications les plus compliquées ainsi qu&#8217;un peu de patience et de relecture pour certains passages.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/41XEZVW1JAL._SS500_.jpg"><img class="size-medium wp-image-1158 aligncenter" title="41XEZVW1JAL._SS500_" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/41XEZVW1JAL._SS500_-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>Ce livre a pour but d&#8217;effectuer un tour d&#8217;horizon des différentes techniques de chiffrement utilisées aujourd&#8217;hui et leurs applications dans le monde réel. Ainsi, vous pourrez comprendre ce qu&#8217;est un MAC ou bien comment fonctionne AES. Les auteurs, <a href="http://www.schneier.com/">Bruce Schenier</a> et <a href="http://fr.wikipedia.org/wiki/Niels_Ferguson">Nils Ferguson</a>, sont de réelles pointures dans la matière et distillent les retours d&#8217;expérience à travers cet ouvrage.</p>
<p>Une partie du contenu de ce livre ne doit plus être tout à fait à jour car il date de 2002 mais une grande partie est clairement atemporel.</p>
<p>Au final, ce livre a été un plaisir à lire et m&#8217;a permis de mieux comprendre le fonctionnement et les enjeux de la cryptographie. Je vous le recommande très chaleureusement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/05/livre-sur-la-cryptographie-cryptographie-en-pratique/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Génération de certificats OpenVPN par lots</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 09:01:39 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1094</guid>
		<description><![CDATA[J&#8217;ai déjà eu l&#8217;occasion de parler d&#8217;OpenVPN plusieurs fois sur ce blog car je pense qu&#8217;il s&#8217;agit d&#8217;une application très intéressante. J&#8217;avais déjà traité l&#8217;installation d&#8217;OpenVPN sur OpenSolaris et le client MacOS Viscosity. Une problématique régulièrement rencontrée est la génération de certificats SSL pour OpenVPN afin de créer des accès utilisateur à un serveur. La [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/02/site_internet.jpg"><img class="alignleft size-medium wp-image-947" title="site_internet" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/02/site_internet-300x225.jpg" alt="" width="189" height="142" /></a>J&#8217;ai déjà eu l&#8217;occasion de parler d&#8217;OpenVPN plusieurs fois sur ce blog car je pense qu&#8217;il s&#8217;agit d&#8217;une application très intéressante. J&#8217;avais déjà traité l&#8217;<a href="http://www.antoinebenkemoun.fr/2010/01/installation-dopenvpn-sur-opensolaris/">installation d&#8217;OpenVPN sur OpenSolaris </a>et le client <a href="http://www.antoinebenkemoun.fr/2009/07/un-client-openvpn-pour-mac-os-viscosity/">MacOS Viscosity</a>. Une problématique régulièrement rencontrée est la génération de certificats SSL pour OpenVPN afin de créer des accès utilisateur à un serveur.</p>
<p>La méthode la plus simple consiste à utiliser les outils <em>easy-rsa</em> en ligne de commande. Ces outils simplifient réellement la tâche par rapport à l&#8217;utilisation directe d&#8217;OpenSSL. Le problème avec l&#8217;utilisation de ces outils est la nécessité d&#8217;interagir avec le terminal. Cet outil va vous demander bon nombre de renseignements tels que le pays, la ville, l&#8217;adresse email, etc. Cette interaction rend compliquée la création par lots de certificats.</p>
<p>Une méthode plus compliquée, mais plus efficace, consiste à adapter les scripts <em>easy-rsa</em> afin de rendre leur utilisation plus linéaire et non interactive afin qu&#8217;un script puisse les exécuter. De plus, j&#8217;ai souhaité donner la possibilité de spécifier la durée de validité du certificat au cas par cas, ce qui n&#8217;est pas possible par défaut.</p>
<p>Le premier script, <em>build-key-batch</em>, permet de créer une clé en spécifiant une durée de validité. Il n&#8217;y a qu&#8217;une toute petite modification qui permet de récupérer la durée de validité passée en argument.</p>
<blockquote><p>#!/bin/sh</p>
<p>if test $# -ne 2; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &laquo;&nbsp;usage: build-key-batch &lt;name&gt; &lt;duree&gt;&nbsp;&raquo;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
fi</p>
<p>if test $KEY_DIR; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd $KEY_DIR &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl req -days $2 -nodes -new -keyout $1.key -out $1.csr -batch -config $KEY_CONFIG &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl ca -days $2 -out $1.crt -in $1.csr -batch -config $KEY_CONFIG &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chmod 0600 $1.key<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo you must define KEY_DIR<br />
fi</p></blockquote>
<p>Par défaut, <em>easy-rsa</em> nécessite d&#8217;exécuter le fichier vars dont le rôle est d&#8217;exporter un certain nombre de variables d&#8217;environnement utilisées par les scripts de génération de clé. Cela ne me convenait pas car je souhaitais exécuter un seul fichier contenant toutes les informations dont je pouvais avoir besoin. J&#8217;ai donc créé un script nommé <em>build-batch</em> qui contient toutes les options.</p>
<blockquote><p>#!/bin/sh<br />
if test $# -ne 2; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &laquo;&nbsp;usage: batch-build &lt;name&gt; &lt;duree&gt;&nbsp;&raquo;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Definition des variables<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export D=`pwd`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CONFIG=$D/openssl.cnf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_DIR=$D/keys<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_SIZE=1024<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_COUNTRY=FR<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_PROVINCE=XX<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CITY=Paris<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_ORG=&nbsp;&raquo;Keeyyyy&nbsp;&raquo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_EMAIL=&nbsp;&raquo;$1&#8243;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CNAME=$1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./build-key-batch $1 $2<br />
fi</p></blockquote>
<p>Ce script nécessite une petite modification du fichier openssl.cnf présent dans le dossier <em>easy-rsa</em> qui est la suivante :</p>
<blockquote><p>commonName                      = Common Name (eg, your name or your server\&#8217;s hostname)<br />
commonName_max                  = 64<br />
++ commonName_default              = $ENV::KEY_CNAME</p></blockquote>
<p>Le script a exécuter afin de générer un certificat est donc <em>build-batch</em> suivi de deux arguments qui sont le nom du certificat et la durée de validité. Vous pourrez ainsi générer des certificats pour OpenVPN simplement et efficacement sans nécessiter une intervention humaine.</p>
<p>Source : <a href="http://intuitinnovations.com/blog/archives/100">insights</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : Conclusion</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-conclusion/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-conclusion/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 19:30:22 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1084</guid>
		<description><![CDATA[Ce billet constituera la 8ème fois que nous parlerons de l&#8217;architecture réseau d&#8217;une LAN Party et plus particulièrement, l&#8217;Utt Arena 2010. Je souhaite conclure par ce billet cette longue série qui m&#8217;a permis de parler d&#8217;une bonne quantité de technologies diverses et variées. Je ne referais pas de bilan spécifique car ce dernier a déjà [...]]]></description>
			<content:encoded><![CDATA[<p>Ce billet constituera la 8ème fois que nous parlerons de l&#8217;architecture réseau d&#8217;une LAN Party et plus particulièrement, l&#8217;Utt Arena 2010. Je souhaite conclure par ce billet cette longue série qui m&#8217;a permis de parler d&#8217;une bonne quantité de technologies diverses et variées.</p>
<p>Je ne referais pas de bilan spécifique car ce dernier a déjà été fait dans un <a href="http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-premier-bilan/">billet précédent</a>. Je n&#8217;ai pas d&#8217;élément à ajouter à ce que j&#8217;ai déjà dit précédemment. Malgré quelques problématiques humaines, je suis satisfait du réseau que nous avons mis en place lors de cette édition de l&#8217;Utt Arena.</p>
<p>Pour commencer cette conclusion, voici un récapitulatif de tous les billets de cette série :</p>
<ul>
<li><a href="../2010/03/architecture-reseau-dune-lan-party-introduction/">Architecture  réseau d’une LAN Party : Introduction</a></li>
<li><a href="../2010/03/architecture-reseau-d%e2%80%99une-lan-party-conception/">Architecture  réseau d’une LAN Party : Conception</a></li>
<li><a href="../2010/03/architecture-reseau-d%e2%80%99une-lan-party-filtrage/">Architecture  réseau d’une LAN Party : Filtrage</a></li>
<li><a href="../2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/">Architecture  réseau d’une LAN Party : Configuration des ASA</a></li>
<li><a href="../2010/04/architecture-reseau-d%e2%80%99une-lan-party-dhcp/">Architecture  réseau d’une LAN Party : DHCP</a></li>
<li><a href="../2010/04/architecture-reseau-d%e2%80%99une-lan-party-la-latence/">Architecture  réseau d’une LAN Party : La latence</a></li>
<li><a href="../2010/04/architecture-reseau-d%e2%80%99une-lan-party-premier-bilan/">Architecture  réseau d’une LAN Party : Premier bilan</a></li>
</ul>
<p>Ensuite, je vous ai fait un <a href="http://www.antoinebenkemoun.fr/data/conf-lan-ua.tgz">paquet</a> avec toutes les configurations des équipements. Il s&#8217;agit des configurations que nous avons sauvegardé à la fin de l&#8217;événement, elle n&#8217;inclut donc pas la configuration avant la transition vers les ASA. Pour rappel, les 3750 s&#8217;appellaient Kilimandjaro et StHelens et les ASA s&#8217;appellaient Etna, Kilauea, Fuji et Pinatubo.</p>
<p>Nous avons mis en place une weathermap lors de l&#8217;événement dont voici une capture. A ce moment, les joueurs tentaient de récupérer le GUI CS:Source. La bande passante du serveur étant limitée à 100Mbit/s, la montée en couleur a été réduite. Si vous souhaitez visionner la carte en taille réelle, il suffit de cliquer dessus.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/Weathermap3.png"><img class="size-medium wp-image-1087 aligncenter" title="Weathermap3" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/Weathermap3-300x176.png" alt="" width="300" height="176" /></a></p>
<p style="text-align: left;">Les résultats de Smokeping ont été également très satisfaisants. La capture d&#8217;écran ci-dessous montre un graph de la latence entre le serveur Smokeping et une interface IP d&#8217;une 3750 dans le LAN des joueurs. Les données avant le &laquo;&nbsp;trou&nbsp;&raquo; correspondent aux mesures faites avant la transition vers les ASA. On remarque un pic de latence suite à la transition. Cela correspond à la récupération du GUI par les joueurs et n&#8217;a donc pas impacté les tournois.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/SmokePing-CS4-30h.png"><img class="size-medium wp-image-1089   aligncenter" title="SmokePing-CS4-30h" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/SmokePing-CS4-30h-300x136.png" alt="" width="300" height="136" /></a></p>
<p style="text-align: left;">Pour ceux que cela pourrait intéresser, j&#8217;ai fait un <a href="http://www.antoinebenkemoun.fr/data/graphs_ua.zip" class="broken_link" rel="nofollow">paquet</a> contenant de nombreux graphs que j&#8217;ai pu sauvegarder le dernier jour de la LAN avant de tout déconnecter. Il y a de nombreux graphs incluant notamment les uplinks vers les tables et les interfaces des ASA.</p>
<p style="text-align: left;">Au final, la gestion du réseau de cet événement fut un réel plaisir et m&#8217;a permis d&#8217;acquérir de nouvelles compétences notamment au niveau de l&#8217;utilisation des Cisco ASA et 3750 mais aussi des outils Cacti et Smokeping. Ici s&#8217;achève donc la plus longue série de billets de ce blog jusqu&#8217;à présent.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-conclusion/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : Premier bilan</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-premier-bilan/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-premier-bilan/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 07:43:44 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Fibre Optique]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1062</guid>
		<description><![CDATA[Ce billet servira de premier bilan en ce qui concerne le réseau de l&#8217;Utt Arena 2010. Je m&#8217;excuse d&#8217;avance si ce billet n&#8217;est pas des plus clairs mais la fatigue se fait réellement sentir au troisième jour de LAN. Je vais effectuer un bilan technique des solutions que nous avons implémenté. Phase 1 Tout d&#8217;abord, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="192" height="144" /></a>Ce billet servira de premier bilan en ce qui concerne le réseau de l&#8217;Utt Arena 2010. Je m&#8217;excuse d&#8217;avance si ce billet n&#8217;est pas des plus clairs mais la fatigue se fait réellement sentir au troisième jour de LAN. Je vais effectuer un bilan technique des solutions que nous avons implémenté.</p>
<h3>Phase 1</h3>
<p>Tout d&#8217;abord, nous n&#8217;avions pas la possibilité d&#8217;avoir les équipements réseau type Cisco ASA et 2800 avant le Samedi midi car ils n&#8217;arrivaient pas avant ce moment là. Nous avons donc du faire avec une solution secondaire par le biais des 3750. Cela était parfaitement prévu depuis quelques semaines mais je n&#8217;avais pas souhaité en parler afin d&#8217;éviter l&#8217;effet placebo lors de la transition vers le réseau définitif.</p>
<p>La mise en place des deux 3750 s&#8217;est faite sans aucun soucis particulier. Le premier 3750 nommé Kilimandjaro disposait d&#8217;une interface IP dans tous les VLAN et effectuer le routage entre ces derniers. Le second 3750 nommé StHelens avait pour seule fonctionnalité la commutation des paquets associées à ses interfaces. Nous avions également prévu ce second 3750 afin d&#8217;avoir une solution de secours en cas de panne du premier 3750.</p>
<h3>Transition</h3>
<p>Lorsque les ASA sont arrivés, nous avons dû effectuer la transition du réseau initial vers le réseau prévu. Les joueurs n&#8217;ont pas été mis au courant de ce changement afin d&#8217;éviter un effet placebo qui correspondrait à voir des pannes partout sans réelle raison. Les organisateurs ont cependant été mis au courant ce qui a provoqué une avalanche de remontées de problèmes divers et, en grande partie, sans aucun rapport avec transition. La gestion des remontées de ces problèmes a été plutôt mauvaise car tous les organisateurs remontaient vers l&#8217;équipe réseau tous les problèmes, incluant ceux n&#8217;ayant aucun rapport de près ou de loin avec le réseau.</p>
<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/IMG_29481.png"><img class="size-medium wp-image-1073 alignright" title="IMG_2948" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/IMG_29481-225x300.png" alt="" width="225" height="300" /></a>Nous avons racké les ASA dans la baie prévue à cet effet. J&#8217;évoquerais l&#8217;architecture physique ultérieurement. Nous avons ensuite injecté les configurations en port série et nous avons validé que nous avions bien un accès Telnet à ses équipements afin d&#8217;éviter de mauvaises surprises. Nous avons ensuite connecté tous les ports de Management et d&#8217;interconnexion des ASA afin qu&#8217;ils prennent connaissance de la topologie IP. Nous avons ensuite basculé les interfaces IP du 3750 vers les ASA une par une. Nous avons tout de même laissé une interface par VLAN sur les 3750 pour la fonctionnalité DHCP. Pour les routeurs, nous avons appliqué une méthodologie similaire.</p>
<p>Lors de la transition, nous avions donc une partie des VLAN routés par le 3750 et une partie des VLAN routés par les ASA/2800. Cette configuration temporaire a impliqué un routage asymétrique. Autant les routeurs sont peu sensibles aux asymétries de routage, les ASA ne le sont pas car ils effectuent un suivi de la session TCP. Nous avons réussir à contenir en bonne partie l&#8217;asymétrie du routage en jouant avec les identifiants de routeur OSPF ou du moins on pense que ce fut le cas. De toute manière, la transition a duré une petite heure.</p>
<p>Une fois la topologie reconstituée, nous avons coupé l&#8217;OSPF sur le 3750 afin qu&#8217;il soit exclu du processus de routage et nous avons laissé les ASA et les 2800 faire leur travail. Une coupure d&#8217;une trentaine de secondes est induite par la réélection OSPF et le recalcul des routes.</p>
<h3>Phase 2</h3>
<p>Une fois toute l&#8217;architecture en place, nous avons pu commencé à débugger nos configurations. Nous avons essentiellement eu des soucis de configuration de VLAN sur les switchs que nous avons mis un peu de temps à corriger. Les remontées de problèmes pertinentes ont mis un peu de temps à nous parvenir réellement car elles étaient noyées dans un volume assez important de demandes.</p>
<p>Nous n&#8217;avons pas rencontré de problème particulier lié à notre architecture réseau suite aux reconfigurations initiales. Les joueurs Warcraft III ont rencontré de nombreux problèmes de connexion aux parties alors qu&#8217;ils étaient tous dans le même VLAN voire sur le même switch. Nous n&#8217;avons pas réussi à déterminer l&#8217;origine de ce problème épisodique. La piste d&#8217;un applicatif malicieux est privilégiée car de multiples changements de switch et un passage en IP fixe n&#8217;ont apporté aucune solution à ce problème. La latence est tout à fait correcte selon nos mesures bien que nous rencontrons quelques problèmes du coté des serveurs CSS qui se montrent quelque peu capricieux. Nous avons mis le LLQ pour le principe mais la différence de latence ne parait pas significative.</p>
<p>Au final, la préparation nous a permis d&#8217;effectuer une transition propre et plutôt efficace. La vraie difficulté a été la qualification et la pertinence des problèmes remontés aux administrateurs réseaux. Je referais un point une fois l&#8217;évènement passé.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-premier-bilan/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : Configuration des ASA</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 20:43:24 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[LAN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1015</guid>
		<description><![CDATA[Ce billet fait suite au précédent qui avait eu pour objectif de définir le contexte de filtrage IP que nous souhaitons mettre en place. Aujourd&#8217;hui, nous allons faire un tour de vue du fonctionnement de nos équipements de sécurité et de routage : les Cisco ASA 5510. Avant de rentrer dans le vif du sujet, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="189" height="142" /></a>Ce billet fait suite au précédent qui avait eu pour objectif de définir le contexte de filtrage IP que nous souhaitons mettre en place. Aujourd&#8217;hui, nous allons faire un tour de vue du fonctionnement de nos équipements de sécurité et de routage : les Cisco ASA 5510.</p>
<p>Avant de rentrer dans le vif du sujet, arrêtons-nous pour faire un petit point d&#8217;avancement. Nous commençons à avoir des configurations de base relativement solides qui nous permettent de déployer la topologie IP du réseau à chaque session de travail. Le montage de cette topologie ne pose désormais plus de problème particulier. Nous avons réussi à résoudre le problème de la communication entre deux interfaces d&#8217;un même ASA. La résolution de ce problème nous a permis de simplifier grandement nos configurations en supprimant toutes les identités NAT des interfaces à security-level 100, soit toutes nos interfaces internes. Je suis content de notre avancement et nous devrions aboutir sur une préparation satisfaisante.</p>
<p>Les ASA sont la gamme d&#8217;équipements de sécurité Cisco orientés vers l&#8217;entreprise. J&#8217;emplois le terme d&#8217;équipement de sécurité et non de pare-feu car cette terminologie est bien plus proche de la réalité. Les fonctionnalités d&#8217;un ASA dépassent très largement celles de filtrage protocolaire IP, TCP et UDP. Je vous laisse consulter la liste de fonctionnalités sur le <a href="http://www.cisco.com/en/US/products/ps6120/prod_models_comparison.html">site de Cisco</a>. Nous avons également une carte SSM-AIP pour chaque ASA permettant de faire de l&#8217;IPS ce que nous utiliserons pendant l&#8217;événement si nous nous ennuyons (sait-on jamais).</p>
<p>Nous avons 4 équipements Cisco ASA 5510 à notre disposition. La version logicielle associée est la version &laquo;&nbsp;Base&nbsp;&raquo; contrairement à son équivalent haut de gamme, &laquo;&nbsp;Security Plus&nbsp;&raquo;. La différence entre ces deux versions est réellement énorme. La version &laquo;&nbsp;Security Plus&nbsp;&raquo; permet de transformer deux interfaces 10/100 en interfaces Gigabit, de débloquer l&#8217;interface 3 et d&#8217;utiliser le port de &laquo;&nbsp;Management&nbsp;&raquo; en tant qu&#8217;interface de données.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/CiscoASA5510.jpg"><img class="size-medium wp-image-1024 aligncenter" title="CiscoASA5510" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/CiscoASA5510-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>La configuration des ASA est légèrement différente de celle de routeurs Cisco classiques. Cette différence est liée au fait que les ASA ne sont pas basés sur un IOS mais un &laquo;&nbsp;Security Appliance OS&nbsp;&raquo;. Il y a de nombreuses similarités mais suffisamment de différences pour devoir se documenter spécifiquement.</p>
<p>Je ne vais pas pouvoir détailler toute la configuration des Cisco ASA dans ce billet car il ferait de très nombreuses pages. Je vais cependant relever les points clés qui nous ont posé problème.</p>
<p>Tout d&#8217;abord, les ASA sont faits pour faire du NAT entre toutes les interfaces par défaut. Ceci vient de leur héritage historique vis-à-vis des PIX. Ce comportement induit la nécessité d&#8217;effectuer de très nombreuses règles de NAT. Il est, heureusement, possible de désactiver ce comportement grâce à la commande &laquo;&nbsp;<em>no nat-control</em> &laquo;&nbsp;. Une fois le nat-control désactivé, il sera possible de router en direct entre les interfaces tant qu&#8217;on effectue une descente dans les security-level. Il sera nécessaire de faire une petite règle de NAT afin de remonter les security-level. Il est cependant tout à fait possible d&#8217;effectuer une règle de NAT qui ne modifie aucunement les adresses IP ni les ports afin que l&#8217;ASA se comporte comme un routeur.</p>
<p>Ensuite, les ASA considèrent par défaut que du trafic entre deux interfaces de même security-level effectue une montée de security-level. Ce comportement implique la création de nouvelles règles de NAT. Afin d&#8217;éviter ce comportement et de minimiser les lignes de configuration, il est possible d&#8217;utiliser la commande &laquo;&nbsp;<em>same-security-traffic permit inter-interface</em> &laquo;&nbsp;. Ainsi, vous simplifiez votre configuration ce qui est très intéressant.</p>
<p>Je mets à votre disposition la <a href="http://www.antoinebenkemoun.fr/data/Conf-Fuji.txt">configuration</a> de l&#8217;ASA nommé <a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/TopoLogique.png">Fuji</a> afin que vous puissiez y jeter un regard plus approfondi que mes explications assez superficielles. Il manque les ACL de filtrage en mode tournoi car nous ne les avons pas encore intégrées ainsi que le paramétrage avancé de l&#8217;OSPF.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
